Skip to content

Commit 03188e9

Browse files
luoluoyuyuSyncGithubBot
authored andcommitted
[To dev/1.3] Pipe: Fixed the problem of null pointer and incorrect Tablet format being modified during TSFile construction (apache#15602) (apache#15623)
1 parent eb19006 commit 03188e9

1 file changed

Lines changed: 5 additions & 6 deletions

File tree

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/payload/evolvable/batch/PipeTabletEventTsFileBatch.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -549,10 +549,9 @@ private void writeTabletsIntoOneFile(
549549
for (int i = 0, size = tabletList.size(); i < size; ++i) {
550550
final Tablet tablet = tabletList.get(i);
551551

552-
// convert date value to int
553-
// refer to
552+
// convert date value to int refer to
554553
// org.apache.iotdb.db.storageengine.dataregion.memtable.WritableMemChunk.writeNonAlignedTablet
555-
final Object[] values = tablet.values;
554+
final Object[] values = Arrays.copyOf(tablet.values, tablet.values.length);
556555
for (int j = 0; j < tablet.getSchemas().size(); ++j) {
557556
final MeasurementSchema schema = tablet.getSchemas().get(j);
558557
if (Objects.nonNull(schema)
@@ -573,16 +572,16 @@ private void writeTabletsIntoOneFile(
573572
new PartialPath(tablet.deviceId),
574573
isTabletAlignedList.get(i),
575574
tablet.getSchemas().stream()
576-
.map(MeasurementSchema::getMeasurementId)
575+
.map(m -> Objects.nonNull(m) ? m.getMeasurementId() : null)
577576
.toArray(String[]::new),
578577
tablet.getSchemas().stream()
579-
.map(MeasurementSchema::getType)
578+
.map(m -> Objects.nonNull(m) ? m.getType() : null)
580579
.toArray(TSDataType[]::new),
581580
// TODO: cast
582581
tablet.getSchemas().toArray(new MeasurementSchema[0]),
583582
tablet.timestamps,
584583
tablet.bitMaps,
585-
tablet.values,
584+
values,
586585
tablet.rowSize);
587586

588587
final int start = 0;

0 commit comments

Comments
 (0)