diff --git a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/buffer/DataBufferThreadContainer.java b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/buffer/DataBufferThreadContainer.java index 209255b72..9c4449c3d 100644 --- a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/buffer/DataBufferThreadContainer.java +++ b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/buffer/DataBufferThreadContainer.java @@ -37,15 +37,17 @@ public class DataBufferThreadContainer { logger.info("Pending file number :" + dataFileList.length); if (dataFileList.length > 0) { int step = (int) Math.ceil(dataFileList.length * 1.0 / MAX_APPEND_EOF_FLAGS_THREAD_NUMBER); + int start = 0, end = 0; while (true) { if (end + step >= dataFileList.length) { - new AppendEOFFlagThread(Arrays.copyOf(dataFileList, start)).start(); + new AppendEOFFlagThread(Arrays.copyOfRange(dataFileList, start, dataFileList.length)).start(); break; } end += step; new AppendEOFFlagThread(Arrays.copyOfRange(dataFileList, start, end)).start(); start = end; + logger.debug("start:" + start + "\tend:" + end); } } logger.info("Data buffer thread size {} begin to init ", MAX_THREAD_NUMBER); @@ -55,5 +57,4 @@ public class DataBufferThreadContainer { buffers.add(dataBufferThread); } } - }