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


##########
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:
   Thanks, fixed in f6face3f9 (EN + CN). The guide now says a failing liveness 
probe can restart the container as soon as about `(failureThreshold - 1) × 
periodSeconds + timeoutSeconds` after a dump starts, and that the kubelet then 
waits at most `terminationGracePeriodSeconds` before killing it, so that total 
has to be longer than the dump takes.
   



##########
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:
   Added in f6face3f9 (EN + CN): pods on different nodes can share one PVC only 
if its storage supports read-write mounts from several nodes (typically 
`ReadWriteMany`). A `ReadWriteOnce` claim is writable from one node only, so 
otherwise each pod gets its own PVC.
   



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