You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2021/03/12 08:08:39 UTC
[iotdb] 04/07: fix conflicts
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch TYQuery
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit fe923645aa28737cac4979ee999e7d190a9992d1
Author: JackieTien97 <Ja...@foxmail.com>
AuthorDate: Thu Mar 11 20:06:46 2021 +0800
fix conflicts
---
.../db/engine/cache/TimeSeriesMetadataCache.java | 5 ++--
.../iotdb/db/engine/merge/task/MergeFileTask.java | 21 +++++++++--------
.../iotdb/tsfile/file/metadata/IChunkMetadata.java | 4 ++++
.../tsfile/file/metadata/TimeseriesMetadata.java | 4 ++--
.../tsfile/file/metadata/VectorChunkMetadata.java | 6 +++++
.../iotdb/tsfile/read/TsFileSequenceReader.java | 27 +++++++++++++---------
.../read/controller/MetadataQuerierByFileImpl.java | 23 +++++++++---------
.../query/executor/ExecutorWithTimeGenerator.java | 4 ++--
.../tsfile/read/query/executor/TsFileExecutor.java | 4 ++--
.../query/timegenerator/TsFileTimeGenerator.java | 4 ++--
.../tsfile/read/reader/page/TimePageReader.java | 3 +--
.../reader/series/AbstractFileSeriesReader.java | 14 +++++------
.../read/reader/series/EmptyFileSeriesReader.java | 6 ++---
.../read/reader/series/FileSeriesReader.java | 9 ++++----
.../reader/series/FileSeriesReaderByTimestamp.java | 13 ++++++-----
.../tsfile/v2/read/TsFileSequenceReaderForV2.java | 23 +++++++++---------
.../write/writer/RestorableTsFileIOWriter.java | 9 ++++----
.../iotdb/tsfile/write/writer/TsFileIOWriter.java | 17 +++++++-------
.../query/timegenerator/ReaderByTimestampTest.java | 4 ++--
19 files changed, 110 insertions(+), 90 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCache.java b/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCache.java
index d6ad1f4..6a286c5 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCache.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCache.java
@@ -25,6 +25,7 @@ import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.query.control.FileReaderManager;
import org.apache.iotdb.db.utils.TestOnly;
import org.apache.iotdb.tsfile.common.cache.Accountable;
+import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
import org.apache.iotdb.tsfile.file.metadata.TimeseriesMetadata;
import org.apache.iotdb.tsfile.read.TsFileSequenceReader;
import org.apache.iotdb.tsfile.read.common.Path;
@@ -90,7 +91,7 @@ public class TimeSeriesMetadataCache {
+ RamUsageEstimator.shallowSizeOf(value)
+ RamUsageEstimator.sizeOf(value.getMeasurementId())
+ RamUsageEstimator.shallowSizeOf(value.getStatistics())
- + (value.getChunkMetadataList().get(0).calculateRamSize()
+ + (((ChunkMetadata) value.getChunkMetadataList().get(0)).calculateRamSize()
+ RamUsageEstimator.NUM_BYTES_OBJECT_REF)
* value.getChunkMetadataList().size()
+ RamUsageEstimator.shallowSizeOf(value.getChunkMetadataList());
@@ -106,7 +107,7 @@ public class TimeSeriesMetadataCache {
+ RamUsageEstimator.shallowSizeOf(value)
+ RamUsageEstimator.sizeOf(value.getMeasurementId())
+ RamUsageEstimator.shallowSizeOf(value.getStatistics())
- + (value.getChunkMetadataList().get(0).calculateRamSize()
+ + (((ChunkMetadata) value.getChunkMetadataList().get(0)).calculateRamSize()
+ RamUsageEstimator.NUM_BYTES_OBJECT_REF)
* value.getChunkMetadataList().size()
+ RamUsageEstimator.shallowSizeOf(value.getChunkMetadataList());
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java b/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java
index 0b209de..1f60fa1 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java
@@ -30,6 +30,7 @@ import org.apache.iotdb.db.metadata.PartialPath;
import org.apache.iotdb.db.query.control.FileReaderManager;
import org.apache.iotdb.tsfile.exception.write.TsFileNotCompleteException;
import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
+import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
import org.apache.iotdb.tsfile.fileSystem.fsFactory.FSFactory;
import org.apache.iotdb.tsfile.read.TsFileSequenceReader;
@@ -173,16 +174,16 @@ class MergeFileTask {
newFileWriter.close();
try (TsFileSequenceReader newFileReader =
new TsFileSequenceReader(newFileWriter.getFile().getPath())) {
- Map<String, List<ChunkMetadata>> chunkMetadataListInChunkGroups =
+ Map<String, List<IChunkMetadata>> chunkMetadataListInChunkGroups =
newFileWriter.getDeviceChunkMetadataMap();
if (logger.isDebugEnabled()) {
logger.debug(
"{} find {} merged chunk groups", taskName, chunkMetadataListInChunkGroups.size());
}
- for (Map.Entry<String, List<ChunkMetadata>> entry :
+ for (Map.Entry<String, List<IChunkMetadata>> entry :
chunkMetadataListInChunkGroups.entrySet()) {
String deviceId = entry.getKey();
- List<ChunkMetadata> chunkMetadataList = entry.getValue();
+ List<IChunkMetadata> chunkMetadataList = entry.getValue();
writeMergedChunkGroup(chunkMetadataList, deviceId, newFileReader, oldFileWriter);
if (Thread.interrupted()) {
@@ -210,10 +211,10 @@ class MergeFileTask {
private void updateStartTimeAndEndTime(TsFileResource seqFile, TsFileIOWriter fileWriter) {
// TODO change to get one timeseries block each time
- for (Entry<String, List<ChunkMetadata>> deviceChunkMetadataEntry :
+ for (Entry<String, List<IChunkMetadata>> deviceChunkMetadataEntry :
fileWriter.getDeviceChunkMetadataMap().entrySet()) {
String device = deviceChunkMetadataEntry.getKey();
- for (ChunkMetadata chunkMetadata : deviceChunkMetadataEntry.getValue()) {
+ for (IChunkMetadata chunkMetadata : deviceChunkMetadataEntry.getValue()) {
seqFile.updateStartTime(device, chunkMetadata.getStartTime());
seqFile.updateEndTime(device, chunkMetadata.getEndTime());
}
@@ -263,16 +264,16 @@ class MergeFileTask {
}
private void writeMergedChunkGroup(
- List<ChunkMetadata> chunkMetadataList,
+ List<IChunkMetadata> chunkMetadataList,
String device,
TsFileSequenceReader reader,
TsFileIOWriter fileWriter)
throws IOException {
fileWriter.startChunkGroup(device);
- for (ChunkMetadata chunkMetaData : chunkMetadataList) {
- Chunk chunk = reader.readMemChunk(chunkMetaData);
- fileWriter.writeChunk(chunk, chunkMetaData);
- context.incTotalPointWritten(chunkMetaData.getNumOfPoints());
+ for (IChunkMetadata chunkMetaData : chunkMetadataList) {
+ Chunk chunk = reader.readMemChunk((ChunkMetadata) chunkMetaData);
+ fileWriter.writeChunk(chunk, (ChunkMetadata) chunkMetaData);
+ context.incTotalPointWritten(((ChunkMetadata) chunkMetaData).getNumOfPoints());
}
fileWriter.endChunkGroup();
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/IChunkMetadata.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/IChunkMetadata.java
index 4e880e0..4dec6c7 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/IChunkMetadata.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/IChunkMetadata.java
@@ -23,6 +23,8 @@ import org.apache.iotdb.tsfile.file.metadata.statistics.Statistics;
import org.apache.iotdb.tsfile.read.common.TimeRange;
import org.apache.iotdb.tsfile.read.controller.IChunkLoader;
+import java.io.IOException;
+import java.io.OutputStream;
import java.util.List;
public interface IChunkMetadata {
@@ -64,4 +66,6 @@ public interface IChunkMetadata {
void insertIntoSortedDeletions(long startTime, long endTime);
List<TimeRange> getDeleteIntervalList();
+
+ int serializeTo(OutputStream outputStream, boolean serializeStatistic) throws IOException;
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/TimeseriesMetadata.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/TimeseriesMetadata.java
index 79f90fd..10efcb7 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/TimeseriesMetadata.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/TimeseriesMetadata.java
@@ -234,7 +234,7 @@ public class TimeseriesMetadata implements Accountable, ITimeSeriesMetadata {
}
// For reading version-2 only
- public void setChunkMetadataList(ArrayList<IChunkMetadata> chunkMetadataList) {
- this.chunkMetadataList = chunkMetadataList;
+ public void setChunkMetadataList(ArrayList<ChunkMetadata> chunkMetadataList) {
+ this.chunkMetadataList = new ArrayList<>(chunkMetadataList);
}
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/VectorChunkMetadata.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/VectorChunkMetadata.java
index 551938c..f44e3fb 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/VectorChunkMetadata.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/VectorChunkMetadata.java
@@ -25,6 +25,7 @@ import org.apache.iotdb.tsfile.read.common.TimeRange;
import org.apache.iotdb.tsfile.read.controller.IChunkLoader;
import java.io.IOException;
+import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
@@ -143,6 +144,11 @@ public class VectorChunkMetadata implements IChunkMetadata {
return timeChunkMetadata.getDeleteIntervalList();
}
+ @Override
+ public int serializeTo(OutputStream outputStream, boolean serializeStatistic) {
+ throw new UnsupportedOperationException("VectorChunkMetadata doesn't support serial method");
+ }
+
public Chunk getTimeChunk() throws IOException {
return timeChunkMetadata.getChunkLoader().loadChunk((ChunkMetadata) timeChunkMetadata);
}
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 ab3460d..85a8144 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
@@ -540,17 +540,20 @@ public class TsFileSequenceReader implements AutoCloseable {
* @return measurement -> ChunkMetadata list
* @throws IOException io error
*/
- public Map<String, List<IChunkMetadata>> readChunkMetadataInDevice(String device)
+ public Map<String, List<ChunkMetadata>> readChunkMetadataInDevice(String device)
throws IOException {
readFileMetadata();
List<TimeseriesMetadata> timeseriesMetadataMap = getDeviceTimeseriesMetadata(device);
if (timeseriesMetadataMap.isEmpty()) {
return new HashMap<>();
}
- Map<String, List<IChunkMetadata>> seriesMetadata = new HashMap<>();
+ Map<String, List<ChunkMetadata>> seriesMetadata = new HashMap<>();
for (TimeseriesMetadata timeseriesMetadata : timeseriesMetadataMap) {
seriesMetadata.put(
- timeseriesMetadata.getMeasurementId(), timeseriesMetadata.getChunkMetadataList());
+ timeseriesMetadata.getMeasurementId(),
+ timeseriesMetadata.getChunkMetadataList().stream()
+ .map(chunkMetadata -> ((ChunkMetadata) chunkMetadata))
+ .collect(Collectors.toList()));
}
return seriesMetadata;
}
@@ -1145,12 +1148,12 @@ public class TsFileSequenceReader implements AutoCloseable {
* @param path timeseries path
* @return List of ChunkMetaData
*/
- public List<IChunkMetadata> getChunkMetadataList(Path path) throws IOException {
+ public List<ChunkMetadata> getChunkMetadataList(Path path) throws IOException {
TimeseriesMetadata timeseriesMetaData = readTimeseriesMetadata(path);
if (timeseriesMetaData == null) {
return Collections.emptyList();
}
- List<IChunkMetadata> chunkMetadataList = readChunkMetaDataList(timeseriesMetaData);
+ List<ChunkMetadata> chunkMetadataList = readChunkMetaDataList(timeseriesMetaData);
chunkMetadataList.sort(Comparator.comparingLong(IChunkMetadata::getStartTime));
return chunkMetadataList;
}
@@ -1160,9 +1163,11 @@ public class TsFileSequenceReader implements AutoCloseable {
*
* @return List of ChunkMetaData
*/
- public List<IChunkMetadata> readChunkMetaDataList(TimeseriesMetadata timeseriesMetaData)
+ public List<ChunkMetadata> readChunkMetaDataList(TimeseriesMetadata timeseriesMetaData)
throws IOException {
- return timeseriesMetaData.getChunkMetadataList();
+ return timeseriesMetaData.getChunkMetadataList().stream()
+ .map(chunkMetadata -> (ChunkMetadata) chunkMetadata)
+ .collect(Collectors.toList());
}
/**
@@ -1204,7 +1209,7 @@ public class TsFileSequenceReader implements AutoCloseable {
public List<String> getDeviceNameInRange(long start, long end) throws IOException {
List<String> res = new ArrayList<>();
for (String device : getAllDevices()) {
- Map<String, List<IChunkMetadata>> seriesMetadataMap = readChunkMetadataInDevice(device);
+ Map<String, List<ChunkMetadata>> seriesMetadataMap = readChunkMetadataInDevice(device);
if (hasDataInPartition(seriesMetadataMap, start, end)) {
res.add(device);
}
@@ -1220,9 +1225,9 @@ public class TsFileSequenceReader implements AutoCloseable {
* @param end the end position of the space partition
*/
private boolean hasDataInPartition(
- Map<String, List<IChunkMetadata>> seriesMetadataMap, long start, long end) {
- for (List<IChunkMetadata> chunkMetadataList : seriesMetadataMap.values()) {
- for (IChunkMetadata chunkMetadata : chunkMetadataList) {
+ Map<String, List<ChunkMetadata>> seriesMetadataMap, long start, long end) {
+ for (List<ChunkMetadata> chunkMetadataList : seriesMetadataMap.values()) {
+ for (ChunkMetadata chunkMetadata : chunkMetadataList) {
LocateStatus location =
MetadataQuerierByFileImpl.checkLocateStatus(chunkMetadata, start, end);
if (location == LocateStatus.in) {
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/MetadataQuerierByFileImpl.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/MetadataQuerierByFileImpl.java
index 3215eff..98d28b9 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/MetadataQuerierByFileImpl.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/MetadataQuerierByFileImpl.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.tsfile.read.controller;
import org.apache.iotdb.tsfile.common.cache.LRUCache;
+import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
import org.apache.iotdb.tsfile.file.metadata.TimeseriesMetadata;
import org.apache.iotdb.tsfile.file.metadata.TsFileMetadata;
@@ -47,7 +48,7 @@ public class MetadataQuerierByFileImpl implements IMetadataQuerier {
private TsFileMetadata fileMetaData;
- private LRUCache<Path, List<IChunkMetadata>> chunkMetaDataCache;
+ private LRUCache<Path, List<ChunkMetadata>> chunkMetaDataCache;
private TsFileSequenceReader tsFileReader;
@@ -56,9 +57,9 @@ public class MetadataQuerierByFileImpl implements IMetadataQuerier {
this.tsFileReader = tsFileReader;
this.fileMetaData = tsFileReader.readFileMetadata();
chunkMetaDataCache =
- new LRUCache<Path, List<IChunkMetadata>>(CACHED_ENTRY_NUMBER) {
+ new LRUCache<Path, List<ChunkMetadata>>(CACHED_ENTRY_NUMBER) {
@Override
- public List<IChunkMetadata> loadObjectByKey(Path key) throws IOException {
+ public List<ChunkMetadata> loadObjectByKey(Path key) throws IOException {
return loadChunkMetadata(key);
}
};
@@ -66,7 +67,7 @@ public class MetadataQuerierByFileImpl implements IMetadataQuerier {
@Override
public List<IChunkMetadata> getChunkMetaDataList(Path path) throws IOException {
- return chunkMetaDataCache.get(path);
+ return new ArrayList<>(chunkMetaDataCache.get(path));
}
@Override
@@ -98,7 +99,7 @@ public class MetadataQuerierByFileImpl implements IMetadataQuerier {
deviceMeasurementsMap.get(path.getDevice()).add(path.getMeasurement());
}
- Map<Path, List<IChunkMetadata>> tempChunkMetaDatas = new HashMap<>();
+ Map<Path, List<ChunkMetadata>> tempChunkMetaDatas = new HashMap<>();
int count = 0;
boolean enough = false;
@@ -118,12 +119,12 @@ public class MetadataQuerierByFileImpl implements IMetadataQuerier {
List<TimeseriesMetadata> timeseriesMetaDataList =
tsFileReader.readTimeseriesMetadata(selectedDevice, selectedMeasurements);
- List<IChunkMetadata> chunkMetadataList = new ArrayList<>();
+ List<ChunkMetadata> chunkMetadataList = new ArrayList<>();
for (TimeseriesMetadata timeseriesMetadata : timeseriesMetaDataList) {
chunkMetadataList.addAll(tsFileReader.readChunkMetaDataList(timeseriesMetadata));
}
// d1
- for (IChunkMetadata chunkMetaData : chunkMetadataList) {
+ for (ChunkMetadata chunkMetaData : chunkMetadataList) {
String currentMeasurement = chunkMetaData.getMeasurementUid();
// s1
@@ -148,7 +149,7 @@ public class MetadataQuerierByFileImpl implements IMetadataQuerier {
}
}
- for (Map.Entry<Path, List<IChunkMetadata>> entry : tempChunkMetaDatas.entrySet()) {
+ for (Map.Entry<Path, List<ChunkMetadata>> entry : tempChunkMetaDatas.entrySet()) {
chunkMetaDataCache.put(entry.getKey(), entry.getValue());
}
}
@@ -162,7 +163,7 @@ public class MetadataQuerierByFileImpl implements IMetadataQuerier {
return tsFileReader.getChunkMetadataList(path).get(0).getDataType();
}
- private List<IChunkMetadata> loadChunkMetadata(Path path) throws IOException {
+ private List<ChunkMetadata> loadChunkMetadata(Path path) throws IOException {
return tsFileReader.getChunkMetadataList(path);
}
@@ -193,10 +194,10 @@ public class MetadataQuerierByFileImpl implements IMetadataQuerier {
Set<String> selectedMeasurements = deviceMeasurements.getValue();
// measurement -> ChunkMetadata list
- Map<String, List<IChunkMetadata>> seriesMetadatas =
+ Map<String, List<ChunkMetadata>> seriesMetadatas =
tsFileReader.readChunkMetadataInDevice(selectedDevice);
- for (Entry<String, List<IChunkMetadata>> seriesMetadata : seriesMetadatas.entrySet()) {
+ for (Entry<String, List<ChunkMetadata>> seriesMetadata : seriesMetadatas.entrySet()) {
if (!selectedMeasurements.contains(seriesMetadata.getKey())) {
continue;
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/ExecutorWithTimeGenerator.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/ExecutorWithTimeGenerator.java
index 90e41d4..bfb8ea5 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/ExecutorWithTimeGenerator.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/ExecutorWithTimeGenerator.java
@@ -18,7 +18,7 @@
*/
package org.apache.iotdb.tsfile.read.query.executor;
-import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
+import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.read.common.Path;
import org.apache.iotdb.tsfile.read.controller.IChunkLoader;
@@ -76,7 +76,7 @@ public class ExecutorWithTimeGenerator implements QueryExecutor {
boolean cachedValue = cachedIterator.next();
Path selectedPath = selectedPathIterator.next();
- List<ChunkMetadata> chunkMetadataList = metadataQuerier.getChunkMetaDataList(selectedPath);
+ List<IChunkMetadata> chunkMetadataList = metadataQuerier.getChunkMetaDataList(selectedPath);
if (chunkMetadataList.size() != 0) {
dataTypes.add(chunkMetadataList.get(0).getDataType());
if (cachedValue) {
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/TsFileExecutor.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/TsFileExecutor.java
index 788d541..a530cb3 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/TsFileExecutor.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/TsFileExecutor.java
@@ -20,7 +20,7 @@ package org.apache.iotdb.tsfile.read.query.executor;
import org.apache.iotdb.tsfile.exception.filter.QueryFilterOptimizationException;
import org.apache.iotdb.tsfile.exception.write.NoMeasurementException;
-import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
+import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.read.common.Path;
import org.apache.iotdb.tsfile.read.common.TimeRange;
@@ -176,7 +176,7 @@ public class TsFileExecutor implements QueryExecutor {
List<TSDataType> dataTypes = new ArrayList<>();
for (Path path : selectedPathList) {
- List<ChunkMetadata> chunkMetadataList = metadataQuerier.getChunkMetaDataList(path);
+ List<IChunkMetadata> chunkMetadataList = metadataQuerier.getChunkMetaDataList(path);
AbstractFileSeriesReader seriesReader;
if (chunkMetadataList.isEmpty()) {
seriesReader = new EmptyFileSeriesReader();
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/TsFileTimeGenerator.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/TsFileTimeGenerator.java
index c68fc74..571f70a 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/TsFileTimeGenerator.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/TsFileTimeGenerator.java
@@ -18,7 +18,7 @@
*/
package org.apache.iotdb.tsfile.read.query.timegenerator;
-import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
+import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
import org.apache.iotdb.tsfile.read.controller.IChunkLoader;
import org.apache.iotdb.tsfile.read.controller.IMetadataQuerier;
import org.apache.iotdb.tsfile.read.expression.IExpression;
@@ -46,7 +46,7 @@ public class TsFileTimeGenerator extends TimeGenerator {
@Override
protected IBatchReader generateNewBatchReader(SingleSeriesExpression expression)
throws IOException {
- List<ChunkMetadata> chunkMetadataList =
+ List<IChunkMetadata> chunkMetadataList =
metadataQuerier.getChunkMetaDataList(expression.getSeriesPath());
return new FileSeriesReader(chunkLoader, chunkMetadataList, expression.getFilter());
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/TimePageReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/TimePageReader.java
index 6bb7e74..aa39832 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/TimePageReader.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/TimePageReader.java
@@ -23,10 +23,9 @@ import org.apache.iotdb.tsfile.file.header.PageHeader;
import org.apache.iotdb.tsfile.file.metadata.statistics.TimeStatistics;
import org.apache.iotdb.tsfile.read.common.TimeRange;
-import com.sun.tools.javac.util.List;
-
import java.io.IOException;
import java.nio.ByteBuffer;
+import java.util.List;
public class TimePageReader {
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/AbstractFileSeriesReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/AbstractFileSeriesReader.java
index 52489a4..e0e4444 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/AbstractFileSeriesReader.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/AbstractFileSeriesReader.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.tsfile.read.reader.series;
-import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
+import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
import org.apache.iotdb.tsfile.read.common.BatchData;
import org.apache.iotdb.tsfile.read.controller.IChunkLoader;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
@@ -33,7 +33,7 @@ import java.util.List;
public abstract class AbstractFileSeriesReader implements IBatchReader {
protected IChunkLoader chunkLoader;
- protected List<ChunkMetadata> chunkMetadataList;
+ protected List<IChunkMetadata> chunkMetadataList;
protected ChunkReader chunkReader;
private int chunkToRead;
@@ -41,7 +41,7 @@ public abstract class AbstractFileSeriesReader implements IBatchReader {
/** constructor of FileSeriesReader. */
public AbstractFileSeriesReader(
- IChunkLoader chunkLoader, List<ChunkMetadata> chunkMetadataList, Filter filter) {
+ IChunkLoader chunkLoader, List<IChunkMetadata> chunkMetadataList, Filter filter) {
this.chunkLoader = chunkLoader;
this.chunkMetadataList = chunkMetadataList;
this.filter = filter;
@@ -59,7 +59,7 @@ public abstract class AbstractFileSeriesReader implements IBatchReader {
// current chunk does not have additional batch, init new chunk reader
while (chunkToRead < chunkMetadataList.size()) {
- ChunkMetadata chunkMetaData = nextChunkMeta();
+ IChunkMetadata chunkMetaData = nextChunkMeta();
if (chunkSatisfied(chunkMetaData)) {
// chunk metadata satisfy the condition
initChunkReader(chunkMetaData);
@@ -77,16 +77,16 @@ public abstract class AbstractFileSeriesReader implements IBatchReader {
return chunkReader.nextPageData();
}
- protected abstract void initChunkReader(ChunkMetadata chunkMetaData) throws IOException;
+ protected abstract void initChunkReader(IChunkMetadata chunkMetaData) throws IOException;
- protected abstract boolean chunkSatisfied(ChunkMetadata chunkMetaData);
+ protected abstract boolean chunkSatisfied(IChunkMetadata chunkMetaData);
@Override
public void close() throws IOException {
chunkLoader.close();
}
- private ChunkMetadata nextChunkMeta() {
+ private IChunkMetadata nextChunkMeta() {
return chunkMetadataList.get(chunkToRead++);
}
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/EmptyFileSeriesReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/EmptyFileSeriesReader.java
index 527d6c3..0316987 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/EmptyFileSeriesReader.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/EmptyFileSeriesReader.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.tsfile.read.reader.series;
-import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
+import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
import org.apache.iotdb.tsfile.read.common.BatchData;
/** this is for those series which has no data points */
@@ -31,12 +31,12 @@ public class EmptyFileSeriesReader extends AbstractFileSeriesReader {
}
@Override
- protected void initChunkReader(ChunkMetadata chunkMetaData) {
+ protected void initChunkReader(IChunkMetadata chunkMetaData) {
// do nothing
}
@Override
- protected boolean chunkSatisfied(ChunkMetadata chunkMetaData) {
+ protected boolean chunkSatisfied(IChunkMetadata chunkMetaData) {
return false;
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReader.java
index e48dca7..10dde36 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReader.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReader.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.tsfile.read.reader.series;
import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
+import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
import org.apache.iotdb.tsfile.read.common.Chunk;
import org.apache.iotdb.tsfile.read.controller.IChunkLoader;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
@@ -34,18 +35,18 @@ import java.util.List;
public class FileSeriesReader extends AbstractFileSeriesReader {
public FileSeriesReader(
- IChunkLoader chunkLoader, List<ChunkMetadata> chunkMetadataList, Filter filter) {
+ IChunkLoader chunkLoader, List<IChunkMetadata> chunkMetadataList, Filter filter) {
super(chunkLoader, chunkMetadataList, filter);
}
@Override
- protected void initChunkReader(ChunkMetadata chunkMetaData) throws IOException {
- Chunk chunk = chunkLoader.loadChunk(chunkMetaData);
+ protected void initChunkReader(IChunkMetadata chunkMetaData) throws IOException {
+ Chunk chunk = chunkLoader.loadChunk((ChunkMetadata) chunkMetaData);
this.chunkReader = new ChunkReader(chunk, filter);
}
@Override
- protected boolean chunkSatisfied(ChunkMetadata chunkMetaData) {
+ protected boolean chunkSatisfied(IChunkMetadata chunkMetaData) {
return filter == null || filter.satisfy(chunkMetaData.getStatistics());
}
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReaderByTimestamp.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReaderByTimestamp.java
index 504aad9..482a192 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReaderByTimestamp.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReaderByTimestamp.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.tsfile.read.reader.series;
import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
+import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.read.common.BatchData;
import org.apache.iotdb.tsfile.read.common.Chunk;
@@ -36,7 +37,7 @@ import java.util.List;
public class FileSeriesReaderByTimestamp {
protected IChunkLoader chunkLoader;
- protected List<ChunkMetadata> chunkMetadataList;
+ protected List<IChunkMetadata> chunkMetadataList;
private int currentChunkIndex = 0;
private ChunkReader chunkReader;
@@ -45,7 +46,7 @@ public class FileSeriesReaderByTimestamp {
/** init with chunkLoader and chunkMetaDataList. */
public FileSeriesReaderByTimestamp(
- IChunkLoader chunkLoader, List<ChunkMetadata> chunkMetadataList) {
+ IChunkLoader chunkLoader, List<IChunkMetadata> chunkMetadataList) {
this.chunkLoader = chunkLoader;
this.chunkMetadataList = chunkMetadataList;
currentTimestamp = Long.MIN_VALUE;
@@ -133,7 +134,7 @@ public class FileSeriesReaderByTimestamp {
private boolean constructNextSatisfiedChunkReader() throws IOException {
while (currentChunkIndex < chunkMetadataList.size()) {
- ChunkMetadata chunkMetaData = chunkMetadataList.get(currentChunkIndex++);
+ IChunkMetadata chunkMetaData = chunkMetadataList.get(currentChunkIndex++);
if (chunkSatisfied(chunkMetaData)) {
initChunkReader(chunkMetaData);
((ChunkReaderByTimestamp) chunkReader).setCurrentTimestamp(currentTimestamp);
@@ -143,12 +144,12 @@ public class FileSeriesReaderByTimestamp {
return false;
}
- private void initChunkReader(ChunkMetadata chunkMetaData) throws IOException {
- Chunk chunk = chunkLoader.loadChunk(chunkMetaData);
+ private void initChunkReader(IChunkMetadata chunkMetaData) throws IOException {
+ Chunk chunk = chunkLoader.loadChunk((ChunkMetadata) chunkMetaData);
this.chunkReader = new ChunkReaderByTimestamp(chunk);
}
- private boolean chunkSatisfied(ChunkMetadata chunkMetaData) {
+ private boolean chunkSatisfied(IChunkMetadata chunkMetaData) {
return chunkMetaData.getEndTime() >= currentTimestamp;
}
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/v2/read/TsFileSequenceReaderForV2.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/v2/read/TsFileSequenceReaderForV2.java
index dc584cd..9247a72 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/v2/read/TsFileSequenceReaderForV2.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/v2/read/TsFileSequenceReaderForV2.java
@@ -23,7 +23,6 @@ import org.apache.iotdb.tsfile.file.header.ChunkGroupHeader;
import org.apache.iotdb.tsfile.file.header.ChunkHeader;
import org.apache.iotdb.tsfile.file.header.PageHeader;
import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
-import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
import org.apache.iotdb.tsfile.file.metadata.MetadataIndexEntry;
import org.apache.iotdb.tsfile.file.metadata.MetadataIndexNode;
import org.apache.iotdb.tsfile.file.metadata.TimeseriesMetadata;
@@ -183,7 +182,7 @@ public class TsFileSequenceReaderForV2 extends TsFileSequenceReader implements A
buffer = readData(metadataIndexPair.left.getOffset(), metadataIndexPair.right);
while (buffer.hasRemaining()) {
TimeseriesMetadata timeseriesMetadata = TimeseriesMetadataV2.deserializeFrom(buffer);
- ArrayList<IChunkMetadata> chunkMetadataList = readChunkMetaDataList(timeseriesMetadata);
+ ArrayList<ChunkMetadata> chunkMetadataList = readChunkMetaDataList(timeseriesMetadata);
timeseriesMetadata.setChunkMetadataList(chunkMetadataList);
timeseriesMetadataList.add(timeseriesMetadata);
}
@@ -223,7 +222,7 @@ public class TsFileSequenceReaderForV2 extends TsFileSequenceReader implements A
while (buffer.hasRemaining()) {
TimeseriesMetadata timeseriesMetadata;
timeseriesMetadata = TimeseriesMetadataV2.deserializeFrom(buffer);
- ArrayList<IChunkMetadata> chunkMetadataList = readChunkMetaDataList(timeseriesMetadata);
+ ArrayList<ChunkMetadata> chunkMetadataList = readChunkMetaDataList(timeseriesMetadata);
timeseriesMetadata.setChunkMetadataList(chunkMetadataList);
if (allSensors.contains(timeseriesMetadata.getMeasurementId())) {
timeseriesMetadataList.add(timeseriesMetadata);
@@ -272,7 +271,7 @@ public class TsFileSequenceReaderForV2 extends TsFileSequenceReader implements A
measurementMetadataIndexPair.left.getOffset(), measurementMetadataIndexPair.right);
while (buffer.hasRemaining()) {
TimeseriesMetadata timeseriesMetadata = TimeseriesMetadataV2.deserializeFrom(buffer);
- ArrayList<IChunkMetadata> chunkMetadataList = readChunkMetaDataList(timeseriesMetadata);
+ ArrayList<ChunkMetadata> chunkMetadataList = readChunkMetaDataList(timeseriesMetadata);
timeseriesMetadata.setChunkMetadataList(chunkMetadataList);
timeseriesMetadataList.add(timeseriesMetadata);
}
@@ -339,7 +338,7 @@ public class TsFileSequenceReaderForV2 extends TsFileSequenceReader implements A
* @throws IOException io error
*/
@Override
- public Map<String, List<IChunkMetadata>> readChunkMetadataInDevice(String device)
+ public Map<String, List<ChunkMetadata>> readChunkMetadataInDevice(String device)
throws IOException {
if (tsFileMetaData == null) {
readFileMetadata();
@@ -356,7 +355,7 @@ public class TsFileSequenceReaderForV2 extends TsFileSequenceReader implements A
}
// read buffer of all ChunkMetadatas of this device
ByteBuffer buffer = readData(start, size);
- Map<String, List<IChunkMetadata>> seriesMetadata = new HashMap<>();
+ Map<String, List<ChunkMetadata>> seriesMetadata = new HashMap<>();
while (buffer.hasRemaining()) {
ChunkMetadata chunkMetadata = ChunkMetadataV2.deserializeFrom(buffer);
seriesMetadata
@@ -364,7 +363,7 @@ public class TsFileSequenceReaderForV2 extends TsFileSequenceReader implements A
.add(chunkMetadata);
}
// set version in ChunkMetadata
- for (Entry<String, List<IChunkMetadata>> entry : seriesMetadata.entrySet()) {
+ for (Entry<String, List<ChunkMetadata>> entry : seriesMetadata.entrySet()) {
applyVersion(entry.getValue());
}
return seriesMetadata;
@@ -411,7 +410,7 @@ public class TsFileSequenceReaderForV2 extends TsFileSequenceReader implements A
List<TimeseriesMetadata> timeseriesMetadataList = new ArrayList<>();
while (buffer.hasRemaining()) {
TimeseriesMetadata timeseriesMetadata = TimeseriesMetadataV2.deserializeFrom(buffer);
- ArrayList<IChunkMetadata> chunkMetadataList = readChunkMetaDataList(timeseriesMetadata);
+ ArrayList<ChunkMetadata> chunkMetadataList = readChunkMetaDataList(timeseriesMetadata);
timeseriesMetadata.setChunkMetadataList(chunkMetadataList);
timeseriesMetadataList.add(timeseriesMetadata);
}
@@ -585,10 +584,10 @@ public class TsFileSequenceReaderForV2 extends TsFileSequenceReader implements A
*
* @return List of ChunkMetaData
*/
- public ArrayList<IChunkMetadata> readChunkMetaDataList(TimeseriesMetadata timeseriesMetaData)
+ public ArrayList<ChunkMetadata> readChunkMetaDataList(TimeseriesMetadata timeseriesMetaData)
throws IOException {
readFileMetadata();
- ArrayList<IChunkMetadata> chunkMetadataList = new ArrayList<>();
+ ArrayList<ChunkMetadata> chunkMetadataList = new ArrayList<>();
long startOffsetOfChunkMetadataList = timeseriesMetaData.getOffsetOfChunkMetaDataList();
int dataSizeOfChunkMetadataList = timeseriesMetaData.getDataSizeOfChunkMetaDataList();
@@ -603,12 +602,12 @@ public class TsFileSequenceReaderForV2 extends TsFileSequenceReader implements A
return chunkMetadataList;
}
- private void applyVersion(List<IChunkMetadata> chunkMetadataList) {
+ private void applyVersion(List<ChunkMetadata> chunkMetadataList) {
if (versionInfo == null || versionInfo.isEmpty()) {
return;
}
int versionIndex = 0;
- for (IChunkMetadata chunkMetadata : chunkMetadataList) {
+ for (ChunkMetadata chunkMetadata : chunkMetadataList) {
while (chunkMetadata.getOffsetOfChunkHeader() >= versionInfo.get(versionIndex).left) {
versionIndex++;
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/RestorableTsFileIOWriter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/RestorableTsFileIOWriter.java
index 26f8494..eaa078d 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/RestorableTsFileIOWriter.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/RestorableTsFileIOWriter.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.tsfile.write.writer;
import org.apache.iotdb.tsfile.exception.NotCompatibleTsFileException;
import org.apache.iotdb.tsfile.file.metadata.ChunkGroupMetadata;
import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
+import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
import org.apache.iotdb.tsfile.read.TsFileCheckStatus;
@@ -166,12 +167,12 @@ public class RestorableTsFileIOWriter extends TsFileIOWriter {
List<ChunkMetadata> chunkMetadataList = new ArrayList<>();
if (metadatasForQuery.containsKey(deviceId)
&& metadatasForQuery.get(deviceId).containsKey(measurementId)) {
- for (ChunkMetadata chunkMetaData : metadatasForQuery.get(deviceId).get(measurementId)) {
+ for (IChunkMetadata chunkMetaData : metadatasForQuery.get(deviceId).get(measurementId)) {
// filter: if a device'measurement is defined as float type, and data has been persistent.
// Then someone deletes the timeseries and recreate it with Int type. We have to ignore
// all the stale data.
if (dataType == null || dataType.equals(chunkMetaData.getDataType())) {
- chunkMetadataList.add(chunkMetaData);
+ chunkMetadataList.add((ChunkMetadata) chunkMetaData);
}
}
}
@@ -193,7 +194,7 @@ public class RestorableTsFileIOWriter extends TsFileIOWriter {
List<ChunkMetadata> rowMetaDataList = chunkGroupMetadata.getChunkMetadataList();
String device = chunkGroupMetadata.getDevice();
- for (ChunkMetadata chunkMetaData : rowMetaDataList) {
+ for (IChunkMetadata chunkMetaData : rowMetaDataList) {
String measurementId = chunkMetaData.getMeasurementUid();
if (!metadatasForQuery.containsKey(device)) {
metadatasForQuery.put(device, new HashMap<>());
@@ -201,7 +202,7 @@ public class RestorableTsFileIOWriter extends TsFileIOWriter {
if (!metadatasForQuery.get(device).containsKey(measurementId)) {
metadatasForQuery.get(device).put(measurementId, new ArrayList<>());
}
- metadatasForQuery.get(device).get(measurementId).add(chunkMetaData);
+ metadatasForQuery.get(device).get(measurementId).add((ChunkMetadata) chunkMetaData);
}
}
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriter.java
index c68c78b..dd0cd4a 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriter.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriter.java
@@ -25,6 +25,7 @@ import org.apache.iotdb.tsfile.file.header.ChunkGroupHeader;
import org.apache.iotdb.tsfile.file.header.ChunkHeader;
import org.apache.iotdb.tsfile.file.metadata.ChunkGroupMetadata;
import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
+import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
import org.apache.iotdb.tsfile.file.metadata.MetadataIndexConstructor;
import org.apache.iotdb.tsfile.file.metadata.MetadataIndexNode;
import org.apache.iotdb.tsfile.file.metadata.TimeseriesMetadata;
@@ -239,9 +240,9 @@ public class TsFileIOWriter {
ReadWriteIOUtils.write(MetaMarker.SEPARATOR, out.wrapAsStream());
// group ChunkMetadata by series
- Map<Path, List<ChunkMetadata>> chunkMetadataListMap = new TreeMap<>();
+ Map<Path, List<IChunkMetadata>> chunkMetadataListMap = new TreeMap<>();
for (ChunkGroupMetadata chunkGroupMetadata : chunkGroupMetadataList) {
- for (ChunkMetadata chunkMetadata : chunkGroupMetadata.getChunkMetadataList()) {
+ for (IChunkMetadata chunkMetadata : chunkGroupMetadata.getChunkMetadataList()) {
Path series = new Path(chunkGroupMetadata.getDevice(), chunkMetadata.getMeasurementUid());
chunkMetadataListMap.computeIfAbsent(series, k -> new ArrayList<>()).add(chunkMetadata);
}
@@ -288,13 +289,13 @@ public class TsFileIOWriter {
*
* @return MetadataIndexEntry list in TsFileMetadata
*/
- private MetadataIndexNode flushMetadataIndex(Map<Path, List<ChunkMetadata>> chunkMetadataListMap)
+ private MetadataIndexNode flushMetadataIndex(Map<Path, List<IChunkMetadata>> chunkMetadataListMap)
throws IOException {
// convert ChunkMetadataList to this field
deviceTimeseriesMetadataMap = new LinkedHashMap<>();
// create device -> TimeseriesMetaDataList Map
- for (Map.Entry<Path, List<ChunkMetadata>> entry : chunkMetadataListMap.entrySet()) {
+ for (Map.Entry<Path, List<IChunkMetadata>> entry : chunkMetadataListMap.entrySet()) {
Path path = entry.getKey();
String device = path.getDevice();
@@ -306,7 +307,7 @@ public class TsFileIOWriter {
int chunkMetadataListLength = 0;
boolean serializeStatistic = (entry.getValue().size() > 1);
// flush chunkMetadataList one by one
- for (ChunkMetadata chunkMetadata : entry.getValue()) {
+ for (IChunkMetadata chunkMetadata : entry.getValue()) {
if (!chunkMetadata.getDataType().equals(dataType)) {
continue;
}
@@ -341,8 +342,8 @@ public class TsFileIOWriter {
}
// device -> ChunkMetadataList
- public Map<String, List<ChunkMetadata>> getDeviceChunkMetadataMap() {
- Map<String, List<ChunkMetadata>> deviceChunkMetadataMap = new HashMap<>();
+ public Map<String, List<IChunkMetadata>> getDeviceChunkMetadataMap() {
+ Map<String, List<IChunkMetadata>> deviceChunkMetadataMap = new HashMap<>();
for (ChunkGroupMetadata chunkGroupMetadata : chunkGroupMetadataList) {
deviceChunkMetadataMap
@@ -402,7 +403,7 @@ public class TsFileIOWriter {
Iterator<ChunkMetadata> chunkMetaDataIterator =
chunkGroupMetaData.getChunkMetadataList().iterator();
while (chunkMetaDataIterator.hasNext()) {
- ChunkMetadata chunkMetaData = chunkMetaDataIterator.next();
+ IChunkMetadata chunkMetaData = chunkMetaDataIterator.next();
Path path = new Path(deviceId, chunkMetaData.getMeasurementUid());
int startTimeIdx = startTimeIdxes.get(path);
diff --git a/tsfile/src/test/java/org/apache/iotdb/tsfile/read/query/timegenerator/ReaderByTimestampTest.java b/tsfile/src/test/java/org/apache/iotdb/tsfile/read/query/timegenerator/ReaderByTimestampTest.java
index 7ae6252..45d1d05 100644
--- a/tsfile/src/test/java/org/apache/iotdb/tsfile/read/query/timegenerator/ReaderByTimestampTest.java
+++ b/tsfile/src/test/java/org/apache/iotdb/tsfile/read/query/timegenerator/ReaderByTimestampTest.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.tsfile.read.query.timegenerator;
import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
-import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
+import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
import org.apache.iotdb.tsfile.read.TsFileSequenceReader;
import org.apache.iotdb.tsfile.read.common.BatchData;
import org.apache.iotdb.tsfile.read.common.Path;
@@ -62,7 +62,7 @@ public class ReaderByTimestampTest {
@Test
public void readByTimestamp() throws IOException {
CachedChunkLoaderImpl seriesChunkLoader = new CachedChunkLoaderImpl(fileReader);
- List<ChunkMetadata> chunkMetadataList =
+ List<IChunkMetadata> chunkMetadataList =
metadataQuerierByFile.getChunkMetaDataList(new Path("d1", "s1"));
AbstractFileSeriesReader seriesReader =
new FileSeriesReader(seriesChunkLoader, chunkMetadataList, null);