imbajin opened a new issue, #3090:
URL: https://github.com/apache/hugegraph/issues/3090

   ## Problem
   
   PR #3008 exposed 22 historically excluded HStore core-test cases after the 
Maven `backend` property was propagated to every Surefire execution. Scoping 
that property back to the API-test execution fixes the PR regression, but it 
does not resolve the underlying HStore defects or the legacy test guards.
   
   The exclusions were introduced by `d36e05ece8554fee73ba332147560930b3eba234` 
as temporary HStore skips. Their conditions use `Assume.assumeTrue(isHstore)` 
despite saying `skip this test for hstore`. Before PR #3008, the core-test JVM 
did not receive the backend property, so these tests were skipped because the 
value was null. A global property exposed 21 failures/errors and reduced 
skipped tests from 42 to 20.
   
   Historical evidence:
   
   - Passing baseline: 
https://github.com/apache/hugegraph/actions/runs/29094884977
   - First exposing run: 
https://github.com/apache/hugegraph/actions/runs/29097183435
   - Latest repeated failure: 
https://github.com/apache/hugegraph/actions/runs/29105710720
   
   ## Confirmed technical issues
   
   1. HStore operator-sinking property decoding expects a self-describing byte 
containing `(cardinality << 6) | dataType`, while the Server binary writer 
stores the raw property value. Store-side filtering can therefore decode the 
first value byte as invalid `Cardinality code 0` or `DataType code 43`.
   2. Core-test schema cleanup uses asynchronous deletion with a fixed 100 ms 
wait, allowing schema tasks and cache-clear events to cross test boundaries.
   3. `HstoreSessionsImpl.clear()` does not remove the graph from 
`infoInitializedGraph`, so delete and recreate lifecycle state is incomplete.
   4. HStore feature flags claim support for several OLAP, scan, range, and 
paging capabilities whose excluded tests currently fail.
   5. RamTable is explicitly unsupported by HStore; those tests should remain 
clearly and correctly excluded.
   
   ## Required work
   
   - [ ] Define an HStore-specific, versioned property codec for operator 
sinking without changing the RocksDB binary format.
   - [ ] Define backward-read or migration behavior for existing HStore data.
   - [ ] Make schema cleanup wait for task completion and verify 
schema/index/cache convergence.
   - [ ] Fix the HStore graph clear and recreate lifecycle, including 
`infoInitializedGraph`.
   - [ ] Correct the legacy HStore test guards and align them with feature 
flags.
   - [ ] Re-enable supported OLAP, scan, range, paging, and multi-graph tests.
   - [ ] Keep only explicitly unsupported tests, such as RamTable, skipped with 
an accurate reason.
   
   ## Acceptance criteria
   
   - HStore property filtering covers SINGLE/LIST/SET cardinalities and all 
supported data types for vertices and edges.
   - Sort-key prefix/range/paging tests pass both individually and in the 
complete CoreTestSuite.
   - Multi-graph schema isolation passes.
   - Repeated clear and recreate tests pass for at least 50 iterations without 
cross-test tasks or stale initialization state.
   - Existing data compatibility or migration is documented and tested.
   - The HStore core suite receives an explicit backend value and passes with 
only intentional unsupported cases skipped.


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

Reply via email to