This is an automated email from the ASF dual-hosted git repository.

jackietien pushed a commit to branch PrintErrorFilePath
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 275c29f0213bd30408faad44c477cd4b746c2bd7
Author: JackieTien97 <[email protected]>
AuthorDate: Mon Nov 1 11:59:20 2021 +0800

    print the file path while meeting error in case of reading chunk
---
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java | 42 +++++++++++++---------
 1 file changed, 26 insertions(+), 16 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/utils/FileLoaderUtils.java 
b/server/src/main/java/org/apache/iotdb/db/utils/FileLoaderUtils.java
index 0a55b54..b12b3de 100644
--- a/server/src/main/java/org/apache/iotdb/db/utils/FileLoaderUtils.java
+++ b/server/src/main/java/org/apache/iotdb/db/utils/FileLoaderUtils.java
@@ -18,6 +18,10 @@
  */
 package org.apache.iotdb.db.utils;
 
+import java.io.IOException;
+import java.util.List;
+import java.util.Map.Entry;
+import java.util.Set;
 import org.apache.iotdb.db.engine.cache.TimeSeriesMetadataCache;
 import org.apache.iotdb.db.engine.modification.Modification;
 import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
@@ -39,14 +43,14 @@ import org.apache.iotdb.tsfile.read.filter.basic.Filter;
 import org.apache.iotdb.tsfile.read.reader.IChunkReader;
 import org.apache.iotdb.tsfile.read.reader.IPageReader;
 import org.apache.iotdb.tsfile.read.reader.chunk.ChunkReader;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.Set;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class FileLoaderUtils {
 
+  private static final Logger logger = 
LoggerFactory.getLogger(FileLoaderUtils.class);
+
+
   private FileLoaderUtils() {}
 
   public static void checkTsFileResource(TsFileResource tsFileResource) throws 
IOException {
@@ -157,18 +161,24 @@ public class FileLoaderUtils {
     if (chunkMetaData == null) {
       throw new IOException("Can't init null chunkMeta");
     }
-    IChunkReader chunkReader;
-    IChunkLoader chunkLoader = chunkMetaData.getChunkLoader();
-    if (chunkLoader instanceof MemChunkLoader) {
-      MemChunkLoader memChunkLoader = (MemChunkLoader) chunkLoader;
-      chunkReader = new MemChunkReader(memChunkLoader.getChunk(), timeFilter);
-    } else {
-      Chunk chunk = chunkLoader.loadChunk(chunkMetaData);
-      chunk.setFromOldFile(chunkMetaData.isFromOldTsFile());
-      chunkReader = new ChunkReader(chunk, timeFilter);
-      chunkReader.hasNextSatisfiedPage();
+    try {
+      IChunkReader chunkReader;
+      IChunkLoader chunkLoader = chunkMetaData.getChunkLoader();
+      if (chunkLoader instanceof MemChunkLoader) {
+        MemChunkLoader memChunkLoader = (MemChunkLoader) chunkLoader;
+        chunkReader = new MemChunkReader(memChunkLoader.getChunk(), 
timeFilter);
+      } else {
+        Chunk chunk = chunkLoader.loadChunk(chunkMetaData);
+        chunk.setFromOldFile(chunkMetaData.isFromOldTsFile());
+        chunkReader = new ChunkReader(chunk, timeFilter);
+        chunkReader.hasNextSatisfiedPage();
+      }
+      return chunkReader.loadPageReaderList();
+    } catch (IOException e) {
+      logger.error("Something wrong happened while reading chunk from " + 
chunkMetaData.getFilePath());
+      throw e;
     }
-    return chunkReader.loadPageReaderList();
+
   }
 
   public static List<ChunkMetadata> getChunkMetadataList(Path path, String 
filePath)

Reply via email to