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

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

commit 022a843f9ad6503f29eb328eda237027828d9ec0
Author: mdf369 <[email protected]>
AuthorDate: Fri May 31 09:33:37 2019 +0800

    fix bug of write lock operation in merge() when IoTDB recover
---
 .../java/org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java
 
b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java
index 209c1f1..9abd7b6 100644
--- 
a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java
+++ 
b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java
@@ -1044,6 +1044,7 @@ public class FileNodeProcessor extends Processor 
implements IStatistic {
    * Merge this storage group, merge the tsfile data with overflow data.
    */
   public void merge() throws FileNodeProcessorException {
+    writeLock();
     // close bufferwrite and overflow, prepare for merge
     LOGGER.info("The filenode processor {} begins to merge.", 
getProcessorName());
     prepareForMerge();
@@ -2045,7 +2046,6 @@ public class FileNodeProcessor extends Processor 
implements IStatistic {
       try {
         ZoneId zoneId = IoTDBDescriptor.getInstance().getConfig().getZoneID();
         long mergeStartTime = System.currentTimeMillis();
-        writeLock();
         merge();
         long mergeEndTime = System.currentTimeMillis();
         long intervalTime = mergeEndTime - mergeStartTime;

Reply via email to