Skip to content

docs(ha): the bolt:/grpc: server-list fields, and when a client routing address is withheld - #441

Merged
lvca merged 1 commit into
mainfrom
issue-6183-ha-client-routing-ports
Aug 17, 2026
Merged

docs(ha): the bolt:/grpc: server-list fields, and when a client routing address is withheld#441
lvca merged 1 commit into
mainfrom
issue-6183-ha-client-routing-ports

Conversation

@lvca

@lvca lvca commented Aug 14, 2026

Copy link
Copy Markdown
Member

Companion to ArcadeData/arcadedb#6187 (issue ArcadeData/arcadedb#6183, item 3).

The object form of arcadedb.ha.serverList gained bolt: when #5002 added the BOLT routing table and grpc: when #6091 made a gRPC refusal name a dialable leader. Only bolt: had ever been mentioned in the docs, and only in passing on the BOLT page; the server-list reference itself listed neither.

  • how-to/operations/ha.adoc: bolt and grpc rows in the object-form field table, a note that neither has a positional equivalent, and a new Client Routing Ports section carrying the sentence that matters operationally - declare them whenever your nodes do not all listen on the same port for that protocol, because the fallback derives a peer's address from this node's own port. The section also documents what Follow-ups from #6091: a derived routing address can point a client back at the refusing node, and only graphBatchLoad names the leader arcadedb#6183 changed: when two peers derive to the same address, neither is advertised (two listening sockets cannot own one host:port), and nothing is advertised at all when the leader is one of them.
  • how-to/connectivity/bolt.adoc: the existing heterogeneous-ports note gains what a driver now sees in that case - ROUTE answers with this node as READ and ROUTE only, exactly as mid-election, and declaring bolt is what restores a WRITE entry.
  • reference/settings.adoc: grpc.port is a registered server setting since v26.9.1, so unlike the other grpc.* keys it is resolved from environment variables and appears in the settings API; the paragraph claiming otherwise for all of them is corrected.

…ing address is withheld

The object form of arcadedb.ha.serverList gained bolt: (#5002) and grpc: (#6091), neither of
which was documented outside the code. A new "Client Routing Ports" section says what they
are for and the sentence that matters operationally: declare them whenever your nodes do not
all listen on the same port for that protocol, because the fallback derives a peer's address
from this node's port.

It also documents what #6183 changed: when two peers derive to the same address - nodes that
share a host and differ only by port - neither is advertised, because two listening sockets
cannot own one host:port, and nothing at all is advertised when the leader is one of them.
BOLT then answers ROUTE with itself as READ and ROUTE only.

arcadedb.grpc.port is now a registered server setting, so unlike the other grpc.* keys it is
resolved from environment variables too.
@mergify

mergify Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@lvca
lvca merged commit 81e2d9d into main Aug 17, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant