bitflicker64 commented on PR #3237:
URL: https://github.com/apache/hugegraph/pull/3237#issuecomment-5855900242

   Stage A of the design above is pushed: `7f5672a7c..8d6e18684`. These are 
master bugs that stand on their own, so they land before the protocol.
   
   | Commit | Fix |
   |---|---|
   | `be867b28c` | hstore truncate no longer calls `resetIdByKey` for the 
schema store, so new schema ids cannot reuse the ids of elements that survived 
the truncate |
   | `c26d96130` | the graphspace auth clear deletes `.../AUTH/` instead of 
`.../AUTH`, which also matched graphs named like `AUTHx` |
   | `2d3dd41a8` | `IdMetaStore.getId` waits for a raft ReadIndex before 
reading the counter, so a leader elected a moment ago cannot hand out the same 
id range twice |
   | `1d4335fdd` | `onSnapshotSave` takes the RocksDB checkpoint on the state 
machine thread, so a snapshot cannot hold entries past its index; a failed 
checkpoint now completes once with an error instead of reporting an error and 
then success |
   | `8d6e18684` | new `raft.rpc-connect-timeout` (default 1000 ms), which 
removes the 11 s election after the first leader's host is lost. 
`raft.rpc-install-snapshot-timeout` is split out too, and its default of 0 
keeps today's value, `raft.rpc-timeout`. Both are in 
`hugegraph-pd/docs/configuration.md` and the yml templates |
   
   Tests on a local 1 PD, 1 Store run, Java 11, 2026-09-27: PD common 83 
passed, PD core 118 passed (2 skipped as before), unit 776 passed, hstore core 
817 passed. Each commit adds tests that fail with its fix reverted (5 PD core 
failures, and the truncate and auth tests fail).
   
   What is left on this PR:
   
   - **B:** copy-on-write for schema elements. Builders and jobs change cached 
objects before the PD write succeeds today, and `copy()` is shallow.
   - **C:** the PD commit layer, off behind a flag until every PD node supports 
it:
     - the TXN op with the per-graph record, compares and request-id dedup;
     - the member check before enable;
     - refusing plain writes to schema keys once enabled.
   - **D:** Server DDL through the TXN, with compares for every DDL kind, 
migration of existing graphs, system schema, and the CREATING, DROPPING and 
DROPPED states. D lands together with E, so no release polls.
   - **E:** `KvService.sync`, the handshake, the 12 s lease and 503 gate, the 
per-graph snapshot cache with changed-key reloads, the writer's own-commit 
wait, the task-start wait, and metrics. E removes the current poll, the version 
key and the schema-clear event puts.
   - **Docs and tests:** in-repo docs, a rewrite of apache/hugegraph-doc#498, 
the fault tests on a 3 PD cluster, and a new PR description.
   
   Separate from this PR: barrier DDL with Store-side fencing (Q4), and the 
Store schema cache fix (Q3).
   


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