docs: document gRPC result-bounding server settings (#4823)#412
Conversation
Add the three SERVER-scoped gRPC DoS-protection settings introduced in ArcadeData/arcadedb#4823 to the settings reference: - server.grpcQueryMaxResultRows (default 100000) - server.grpcStreamMaxMaterializedRows (default 1000000) - server.grpcStreamWriteTimeoutMs (default 60000) Also add a cross-reference from the gRPC plugin settings section and the missing [[setting-server]] anchor it points to. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Tick the box to add this pull request to the merge queue (same as
|
There was a problem hiding this comment.
Code Review
This pull request updates the documentation in settings.adoc to introduce three new server settings: server.grpcQueryMaxResultRows, server.grpcStreamMaxMaterializedRows, and server.grpcStreamWriteTimeoutMs. These settings are designed to bound result materialization and protect against limitless or slow clients pinning worker threads and exhausting heap. There are no review comments, and I have no feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Summary
Documents the three SERVER-scoped gRPC DoS-protection settings introduced in ArcadeData/arcadedb#4823 (bound gRPC result materialization and worker busy-wait).
Added to the SERVER table in
src/main/asciidoc/reference/settings.adoc:server.grpcQueryMaxResultRowsExecuteQuerymaterializes; exceeding fails withRESOURCE_EXHAUSTEDserver.grpcStreamMaxMaterializedRowsStreamQueryMATERIALIZE_ALLbuffers before emitting; exceeding fails withRESOURCE_EXHAUSTEDserver.grpcStreamWriteTimeoutMsStreamQueryworker waits for transport readiness before abortingThese are registered
GlobalConfigurationSERVER settings (server.grpc*), distinct from the plugin-levelgrpc.*keys, so they belong in the SERVER settings table rather than the gRPC plugin section.Also:
[[setting-server]]anchor the cross-reference targets.All marked
_(Available since v26.7.1)_(current dev version is26.7.1-SNAPSHOT).Validation
python3 docs-validator.pypasses — filenames, anchors, and cross-references all valid.🤖 Generated with Claude Code