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


##########
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. If neither the JVM nor the cgroup files 
report a usable memory size, the budget falls back to the JVM max heap, clamped 
to the same 256 MiB to 32 GB. 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:
   Agreed, added in 638a816e, EN and CN. The row now calls the budget a sizing 
target, not a hard cap. With `rocksdb.write_buffer_allow_stall` at its default 
`false`, writes aren't stalled when the write cache is full, so native memory 
can exceed the budget under heavy writes and a container can still be 
OOM-killed. It also notes that `true` holds the cap more firmly at the cost of 
write latency.



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