This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch ZYBug in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit f1c04034692d34646ebe19268d19a02654d59566 Author: JackieTien97 <[email protected]> AuthorDate: Fri Oct 23 17:22:39 2020 +0800 add log --- .../apache/iotdb/db/engine/cache/ChunkCache.java | 4 ++- .../iotdb/db/engine/cache/ChunkMetadataCache.java | 4 +++ .../db/engine/cache/TimeSeriesMetadataCache.java | 15 ++++++++++ .../engine/storagegroup/StorageGroupProcessor.java | 35 ++++++++++++++++++++++ .../tsfile/file/metadata/TimeseriesMetadata.java | 12 ++++++++ 5 files changed, 69 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCache.java b/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCache.java index f6e6f6a..891794e 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCache.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCache.java @@ -40,6 +40,7 @@ import org.slf4j.LoggerFactory; public class ChunkCache { private static final Logger logger = LoggerFactory.getLogger(ChunkCache.class); + private static final Logger BUG_LOGGER = LoggerFactory.getLogger("ZY-DEBUG"); private static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig(); private static final long MEMORY_THRESHOLD_IN_CHUNK_CACHE = config .getAllocateMemoryForChunkCache(); @@ -115,8 +116,9 @@ public class ChunkCache { lock.writeLock().unlock(); } } - return new Chunk(chunk.getHeader(), chunk.getData().duplicate(), chunk.getDeletedAt()); + BUG_LOGGER.info("get chunk from cache whose meta data is: " + chunkMetaData); + return new Chunk(chunk.getHeader(), chunk.getData().duplicate(), chunk.getDeletedAt()); } private void printCacheLog(boolean isHit) { diff --git a/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkMetadataCache.java b/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkMetadataCache.java index 4ff58e7..43a35f1 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkMetadataCache.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkMetadataCache.java @@ -47,6 +47,7 @@ import org.slf4j.LoggerFactory; public class ChunkMetadataCache { private static final Logger logger = LoggerFactory.getLogger(ChunkMetadataCache.class); + private static final Logger BUG_LOGGER = LoggerFactory.getLogger("ZY-DEBUG"); private static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig(); private static final long MEMORY_THRESHOLD_IN_B = config.getAllocateMemoryForChunkMetaDataCache(); private static final boolean CACHE_ENABLE = config.isMetaDataCacheEnable(); @@ -147,6 +148,7 @@ public class ChunkMetadataCache { TsFileSequenceReader tsFileReader = FileReaderManager.getInstance().get(filePath, true); BloomFilter bloomFilter = tsFileReader.readBloomFilter(); if (bloomFilter != null && !bloomFilter.contains(seriesPath.getFullPath())) { + BUG_LOGGER.info("Chunk meta data " + key.getString() + " is filter by bloomFilter!"); return new ArrayList<>(); } chunkMetadataList = FileLoaderUtils.getChunkMetadataList(seriesPath, filePath); @@ -157,6 +159,8 @@ public class ChunkMetadataCache { lock.writeLock().unlock(); } } + BUG_LOGGER.info("Chunk meta data list size: " + chunkMetadataList.size() + " key is: " + key.getString()); + chunkMetadataList.forEach(c -> BUG_LOGGER.info(c.toString())); return new ArrayList<>(chunkMetadataList); } 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 03d5d01..01bc099 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 @@ -47,6 +47,8 @@ import org.slf4j.LoggerFactory; public class TimeSeriesMetadataCache { private static final Logger logger = LoggerFactory.getLogger(TimeSeriesMetadataCache.class); + private static final Logger BUG_LOGGER = LoggerFactory.getLogger("ZY-DEBUG"); + private static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig(); private static final long MEMORY_THRESHOLD_IN_TIME_SERIES_METADATA_CACHE = config .getAllocateMemoryForTimeSeriesMetaDataCache(); @@ -143,6 +145,8 @@ public class TimeSeriesMetadataCache { BloomFilter bloomFilter = reader.readBloomFilter(); if (bloomFilter != null && !bloomFilter .contains(key.device + IoTDBConstant.PATH_SEPARATOR + key.measurement)) { + + BUG_LOGGER.info("TimeSeries meta data " + key + " is filter by bloomFilter!"); return null; } List<TimeseriesMetadata> timeSeriesMetadataList = reader @@ -161,8 +165,10 @@ public class TimeSeriesMetadataCache { } } if (timeseriesMetadata == null) { + BUG_LOGGER.info("The file doesn't this time series " + key); return null; } else { + BUG_LOGGER.info("Get timeseries: " + key.device + "." + key.measurement + " metadata in file: " + key.filePath + " from cache: " + timeseriesMetadata); return new TimeseriesMetadata(timeseriesMetadata); } } @@ -268,6 +274,15 @@ public class TimeSeriesMetadataCache { public long getRamSize() { return ramSize; } + + @Override + public String toString() { + return "TimeSeriesMetadataCacheKey{" + + "filePath='" + filePath + '\'' + + ", device='" + device + '\'' + + ", measurement='" + measurement + '\'' + + '}'; + } } /** diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java index 70c9064..71bbe8f 100755 --- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java @@ -121,6 +121,8 @@ public class StorageGroupProcessor { private static final String MERGING_MODIFICATION_FILE_NAME = "merge.mods"; private static final Logger logger = LoggerFactory.getLogger(StorageGroupProcessor.class); + private static final Logger BUG_LOGGER = LoggerFactory.getLogger("ZY-DEBUG"); + /** * indicating the file to be loaded already exists locally. */ @@ -1153,10 +1155,43 @@ public class StorageGroupProcessor { insertLock.readLock().lock(); mergeLock.readLock().lock(); try { + BUG_LOGGER.info("time filter: " + timeFilter); + BUG_LOGGER.info("sequenceFileTreeSet size: " + sequenceFileTreeSet.size()); + sequenceFileTreeSet.forEach(v -> { + BUG_LOGGER.info("isSeq: " + v.isSeq()); + BUG_LOGGER.info("isClosed: " + v.isClosed()); + BUG_LOGGER.info("deviceId: " + deviceId); + BUG_LOGGER.info("startTime: " + v.getStartTime(deviceId)); + BUG_LOGGER.info("endTime: " + v.getEndTime(deviceId)); + }); List<TsFileResource> seqResources = getFileResourceListForQuery(sequenceFileTreeSet, upgradeSeqFileList, deviceId, measurementId, context, timeFilter, true); + BUG_LOGGER.info("seqResources size: " + seqResources.size()); + seqResources.forEach(v -> { + BUG_LOGGER.info("isSeq: " + v.isSeq()); + BUG_LOGGER.info("isClosed: " + v.isClosed()); + BUG_LOGGER.info("deviceId: " + deviceId); + BUG_LOGGER.info("startTime: " + v.getStartTime(deviceId)); + BUG_LOGGER.info("endTime: " + v.getEndTime(deviceId)); + }); + BUG_LOGGER.info("unSequenceFileList size: " + unSequenceFileList.size()); + unSequenceFileList.forEach(v -> { + BUG_LOGGER.info("isSeq: " + v.isSeq()); + BUG_LOGGER.info("isClosed: " + v.isClosed()); + BUG_LOGGER.info("deviceId: " + deviceId); + BUG_LOGGER.info("startTime: " + v.getStartTime(deviceId)); + BUG_LOGGER.info("endTime: " + v.getEndTime(deviceId)); + }); List<TsFileResource> unseqResources = getFileResourceListForQuery(unSequenceFileList, upgradeUnseqFileList, deviceId, measurementId, context, timeFilter, false); + BUG_LOGGER.info("unSequenceFileList size: " + unSequenceFileList.size()); + unseqResources.forEach(v -> { + BUG_LOGGER.info("isSeq: " + v.isSeq()); + BUG_LOGGER.info("isClosed: " + v.isClosed()); + BUG_LOGGER.info("deviceId: " + deviceId); + BUG_LOGGER.info("startTime: " + v.getStartTime(deviceId)); + BUG_LOGGER.info("endTime: " + v.getEndTime(deviceId)); + }); QueryDataSource dataSource = new QueryDataSource(new Path(deviceId, measurementId), seqResources, unseqResources); // used files should be added before mergeLock is unlocked, or they may be deleted by 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 4893563..c16799f 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 @@ -149,4 +149,16 @@ public class TimeseriesMetadata implements Accountable { public long getRamSize() { return ramSize; } + + @Override + public String toString() { + return "TimeseriesMetadata{" + + "startOffsetOfChunkMetaDataList=" + startOffsetOfChunkMetaDataList + + ", chunkMetaDataListDataSize=" + chunkMetaDataListDataSize + + ", measurementId='" + measurementId + '\'' + + ", tsDataType=" + tsDataType + + ", statistics=" + statistics + + ", modified=" + modified + + '}'; + } }
