This is an automated email from the ASF dual-hosted git repository. sunzesong pushed a commit to branch jira_1433 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit d06172d8a60324ca8c542ccf1620b1ddbb257992 Author: samperson1997 <[email protected]> AuthorDate: Fri Jun 11 10:32:44 2021 +0800 [IOTDB-1433] Fix bug in getMetadataAndEndOffset when querying non-exist device --- .../main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java | 2 +- .../tsfile/read/MeasurementChunkMetadataListMapIteratorTest.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java index 4992770..a6253f4 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java @@ -773,7 +773,7 @@ public class TsFileSequenceReader implements AutoCloseable { metadataIndex.getChildIndexEntry(name, false); ByteBuffer buffer = readData(childIndexEntry.left.getOffset(), childIndexEntry.right); return getMetadataAndEndOffset( - MetadataIndexNode.deserializeFrom(buffer), name, isDeviceLevel, false); + MetadataIndexNode.deserializeFrom(buffer), name, isDeviceLevel, exactSearch); } } catch (BufferOverflowException e) { logger.error("Something error happened while deserializing MetadataIndex of file {}", file); diff --git a/tsfile/src/test/java/org/apache/iotdb/tsfile/read/MeasurementChunkMetadataListMapIteratorTest.java b/tsfile/src/test/java/org/apache/iotdb/tsfile/read/MeasurementChunkMetadataListMapIteratorTest.java index 7c72a0d..2642a75 100644 --- a/tsfile/src/test/java/org/apache/iotdb/tsfile/read/MeasurementChunkMetadataListMapIteratorTest.java +++ b/tsfile/src/test/java/org/apache/iotdb/tsfile/read/MeasurementChunkMetadataListMapIteratorTest.java @@ -153,6 +153,11 @@ public class MeasurementChunkMetadataListMapIteratorTest { checkCorrectness(expected, actual); } + + // test not exist device + Iterator<Map<String, List<ChunkMetadata>>> iterator = + fileReader.getMeasurementChunkMetadataListMapIterator("dd"); + Assert.assertFalse(iterator.hasNext()); } FileGenerator.after();
