未验证 提交 99c37c99 编写于 作者: J Jialin Qiao 提交者: GitHub

Merge pull request #263 from LeiRui/improveReader

improve some code in UnseqResourceMergeReader
...@@ -61,8 +61,7 @@ public class UnseqResourceMergeReader extends PriorityMergeReader { ...@@ -61,8 +61,7 @@ public class UnseqResourceMergeReader extends PriorityMergeReader {
int priorityValue = 1; int priorityValue = 1;
for (TsFileResource tsFileResource : unseqResources) { for (TsFileResource tsFileResource : unseqResources) {
TsFileSequenceReader tsFileReader = FileReaderManager.getInstance() TsFileSequenceReader tsFileReader;
.get(tsFileResource.getFile().getPath(), tsFileResource.isClosed());
// prepare metaDataList // prepare metaDataList
List<ChunkMetaData> metaDataList; List<ChunkMetaData> metaDataList;
...@@ -70,6 +69,8 @@ public class UnseqResourceMergeReader extends PriorityMergeReader { ...@@ -70,6 +69,8 @@ public class UnseqResourceMergeReader extends PriorityMergeReader {
if (isTsFileNotSatisfied(tsFileResource, filter)) { if (isTsFileNotSatisfied(tsFileResource, filter)) {
continue; continue;
} }
tsFileReader = FileReaderManager.getInstance()
.get(tsFileResource.getFile().getPath(), tsFileResource.isClosed());
MetadataQuerierByFileImpl metadataQuerier = new MetadataQuerierByFileImpl(tsFileReader); MetadataQuerierByFileImpl metadataQuerier = new MetadataQuerierByFileImpl(tsFileReader);
metaDataList = metadataQuerier.getChunkMetaDataList(seriesPath); metaDataList = metadataQuerier.getChunkMetaDataList(seriesPath);
List<Modification> pathModifications = context List<Modification> pathModifications = context
...@@ -83,6 +84,8 @@ public class UnseqResourceMergeReader extends PriorityMergeReader { ...@@ -83,6 +84,8 @@ public class UnseqResourceMergeReader extends PriorityMergeReader {
continue; continue;
} }
} }
tsFileReader = FileReaderManager.getInstance()
.get(tsFileResource.getFile().getPath(), tsFileResource.isClosed());
metaDataList = tsFileResource.getChunkMetaDatas(); metaDataList = tsFileResource.getChunkMetaDatas();
} }
...@@ -90,23 +93,22 @@ public class UnseqResourceMergeReader extends PriorityMergeReader { ...@@ -90,23 +93,22 @@ public class UnseqResourceMergeReader extends PriorityMergeReader {
ChunkLoaderImpl chunkLoader = new ChunkLoaderImpl(tsFileReader); ChunkLoaderImpl chunkLoader = new ChunkLoaderImpl(tsFileReader);
for (ChunkMetaData chunkMetaData : metaDataList) { for (ChunkMetaData chunkMetaData : metaDataList) {
if (filter != null) {
DigestForFilter digest = new DigestForFilter(chunkMetaData.getStartTime(), DigestForFilter digest = new DigestForFilter(chunkMetaData.getStartTime(),
chunkMetaData.getEndTime(), chunkMetaData.getEndTime(),
chunkMetaData.getDigest().getStatistics().get(StatisticConstant.MIN_VALUE), chunkMetaData.getDigest().getStatistics().get(StatisticConstant.MIN_VALUE),
chunkMetaData.getDigest().getStatistics().get(StatisticConstant.MAX_VALUE), chunkMetaData.getDigest().getStatistics().get(StatisticConstant.MAX_VALUE),
chunkMetaData.getTsDataType()); chunkMetaData.getTsDataType());
if (!filter.satisfy(digest)) {
if (filter != null && !filter.satisfy(digest)) {
continue; continue;
} }
}
Chunk chunk = chunkLoader.getChunk(chunkMetaData); Chunk chunk = chunkLoader.getChunk(chunkMetaData);
ChunkReader chunkReader = filter != null ? new ChunkReaderWithFilter(chunk, filter) ChunkReader chunkReader = filter != null ? new ChunkReaderWithFilter(chunk, filter)
: new ChunkReaderWithoutFilter(chunk); : new ChunkReaderWithoutFilter(chunk);
addReaderWithPriority(new DiskChunkReader(chunkReader), priorityValue); addReaderWithPriority(new DiskChunkReader(chunkReader), priorityValue++);
priorityValue++;
} }
if (!tsFileResource.isClosed()) { if (!tsFileResource.isClosed()) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册