pallavithegod commented on code in PR #3362:
URL: https://github.com/apache/hugegraph/pull/3362#discussion_r4316831973


##########
hugegraph-pd/hg-pd-core/src/main/java/org/apache/hugegraph/pd/StoreNodeService.java:
##########
@@ -206,13 +198,27 @@ public Metapb.Store register(Metapb.Store store) throws 
PDException {
             }
         }
 
+        // Updated Stores register Offline to obtain their identity before 
restoring partitions.
+        // Older Stores still request Up, and Pending activation and duplicate 
checks stay intact.
+        if (restoring && storeState == Metapb.StoreState.Up) {
+            storeState = Metapb.StoreState.Offline;
+            store = store.toBuilder().setState(storeState).build();
+        }
+
         // Store information
         storeInfoMeta.updateStore(store);
         if (storeState == Metapb.StoreState.Up) {
             // Update the store active status
             storeInfoMeta.keepStoreAlive(store);
             onStoreStatusChanged(store, Metapb.StoreState.Offline, 
Metapb.StoreState.Up);
             checkStoreStatus();
+        } else if (restoring && storeState == Metapb.StoreState.Offline) {
+            // A returned Store is alive even while its engines recover. Renew 
on each retry.
+            storeInfoMeta.keepStoreAlive(store);

Review Comment:
   Fixed in ebdc83863: allocation, replica additions, balancing and capacity 
checks now require a live lease and canonical Up state, while existing 
membership and liveness tracking remain separate. Controlled-clock coverage 
renews beyond five minutes without placement until Up; the only-Offline and 
existing-membership controls pass with all 43 focused cases and 169 PD-core 
cases (two existing skips).



-- 
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.

To unsubscribe, e-mail: [email protected]

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to