imbajin opened a new pull request, #3330: URL: https://github.com/apache/hugegraph/pull/3330
## Purpose of the PR Affected legacy graph rows must be rejected before missing-ID allocation, cold partition opening, Raft startup or staged snapshot activation. Earlier checks could run after metadata bootstrap had opened or pruned a partition DB, and default column-family options could reject a valid configured DB. Source PR: https://github.com/hugegraph/hugegraph/pull/301. ## Main Changes - Apply the shared preflight at these entry points. Cold opening checks all retained valid DB versions before pruning or cache publication; cached sessions retain their existing path. - Use the effective Store column-family configuration for read-only preflight and snapshot verification, preserve native error causes, and close native handles on failure. - Publish the committed snapshot index only after successful installation. The persisted ID format stays unchanged. Store/Raft location metadata may already change before preflight. Refusal preserves the inspected DB and incoming snapshot evidence; it does not infer row ownership or perform automatic migration. ```mermaid flowchart LR A[Allocate / cold open / Raft / snapshot] --> B[Shared read-only preflight] B -->|affected legacy rows or native error| C[Refuse and preserve evidence] B -->|valid data| D[Continue existing operation] ``` ## Verifying these changes - [ ] Trivial rework / code cleanup without any test coverage. (No Need) - [ ] Already covered by existing tests. - [x] Need tests and can be verified as follows: - Native cold-open, allocator, snapshot, configured L7 and corruption regressions; complete Java 17 compilation, formatter and three independent final reviews. - The original signed 1.7 transaction component produced an affected row, and the current checker rejected its copied DB without changing files. These component controls do not replace full SDK/Raft/cluster validation. The current organization CI has an Intel API-suite failure under investigation. Both repositories' current-head CI, the complete GraphID compatibility design, deployment upgrade, old-data visibility and recovery acceptance remain open. ## Does this PR potentially affect the following parts? - [ ] Dependencies - [ ] Modify configurations - [ ] The public API - [x] Other affects (Store bootstrap, Raft startup and snapshot activation) - [ ] Nope ## Documentation Status - [ ] `Doc - TODO` - [x] `Doc - Done` - [ ] `Doc - No Need` Repository guidance: [docs/store-graphid-upgrade.md](https://github.com/hugegraph/hugegraph/blob/fix/store-legacy-graph-prefix-preflight/docs/store-graphid-upgrade.md) and the RocksDB README. Paired website documentation: https://github.com/apache/hugegraph-doc/pull/523 (organization source: https://github.com/hugegraph/hugegraph-doc/pull/47). Coordinate the code and documentation merges. -- 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]
