From 1866b8ec73c222b241172e154c84e7e8b9888a61 Mon Sep 17 00:00:00 2001 From: Alex Petrov Date: Mon, 9 Sep 2024 15:05:32 +0200 Subject: [PATCH] Fix Journal segment allocation/switch race condition Patch by Alex Petrov; reviewed by Aleksey Yeschenko for CASSANDRA-19866 --- src/java/org/apache/cassandra/journal/Journal.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/java/org/apache/cassandra/journal/Journal.java b/src/java/org/apache/cassandra/journal/Journal.java index c092363af7..50a3058ec9 100644 --- a/src/java/org/apache/cassandra/journal/Journal.java +++ b/src/java/org/apache/cassandra/journal/Journal.java @@ -198,6 +198,10 @@ public class Journal implements Shutdownable public boolean isFlushed(RecordPointer recordPointer) { + Segment current = currentSegment; + if (current.descriptor.timestamp == recordPointer.segment) + return current.isFlushed(recordPointer.position); + return segments.get().isFlushed(recordPointer); }