diff --git a/CHANGES.txt b/CHANGES.txt index 5293580bfc..a849897c2d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,6 @@ 2.1.0 +Merged from 2.0: + * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323) Merged from 1.2: * Use LOCAL_ONE for non-superuser auth queries (CASSANDRA-7328) diff --git a/src/java/org/apache/cassandra/streaming/StreamTransferTask.java b/src/java/org/apache/cassandra/streaming/StreamTransferTask.java index 2f3795620a..2fe75fab91 100644 --- a/src/java/org/apache/cassandra/streaming/StreamTransferTask.java +++ b/src/java/org/apache/cassandra/streaming/StreamTransferTask.java @@ -99,11 +99,12 @@ public class StreamTransferTask extends StreamTask return new ArrayList<>(files.values()); } - public OutgoingFileMessage createMessageForRetry(int sequenceNumber) + public synchronized OutgoingFileMessage createMessageForRetry(int sequenceNumber) { // remove previous time out task to be rescheduled later ScheduledFuture future = timeoutTasks.get(sequenceNumber); - future.cancel(false); + if (future != null) + future.cancel(false); return files.get(sequenceNumber); }