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]
