jt2594838 commented on a change in pull request #2605:
URL: https://github.com/apache/iotdb/pull/2605#discussion_r568278793



##########
File path: 
server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
##########
@@ -1886,13 +1889,9 @@ private void loadUpgradedResources(List<TsFileResource> 
resources, boolean isseq
     resources.clear();
   }
 
-  public void merge(boolean fullMerge) {
-    writeLock();
-    try {
-      this.tsFileManagement.merge(fullMerge, 
tsFileManagement.getTsFileList(true),
-          tsFileManagement.getTsFileList(false), dataTTL);
-    } finally {
-      writeUnlock();
+  public void merge(boolean isFullMerge) {
+    for (long timePartitionId : timePartitionIdVersionControllerMap.keySet()) {
+      executeCompaction(timePartitionId, isFullMerge);
     }

Review comment:
       Unfortunately, a simple if-else is barely enough for concurrency 
control, because the condition check and the flag set action are not atomic,  
multiple threads may still enter that block concurrently.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to