You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2021/07/07 10:42:00 UTC

[iotdb] 01/01: fix sg may not ready log

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

qiaojialin pushed a commit to branch fix_sg_not_ready_log
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit b457054e6d5e9803cf6df2c6ff5e9eac76c6c669
Author: qiaojialin <64...@qq.com>
AuthorDate: Wed Jul 7 18:41:32 2021 +0800

    fix sg may not ready log
---
 .../main/java/org/apache/iotdb/db/engine/StorageEngine.java   | 11 +++++------
 .../storagegroup/virtualSg/VirtualStorageGroupManager.java    |  4 +++-
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
index 4727b7f..5d6b067 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
@@ -395,13 +395,13 @@ public class StorageEngine implements IService {
   /**
    * This method is for insert and query or sth like them, this may get a virtual storage group
    *
-   * @param path device path
+   * @param deviceId device path
    * @return storage group processor
    */
-  public StorageGroupProcessor getProcessor(PartialPath path) throws StorageEngineException {
+  public StorageGroupProcessor getProcessor(PartialPath deviceId) throws StorageEngineException {
     try {
-      StorageGroupMNode storageGroupMNode = IoTDB.metaManager.getStorageGroupNodeByPath(path);
-      return getStorageGroupProcessorByPath(path, storageGroupMNode);
+      StorageGroupMNode storageGroupMNode = IoTDB.metaManager.getStorageGroupNodeByPath(deviceId);
+      return getStorageGroupProcessorByPath(deviceId, storageGroupMNode);
     } catch (StorageGroupProcessorException | MetadataException e) {
       throw new StorageEngineException(e);
     }
@@ -445,8 +445,7 @@ public class StorageEngine implements IService {
     if (virtualStorageGroupManager == null) {
       // if finish recover
       if (isAllSgReady.get()) {
-        waitAllSgReady(devicePath);
-        synchronized (storageGroupMNode) {
+        synchronized (this) {
           virtualStorageGroupManager = processorMap.get(storageGroupMNode.getPartialPath());
           if (virtualStorageGroupManager == null) {
             virtualStorageGroupManager = new VirtualStorageGroupManager();
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/virtualSg/VirtualStorageGroupManager.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/virtualSg/VirtualStorageGroupManager.java
index 135048d..996b857 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/virtualSg/VirtualStorageGroupManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/virtualSg/VirtualStorageGroupManager.java
@@ -115,7 +115,9 @@ public class VirtualStorageGroupManager {
       } else {
         // not finished recover, refuse the request
         throw new StorageEngineException(
-            "the sg " + partialPath + " may not ready now, please wait and retry later",
+            "the sg "
+                + storageGroupMNode.getFullPath()
+                + " may not ready now, please wait and retry later",
             TSStatusCode.STORAGE_GROUP_NOT_READY.getStatusCode());
       }
     }