imbajin commented on code in PR #3260:
URL: https://github.com/apache/hugegraph/pull/3260#discussion_r4186781781


##########
hugegraph-pd/hg-pd-core/src/main/java/org/apache/hugegraph/pd/StoreNodeService.java:
##########
@@ -158,6 +158,12 @@ public Metapb.Store register(Metapb.Store store) throws 
PDException {
         }
 
         // offline or up, or in the initial activation list, go live 
automatically
+        // TODO: do not mark a re-registering Store Up before it has restored 
its partition engines
+        // (HgStoreEngine.restoreLocalPartitionEngine); report a restoring 
state, or expose
+        // restore-complete per shard group, so a rolling restart can wait on 
it. The Helm chart
+        // (helm/hugegraph) keeps Store rollouts on OnDelete with a manual 
/v1/shardGroups barrier
+        // between Pod deletions; retire that procedure once PD reports 
restoration.

Review Comment:
   ⚠️ Blocking: no. Summary: A restore-complete signal alone would not make 
this shardGroups barrier safe to retire while stopped Stores can remain Up 
until their keep-alive entry expires. Please keep the rollout checks until PD 
also exposes enough liveness state to distinguish stale membership. Evidence: 
Issue #3229 records shardGroups reporting full membership throughout a 
150-second Store outage; the chart README requires a fresh lastHeartBeat and 
full shard and leader counts before deleting the next Pod.



##########
hugegraph-pd/hg-pd-core/src/main/java/org/apache/hugegraph/pd/StoreNodeService.java:
##########
@@ -158,6 +158,12 @@ public Metapb.Store register(Metapb.Store store) throws 
PDException {
         }
 
         // offline or up, or in the initial activation list, go live 
automatically
+        // TODO: do not mark a re-registering Store Up before it has restored 
its partition engines
+        // (HgStoreEngine.restoreLocalPartitionEngine); report a restoring 
state, or expose
+        // restore-complete per shard group, so a rolling restart can wait on 
it. The Helm chart
+        // (helm/hugegraph) keeps Store rollouts on OnDelete with a manual 
/v1/shardGroups barrier

Review Comment:
   ⚠️ Blocking: no. Summary: The chart's default Store strategy is 
RollingUpdate; OnDelete and this manual gate apply to values-cluster.yaml, 
while other production values must opt in. Please scope this breadcrumb to the 
production cluster preset. Evidence: helm/hugegraph/values.yaml sets 
store.updateStrategy.type=RollingUpdate; values-cluster.yaml sets OnDelete; the 
README confirms that scope.



##########
hugegraph-store/hg-store-dist/src/assembly/static/conf/application-pd.yml:
##########
@@ -27,6 +27,12 @@ management:
 
 rocksdb:
   # rocksdb total memory usage, force flush to disk when reaching this value
+  # TODO: make this overridable from the environment, or default it to 0 so 
AppConfig falls back

Review Comment:
   ⚠️ Blocking: no. Summary: Falling back to the JVM max heap can still let 
native RocksDB caches grow by another heap-sized budget, so it does not ensure 
a safe container total. Please describe zero as a lower cache cap and keep 
container-aware sizing or an explicit override in the fix direction. Evidence: 
AppConfig.init() maps zero to Runtime.maxMemory(); issue #3254 explains that 
this remains a second heap-sized native allocation in addition to heap, direct 
memory, and the Raft cache.



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