From 99cc3adbd9a56c3209e652f74a23ce51a5f2b249 Mon Sep 17 00:00:00 2001 From: yuhailong Date: Fri, 6 Feb 2026 22:03:32 +0800 Subject: [PATCH] [Issue 1291] CLI can not exit properly after use LOAD command --- .../io/pixelsdb/pixels/storage/s3/io/S3OutputStream.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pixels-storage/pixels-storage-s3/src/main/java/io/pixelsdb/pixels/storage/s3/io/S3OutputStream.java b/pixels-storage/pixels-storage-s3/src/main/java/io/pixelsdb/pixels/storage/s3/io/S3OutputStream.java index 12e2cde226..91f8910eaf 100644 --- a/pixels-storage/pixels-storage-s3/src/main/java/io/pixelsdb/pixels/storage/s3/io/S3OutputStream.java +++ b/pixels-storage/pixels-storage-s3/src/main/java/io/pixelsdb/pixels/storage/s3/io/S3OutputStream.java @@ -118,7 +118,14 @@ public class S3OutputStream extends OutputStream static { maxConcurrency = Integer.parseInt(ConfigFactory.Instance().getProperty("s3.client.service.threads")); - uploadService = Executors.newFixedThreadPool(maxConcurrency); + + //Fix https://github.com/pixelsdb/pixels/issues/1291 + uploadService = Executors.newFixedThreadPool(maxConcurrency, runnable -> { + Thread thread = new Thread(runnable); + thread.setDaemon(true); + thread.setName(String.format("s3-upload-daemon-thread-%d", thread.getId())); + return thread; + }); enableRetry = Boolean.parseBoolean(ConfigFactory.Instance().getProperty("read.request.enable.retry")); if (enableRetry)