Skip to content

Commit 89d7ef4

Browse files
committed
Fix aligned chunk partition order in TsFile splitter
1 parent c5f2f8b commit 89d7ef4

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/splitter

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/splitter/TsFileSplitter.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
import java.util.ArrayList;
5959
import java.util.HashMap;
6060
import java.util.HashSet;
61+
import java.util.LinkedHashMap;
6162
import java.util.List;
6263
import java.util.Map;
6364
import java.util.Set;
@@ -71,7 +72,7 @@ public class TsFileSplitter {
7172
private final TsFileDataConsumer consumer;
7273
private Map<Long, IChunkMetadata> offset2ChunkMetadata = new HashMap<>();
7374
private List<ModEntry> deletions = new ArrayList<>();
74-
private Map<Integer, List<AlignedChunkData>> pageIndex2ChunkData = new HashMap<>();
75+
private Map<Integer, List<AlignedChunkData>> pageIndex2ChunkData = new LinkedHashMap<>();
7576
private Map<Integer, long[]> pageIndex2Times = new HashMap<>();
7677
private boolean isTimeChunkNeedDecode = true;
7778
private IDeviceID curDevice = null;
@@ -169,7 +170,7 @@ private void processTimeChunkOrNonAlignedChunk(TsFileSequenceReader reader, byte
169170
== TsFileConstant.TIME_COLUMN_MASK);
170171
if (isAligned) {
171172
pageIndex2Times = new HashMap<>();
172-
pageIndex2ChunkData = new HashMap<>();
173+
pageIndex2ChunkData = new LinkedHashMap<>();
173174
isTimeChunkNeedDecode = true;
174175
}
175176

@@ -436,7 +437,7 @@ private void consumeAllAlignedChunkData(
436437
return;
437438
}
438439

439-
Map<AlignedChunkData, BatchedAlignedValueChunkData> chunkDataMap = new HashMap<>();
440+
Map<AlignedChunkData, BatchedAlignedValueChunkData> chunkDataMap = new LinkedHashMap<>();
440441
for (Map.Entry<Integer, List<AlignedChunkData>> entry : pageIndex2ChunkData.entrySet()) {
441442
List<AlignedChunkData> alignedChunkDataList = entry.getValue();
442443
for (int i = 0; i < alignedChunkDataList.size(); i++) {
@@ -462,7 +463,7 @@ private void consumeAllAlignedChunkData(
462463
offset, chunkData));
463464
}
464465
}
465-
this.pageIndex2ChunkData = new HashMap<>();
466+
this.pageIndex2ChunkData = new LinkedHashMap<>();
466467
}
467468

468469
private void consumeChunkData(String measurement, long offset, ChunkData chunkData)

0 commit comments

Comments
 (0)