You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2023/04/20 01:13:32 UTC
[iotdb] branch master updated: Fix potential Npe of ShuffleSinkHandle
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 544a33b0a6 Fix potential Npe of ShuffleSinkHandle
544a33b0a6 is described below
commit 544a33b0a6cbf5cc136d2861d5de6159b803474c
Author: Liao Lanyu <14...@qq.com>
AuthorDate: Thu Apr 20 09:13:23 2023 +0800
Fix potential Npe of ShuffleSinkHandle
---
.../apache/iotdb/db/mpp/execution/exchange/sink/SinkChannel.java | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/sink/SinkChannel.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/sink/SinkChannel.java
index fd11f74990..9c8f8449fe 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/sink/SinkChannel.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/sink/SinkChannel.java
@@ -50,6 +50,7 @@ import java.util.List;
import java.util.Map.Entry;
import java.util.concurrent.ExecutorService;
+import static com.google.common.util.concurrent.Futures.immediateVoidFuture;
import static com.google.common.util.concurrent.Futures.nonCancellationPropagating;
import static org.apache.iotdb.db.mpp.common.FragmentInstanceId.createFullId;
import static org.apache.iotdb.db.mpp.metric.DataExchangeCostMetricSet.SEND_NEW_DATA_BLOCK_EVENT_TASK_CALLER;
@@ -149,6 +150,11 @@ public class SinkChannel implements ISinkChannel {
@Override
public synchronized ListenableFuture<?> isFull() {
checkState();
+ // blocked could be null if this channel is closed before it is opened by ShuffleSinkHandle
+ // return immediateVoidFuture() to avoid NPE
+ if (closed) {
+ return immediateVoidFuture();
+ }
return nonCancellationPropagating(blocked);
}