diff --git a/storage/src/main/java/org/apache/kafka/storage/internals/log/ProducerStateManager.java b/storage/src/main/java/org/apache/kafka/storage/internals/log/ProducerStateManager.java index 5aafa176624..994f34744e4 100644 --- a/storage/src/main/java/org/apache/kafka/storage/internals/log/ProducerStateManager.java +++ b/storage/src/main/java/org/apache/kafka/storage/internals/log/ProducerStateManager.java @@ -24,6 +24,7 @@ import org.apache.kafka.common.utils.ByteUtils; import org.apache.kafka.common.utils.Crc32C; import org.apache.kafka.common.utils.LogContext; import org.apache.kafka.common.utils.Time; +import org.apache.kafka.common.utils.Utils; import org.apache.kafka.server.log.remote.metadata.storage.generated.ProducerSnapshot; import org.slf4j.Logger; @@ -684,7 +685,7 @@ public class ProducerStateManager { ByteUtils.writeUnsignedInt(buffer, CRC_OFFSET, crc); try (FileChannel fileChannel = FileChannel.open(file.toPath(), StandardOpenOption.CREATE, StandardOpenOption.WRITE)) { - fileChannel.write(buffer); + Utils.writeFully(fileChannel, buffer); if (sync) { fileChannel.force(true); }