This is an automated email from the ASF dual-hosted git repository. qiaojialin pushed a commit to branch fix_upgrade_concurrent_modification_bug in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 57c136ca30a16c5d6554dff59c024db6b9e8a2cf Author: qiaojialin <[email protected]> AuthorDate: Wed Apr 8 10:22:43 2020 +0800 fix concurrent modification error in upgrade --- .../iotdb/db/engine/storagegroup/StorageGroupProcessor.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 0ce93bd..0f2a9ef 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 @@ -1292,12 +1292,12 @@ public class StorageGroupProcessor { */ public int countUpgradeFiles() { int cntUpgradeFileNum = 0; - for (TsFileResource seqTsFileResource : sequenceFileTreeSet) { + for (TsFileResource seqTsFileResource : new ArrayList<>(sequenceFileTreeSet)) { if (UpgradeUtils.isNeedUpgrade(seqTsFileResource)) { cntUpgradeFileNum += 1; } } - for (TsFileResource unseqTsFileResource : unSequenceFileList) { + for (TsFileResource unseqTsFileResource : new ArrayList<>(unSequenceFileList)) { if (UpgradeUtils.isNeedUpgrade(unseqTsFileResource)) { cntUpgradeFileNum += 1; } @@ -1306,10 +1306,10 @@ public class StorageGroupProcessor { } public void upgrade() { - for (TsFileResource seqTsFileResource : sequenceFileTreeSet) { + for (TsFileResource seqTsFileResource : new ArrayList<>(sequenceFileTreeSet)) { seqTsFileResource.doUpgrade(); } - for (TsFileResource unseqTsFileResource : unSequenceFileList) { + for (TsFileResource unseqTsFileResource : new ArrayList<>(unSequenceFileList)) { unseqTsFileResource.doUpgrade(); } }
