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]
