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


##########
content/en/docs/guides/hugegraph-docker-cluster.md:
##########
@@ -293,7 +293,32 @@ Standalone publishes only `8080` and `8088`; minimal 
HStore publishes `8620` (PD
 
 5. **Unexpected retained data**: `docker compose down` keeps named volumes. To 
delete topology data too, use `docker compose down -v`.
 
-**Runtime logs**: `docker logs <container-name>` (for example, `docker logs 
hg-pd0`) shows logs without entering containers. Standalone 
`hugegraph/hugegraph` sets `STDOUT_MODE=true` and sends service logs to stdout. 
The HStore `hugegraph/server` image does not set this variable: `docker logs` 
shows only entrypoint output; inspect `logs/hugegraph-server.log` inside the 
container for service logs.
+**Runtime logs**: `docker logs <container-name>` (for example, `docker logs 
hg-pd0`) shows logs without entering containers. In images built from current
+master, the PD, Store and both Server images (`hugegraph/hugegraph` and the 
HStore `hugegraph/server`) set `STDOUT_MODE=true` and send service logs to 
stdout.
+For the Server, WARN and above from Hadoop, ZooKeeper, SOFA, Netty and Commons 
also reaches stdout; INFO from Hadoop, Netty and Commons and the audit and
+slow-query logs stay in files, and ZooKeeper and SOFA log nothing below WARN. 
`/hugegraph-server/logs` holds `hugegraph-server.log`, JVM crash logs
+(`hs_err_pid*.log`) and out-of-memory heap dumps 
(`heapdump_*/java_pid*.hprof`, one directory per start, so the Server and the 
JVMs it starts get separate files
+unless a JVM reuses an earlier PID from that start; if the directory cannot be 
created, dumps go to `/hugegraph-server/logs` itself). Both images declare
+`VOLUME /hugegraph-server`, so `docker restart` and a Compose recreate keep 
them; `docker compose down` leaves that anonymous volume behind unattached, and 
a
+later `down -v` does not remove it (note the volume name from `docker inspect` 
before `down` and delete it with `docker volume rm <name>`; `docker volume 
prune`
+would also delete every other unused anonymous volume on the Docker host), so 
use a named volume or bind mount to keep them reachable. Kubernetes starts a new
+container on every restart, so mount an `emptyDir` or a PersistentVolumeClaim 
at `/hugegraph-server/logs`. Give each pod its own volume, or a per-pod 
directory
+on a shared PVC (`subPathExpr: $(POD_NAME)`, with `POD_NAME` passed in from 
`metadata.name` through the Downward API; the Helm chart sets neither): crash 
files
+get distinct names, but the log files themselves have fixed names. The Helm 
chart does not mount a logs volume yet. A heap dump can be as large as the JVM 
heap,
+and every start uses a new directory, so a Server that keeps running out of 
memory fills the volume; size it for the dumps you want to keep, keep it within 
any
+`ephemeral-storage` limit or `emptyDir` `sizeLimit` (eviction deletes the 
`emptyDir` with the dump), and do not use `medium: Memory`. Give the liveness 
probe
+enough slack (`failureThreshold` × `periodSeconds`) to outlast writing a heap 
dump, or a restart in the middle of a dump leaves a truncated file. The launcher

Review Comment:
   ⚠️ Important. Blocking: no. Summary: `failureThreshold × periodSeconds` can 
overstate the minimum time before restart for a running container. Evidence: a 
failed liveness check can occur immediately at the next scheduled probe; after 
that first failure, a threshold of 3 needs only two more `periodSeconds` 
intervals before restart. Could you document the conservative 
`(failureThreshold - 1) × periodSeconds` floor, account for probe timeout and 
termination settings, and mirror the correction in Chinese? See [Kubernetes 
probe 
worker](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/prober/worker.go#L1310-L1322)
 and [failure-threshold 
handling](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/prober/worker.go#L1650-L1662).



##########
content/en/docs/guides/hugegraph-docker-cluster.md:
##########
@@ -293,7 +293,32 @@ Standalone publishes only `8080` and `8088`; minimal 
HStore publishes `8620` (PD
 
 5. **Unexpected retained data**: `docker compose down` keeps named volumes. To 
delete topology data too, use `docker compose down -v`.
 
-**Runtime logs**: `docker logs <container-name>` (for example, `docker logs 
hg-pd0`) shows logs without entering containers. Standalone 
`hugegraph/hugegraph` sets `STDOUT_MODE=true` and sends service logs to stdout. 
The HStore `hugegraph/server` image does not set this variable: `docker logs` 
shows only entrypoint output; inspect `logs/hugegraph-server.log` inside the 
container for service logs.
+**Runtime logs**: `docker logs <container-name>` (for example, `docker logs 
hg-pd0`) shows logs without entering containers. In images built from current
+master, the PD, Store and both Server images (`hugegraph/hugegraph` and the 
HStore `hugegraph/server`) set `STDOUT_MODE=true` and send service logs to 
stdout.
+For the Server, WARN and above from Hadoop, ZooKeeper, SOFA, Netty and Commons 
also reaches stdout; INFO from Hadoop, Netty and Commons and the audit and
+slow-query logs stay in files, and ZooKeeper and SOFA log nothing below WARN. 
`/hugegraph-server/logs` holds `hugegraph-server.log`, JVM crash logs
+(`hs_err_pid*.log`) and out-of-memory heap dumps 
(`heapdump_*/java_pid*.hprof`, one directory per start, so the Server and the 
JVMs it starts get separate files
+unless a JVM reuses an earlier PID from that start; if the directory cannot be 
created, dumps go to `/hugegraph-server/logs` itself). Both images declare
+`VOLUME /hugegraph-server`, so `docker restart` and a Compose recreate keep 
them; `docker compose down` leaves that anonymous volume behind unattached, and 
a
+later `down -v` does not remove it (note the volume name from `docker inspect` 
before `down` and delete it with `docker volume rm <name>`; `docker volume 
prune`
+would also delete every other unused anonymous volume on the Docker host), so 
use a named volume or bind mount to keep them reachable. Kubernetes starts a new
+container on every restart, so mount an `emptyDir` or a PersistentVolumeClaim 
at `/hugegraph-server/logs`. Give each pod its own volume, or a per-pod 
directory
+on a shared PVC (`subPathExpr: $(POD_NAME)`, with `POD_NAME` passed in from 
`metadata.name` through the Downward API; the Helm chart sets neither): crash 
files

Review Comment:
   ⚠️ Important. Blocking: no. Summary: The shared-PVC option needs a 
cross-node access-mode prerequisite. Evidence: `ReadWriteOnce` allows 
read/write mounts from only one node; `subPathExpr` separates directories but 
does not make a claim multi-node writable. Could you specify that pods on 
different nodes need storage supporting concurrent read/write mounts (typically 
`ReadWriteMany`) or separate PVCs, and mirror the note in Chinese? See 
[Kubernetes access 
modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes).



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