imbajin commented on code in PR #532:
URL: https://github.com/apache/hugegraph-doc/pull/532#discussion_r4302780437


##########
content/en/docs/quickstart/hugegraph/hugegraph-helm-operations.md:
##########
@@ -31,10 +31,16 @@ Store wait and Helm test reuse existing component images 
with `curl` already ins
 
 PD listens on REST 8620, gRPC 8686 and Raft 8610; Store on REST 8520, gRPC 
8500 and Raft 8510; Server HTTP on 8080; Hubble HTTP on 8088.
 Client Services hide individual Pod addresses. NodePort is a separate 
allocated port on reachable nodes, not the application listener port.
-PD `/v1/ready` requires a Raft leader; `/v1/health` only confirms the 
listener. Store startup waits for a majority of ready PD peers.
+PD `/v1/ready` requires a Raft leader. On older images, `/v1/health` only 
confirms the listener.
+Store startup waits for a majority of ready PD peers.
 Server waits up to `server.storageWaitTimeoutSeconds` (default 300) before its 
application startup; adjust it for slow storage bootstrap.
 No local Helm rendering verifies live cluster reachability, volumes or JVM 
capacity.
 
+Images containing the [fatal PD health 
fix](https://github.com/apache/hugegraph/pull/3358) return `503` from 
`/v1/health`
+after a terminal Raft error or shutdown; ordinary elections and quorum loss 
remain live (`200`).
+After a failed snapshot, fix the disk or storage problem before restarting PD: 
freeing space alone does not reinitialize JRaft.
+Keep the chart's single-PD readiness-based liveness workaround for older 
images.

Review Comment:
   ⚠️ Important: The chart still derives startup and liveness from the same 
helper, which returns `/v1/ready` whenever `pd.replicas` is 1, regardless of 
image. #3358 changes `/v1/health` but does not change that default. Please 
clarify that single-PD probes remain readiness-based until the chart changes, 
and describe the supported `pd.livenessPath` override (which also affects 
startup) for fixed images. Evidence: `helm/hugegraph/templates/_helpers.tpl` 
and `pd-statefulset.yaml` at #3358 head `ae49a99`. The Chinese counterpart has 
the same ambiguity.



##########
content/en/docs/quickstart/hugegraph/hugegraph-helm-operations.md:
##########
@@ -127,6 +133,13 @@ Use `store.updateStrategy.type=OnDelete` for a controlled 
maintenance rollout, a
 Delete one Store Pod at a time. Before replacing the next, verify the previous 
Pod is Ready, has a fresh Store heartbeat and each shard group has its
 full membership and exactly one leader, read from the PD leader. PD's `Up` 
status alone does not prove completed shard recovery.
 PDBs limit voluntary eviction, not StatefulSet controller disruption. Stop on 
missing members or leaders.
+
+Images containing the [Store registration 
fix](https://github.com/apache/hugegraph/pull/3362) register `Up` after local 
engine restore
+and report `Offline` on graceful shutdown. Upgrade PD before Store to enable 
the restore gate.
+Temporary Offline reports preserve the existing keepalive window without 
renewing it; expiry still applies if the Store does not return.
+After successful local restore, stream reconnects register `Up` directly 
without repeating recovery.
+PD's authenticated Store responses expose `heartbeatAgeMillis` (`-1` if 
unknown); compare it with the Store heartbeat period (fixed at 30 seconds).
+An age of several times 30000 ms marks a stale `Up` record. Fresh heartbeats 
and local restore do not prove Raft catch-up, so retain the manual barrier.

Review Comment:
   ⚠️ Important: `heartbeatAgeMillis` is calculated by PD as `max(0, 
currentTimeMillis - lastHeartBeat)`. After a PD clock rollback, an old 
heartbeat timestamp can lie in the future and report age 0, so this guidance 
can classify a stale `Up` record as fresh. Please label the value as PD 
wall-clock-derived and advise checking the heartbeat or registration record 
after a clock adjustment. Evidence: `StoreAPI.StoreStatistics` at #3362 head 
`9c08bf6` clamps negative ages to 0, and `StoreNodeService` refreshes 
`lastHeartbeat` with `System.currentTimeMillis()`. The Chinese counterpart has 
the same inference.



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