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

lta pushed a commit to branch fix_sync_bug
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git

commit 3b1ddfa6a4c2ce69c82d26bf17147515cb1266ab
Author: lta <[email protected]>
AuthorDate: Fri Aug 28 10:44:07 2020 +0800

    handle invalid data dir when getting all tsfile in sync module
---
 .../iotdb/db/sync/sender/manage/SyncFileManager.java     | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/sync/sender/manage/SyncFileManager.java
 
b/server/src/main/java/org/apache/iotdb/db/sync/sender/manage/SyncFileManager.java
index bdc1520..d13dca6 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/sync/sender/manage/SyncFileManager.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/sync/sender/manage/SyncFileManager.java
@@ -100,12 +100,16 @@ public class SyncFileManager implements ISyncFileManager {
       allSGs.putIfAbsent(sgFolder.getName(), new HashSet<>());
       currentAllLocalFiles.putIfAbsent(sgFolder.getName(), new HashMap<>());
       for (File timeRangeFolder : sgFolder.listFiles()) {
-        Long timeRangeId = Long.parseLong(timeRangeFolder.getName());
-        currentAllLocalFiles.get(sgFolder.getName()).putIfAbsent(timeRangeId, 
new HashSet<>());
-        File[] files = timeRangeFolder.listFiles();
-        Arrays.stream(files)
-            .forEach(file -> 
currentAllLocalFiles.get(sgFolder.getName()).get(timeRangeId)
-                .add(new File(timeRangeFolder.getAbsolutePath(), 
file.getName())));
+        try {
+          Long timeRangeId = Long.parseLong(timeRangeFolder.getName());
+          
currentAllLocalFiles.get(sgFolder.getName()).putIfAbsent(timeRangeId, new 
HashSet<>());
+          File[] files = timeRangeFolder.listFiles();
+          Arrays.stream(files)
+              .forEach(file -> 
currentAllLocalFiles.get(sgFolder.getName()).get(timeRangeId)
+                  .add(new File(timeRangeFolder.getAbsolutePath(), 
file.getName())));
+        } catch (Exception e) {
+          LOGGER.error("Invalid time range folder: {}", 
timeRangeFolder.getAbsolutePath(), e);
+        }
       }
     }
 

Reply via email to