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]

Reply via email to