diff --git a/plugin/trino-exchange/src/main/java/io/trino/plugin/exchange/FileSystemExchangeSink.java b/plugin/trino-exchange/src/main/java/io/trino/plugin/exchange/FileSystemExchangeSink.java index d1cad117b24a..c344bb2416d9 100644 --- a/plugin/trino-exchange/src/main/java/io/trino/plugin/exchange/FileSystemExchangeSink.java +++ b/plugin/trino-exchange/src/main/java/io/trino/plugin/exchange/FileSystemExchangeSink.java @@ -259,7 +259,7 @@ private void writeInternal(Slice slice) private void flushIfNeeded(boolean finished) { SliceOutput buffer = currentBuffer; - if (!buffer.isWritable() || finished) { + if (buffer != null && (!buffer.isWritable() || finished)) { if (!buffer.isWritable()) { currentBuffer = null; }