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


##########
content/en/docs/guides/hugegraph-docker-cluster.md:
##########
@@ -196,10 +196,13 @@ The following tables describe current master entrypoints 
and Compose files, not
 | `HG_STORE_GRPC_PORT` | No | `8500` | `grpc.port` |
 | `HG_STORE_REST_PORT` | No | `8520` | `server.port` |
 | `HG_STORE_DATA_PATH` | No | `/hugegraph-store/storage` | `app.data-path` |
+| `HG_STORE_ROCKSDB_TOTAL_MEMORY_SIZE` | No | None | 
`rocksdb.total_memory_size`, in bytes |
 {.td-table--wide}
 
 > **Deprecated aliases**: `PD_ADDRESS` → `HG_STORE_PD_ADDRESS`, `GRPC_HOST` → 
 > `HG_STORE_GRPC_HOST`, `RAFT_ADDRESS` → `HG_STORE_RAFT_ADDRESS`.
 
+RocksDB caches live outside the Java heap. Leave 
`HG_STORE_ROCKSDB_TOTAL_MEMORY_SIZE` unset to size them from the container 
memory limit, or from the memory of the Docker host (the Docker Desktop VM) 
when the container has no limit. The Compose files above set no limit, so each 
Store sizes its budget from the whole host; set a memory limit on the Store 
services, or set this variable to a plain number of bytes, when several Stores 
share one host. See `rocksdb.total_memory_size` in the [HStore configuration 
reference](/docs/quickstart/hugegraph/hugegraph-hstore/).

Review Comment:
   ⚠️ Important: Blocking: no. Summary: A Store memory limit only bounds the 
RocksDB budget here; #3355 still chooses default `-Xmx` from host 
`/proc/meminfo` and sets direct memory to the same value. Even with the 512 MiB 
minimum heap, heap + direct memory + the 1.5 GiB reserve + the 256 MiB budget 
exceeds a 2 GiB limit. Please qualify this guidance and tell operators to size 
heap and direct memory against the limit too. Evidence: #3355 `util.sh` 
`calc_xmx`, `start-hugegraph-store.sh` and `RocksdbMemoryBudget.auto()` at 
f4cd98c.



##########
content/en/docs/quickstart/hugegraph/hugegraph-hstore.md:
##########
@@ -209,8 +210,8 @@ This file contains only `rocksdb` and Actuator exposure 
settings.
 
 | Key | Master distribution value | Code default | Meaning |
 |-----|---------|--------------|---------|
-| `rocksdb.total_memory_size` | `32000000000` | `51539607552` | Memory budget 
shared by all RocksDB instances on this node. When absent or `0`, the node uses 
the JVM max heap instead. |
-| `rocksdb.write_buffer_size` | `32000000` | `33554432` | Memtable size in 
bytes. When absent or `0`, the node uses `total_memory_size / 1000`. |
+| `rocksdb.total_memory_size` | `0` | Auto-sized, see Meaning | Memory budget 
in bytes shared by all RocksDB instances on this node, split into the write 
cache and the block cache by `write_buffer_ratio`. Both caches are off-heap, so 
`-Xmx` does not limit them, and a fixed 1 GiB Raft log cache comes on top. When 
absent or `0`, the node uses half of the memory left after the JVM max heap, 
`MaxDirectMemorySize` (counted as the heap size when unset; 
`bin/start-hugegraph-store.sh` sets it to the heap it picks unless `-j` sets 
`-Xmx`, `-XX:MaxHeapSize` or the cap itself) and a 1.5 GiB reserve, clamped to 
256 MiB to 32 GB. In a container the starting point is the cgroup memory limit 
when one is set, including a limit set only on a parent cgroup the Store can 
see; otherwise it is the host's memory. An `application-pd.yml` kept from an 
earlier release still sets `32000000000`; set it to `0` to auto-size. A 
positive value is used as given and must be plain bytes, at least `1048576` (1 
MiB); 
 a smaller value or one such as `4GB` stops startup. |

Review Comment:
   ⚠️ Important: Blocking: no. Summary: This row omits the fallback when both 
JVM and cgroup memory discovery return no usable limit: #3355 returns the JVM 
heap clamped to 256 MiB–32 GB instead of applying the physical-memory formula. 
Please document this fallback in both language versions. Evidence: #3355 at 
f4cd98c, `RocksdbMemoryBudget.auto()` lines 139–145.



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