bitflicker64 opened a new pull request, #538: URL: https://github.com/apache/hugegraph-doc/pull/538
## Purpose of the PR - link apache/hugegraph#3368 Docs for apache/hugegraph#3368 (https://github.com/apache/hugegraph/pull/3368), which splits PD's single Raft RPC timeout. The Raft table in section 4.1 of the PD quickstart says `raft.rpc-timeout` is the "Raft RPC connect, request and install-snapshot timeout", which stops being true with that PR. Updated in both EN and CN, in `quickstart/hugegraph/hugegraph-pd.md`: - `raft.rpc-timeout`: the timeout of a Raft RPC between PD nodes, and now also the deadline of the ReadIndex wait that PD runs before it reads an id counter. Id allocation fails when the wait takes longer. - `raft.rpc-connect-timeout` (new, default `1000`): the timeout of the Ping that opens a Raft connection to a peer. A candidate connects to its peers one at a time, so an election waits this long for each peer that accepts the TCP connection but does not answer. - `raft.rpc-install-snapshot-timeout` (new, default `0`, which uses `raft.rpc-timeout`). - A line under the table: both new options exist only in versions after 1.7.0, where `raft.rpc-timeout` is also the connect and install-snapshot timeout. - The sentence above the tables that says they were checked at master commit `2f827d6e` now adds that the three `raft.rpc-*` rows were checked against apache/hugegraph#3368. How the rows were checked, against apache/hugegraph#3368 at 0e42a32d0: - The second column stays "not set" for all three. PD starts with `-Dspring.config.location=conf/application.yml`, and the `hg-pd-dist` `application.yml` sets none of them; the PR adds the two new keys only to `application.yml.template` and to the jar's own `application.yml`, which that start script does not read. - The defaults are the `@Value` defaults in `PDConfig.Raft`. A value of `0` or less for the install-snapshot timeout falls back to `raft.rpc-timeout` (`getRpcInstallSnapshotTimeout()`). - The ReadIndex deadline: `RaftEngine.waitReadIndex()` calls `waitReadIndex(this.config.getRpcTimeout())`; a wait that times out throws, and `IdMetaStore` does not retry it. - jraft-core 1.3.14 bytecode: `AbstractClientService.connect()` sends a `PingRequest` with `getRpcConnectTimeoutMs()`, and `NodeImpl.electSelf()` calls it for each peer while it holds the node's write lock. This should merge after apache/hugegraph#3368, since no released PD has the two new options. Checks: `git diff --check`, `bash dist/validate-links.sh` (passed), and `scripts/hugo.sh build` (strict build, exit 0); both rendered pages show the three rows in the Raft table. -- 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]
