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); + } } }
