imbajin opened a new pull request, #3270:
URL: https://github.com/apache/hugegraph/pull/3270

   ## Purpose of the PR
   
   Related to hugegraph/hugegraph#257; carries the reviewed consolidation from 
hugegraph/hugegraph#260 upstream.
   
   Before this change, Server core and Struct maintain parallel shared types 
and codecs, and PD/Store pull in graph-engine code. After this change, 
Struct/Common own the shared implementation; Core retains graph execution, 
transactions and TinkerPop integration.
   
   This prepares the **1.8.0 Java/SPI migration** on the current master 
revision. It does not change release version numbers. Affected Java 
integrations must be recompiled, and Server/PD/Store must be upgraded together.
   
   ```mermaid
   flowchart LR
       Core[Core: graph engine and TinkerPop adapters] --> Struct[Struct: 
shared types, queries and codecs]
       Store[Store: storage and schema lifecycle] --> Struct
       Struct --> Common[Common: utilities, JWT and RPC contracts]
       PD[PD service] --> Common
   ```
   
   These arrows describe shared ownership; Core still uses PD/Store clients for 
HStore execution.
   
   ## Main Changes
   
   - Consolidate IDs, schema metadata, base elements, queries, indexes, 
analyzers and codecs in Struct. Remove duplicate implementations rather than 
maintain parallel compatibility packages.
   - Keep one property/state/adjacency owner. Core wrappers retain engine 
callbacks, lazy loading, offheap access and TinkerPop adaptation.
   - Move PD-backed schema connections, watches and cache lifecycle into Store. 
Common owns JWT helpers and unchanged framework-free RPC configuration 
contracts.
   - Decode supported historical class names and Core enum ordinals at the 
serialization boundary. Preserve canonical writer formats, including streamed 
Kryo decoding.
   - Preserve dependency versions when removing incidental Core/PD paths, 
including Lucene analyzer alignment. Check resolved dependencies and actual 
flat/Boot-packaged jars for forbidden edges and duplicate HugeGraph classes.
   
   The following are deliberate behavioral repairs, not mechanical moves:
   
   | Review area | Behavior to verify |
   |---|---|
   | Public Java/SPI | Relocated types and method descriptors require 
recompilation; no permanent duplicate Core model remains |
   | Element adapters | Property/state propagation, edge wrapper identity, 
clone and offheap behavior |
   | Codecs and queries | Frozen producer fixtures, old enum ordering, schema 
key order, consistent StringId ordering and temporary versus persistent 
property encoding |
   | Indexes and OLAP | Server-compatible index keys; HStore compound 
property/vertex keys, matching legacy fallback/delete, exact-owner reads and 
bounded batches |
   
   Old Store-shortened long-text index keys may require rebuilding affected 
indexes. This migration does not rebuild them automatically. Previously 
overwritten legacy OLAP values cannot be recovered, and mixed-version OLAP 
writers are not supported. Details and Java mappings are in the [migration 
guide](https://github.com/hugegraph/hugegraph/blob/feat/struct-consolidation-1.8/docs/shared-foundation-migration.md).
   
   ## Verifying these changes
   
   - [ ] Trivial rework / code cleanup without test coverage.
   - [x] Existing engine, analyzer, PD/Store and API tests, plus focused 
shared-type and historical-data regressions.
   - [x] Additional validation: clean JDK 11 compilation/package, frozen 
old-producer fixtures, resolved dependency trees and distribution 
ownership/inventory checks.
   
   Local compilation, packaging, Struct and analyzer tests pass after 
synchronization with master. Fresh upstream CI is required before merging. 
Cluster startup validation is being completed; this PR stays draft while that 
and the paired documentation handoff are finalized.
   
   Toolchain/Computer consumer migrations are prepared locally and remain 
unpublished. Their coordinated publication and validation are release 
prerequisites, not evidence supplied by this repository's CI.
   
   ## Does this PR potentially affect the following parts?
   
   - [x] Dependencies: runtime inventory and release license/notice coverage 
are updated.
   - [x] Modify configurations: Store PD namespace and migrated runtime imports.
   - [x] The public API: Java/SPI ownership and descriptors.
   - [x] Other affects: documented index and OLAP behavior.
   - [ ] Nope
   
   ## Documentation Status
   
   - [x] `Doc - TODO`: the paired bilingual website PR is prepared and will be 
linked here before merging.
   - [ ] `Doc - Done`
   - [ ] `Doc - No Need`
   
   In-repository documentation: `docs/shared-foundation-migration.md`. 
Coordinate the code and website merges; passing CI alone does not establish 
release readiness.
   


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