Track HStore core-test exclusions and property codec mismatch
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start with the HStore core-test exclusions and CoreTestSuite, then trace HstoreSessionsImpl.clear(), infoInitializedGraph, and the operator-sinking property writer and decoder. Run the HStore core suite with an explicit backend value; done means supported filtering, schema isolation, lifecycle, and compatibility tests pass with only accurately documented unsupported cases skipped.
Written by the indexing model from the issue text.
Description
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
- 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 invalidCardinality code 0orDataType code 43. - Core-test schema cleanup uses asynchronous deletion with a fixed 100 ms wait, allowing schema tasks and cache-clear events to cross test boundaries.
HstoreSessionsImpl.clear()does not remove the graph frominfoInitializedGraph, so delete and recreate lifecycle state is incomplete.- HStore feature flags claim support for several OLAP, scan, range, and paging capabilities whose excluded tests currently fail.
- 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.
- Dominant language
- Java
- Stars
- 3.2k
- Forks
- 637
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 23
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/hugegraph
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Difficulty 3/5 1-2 days Newbie friendliness 64/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 5/5 Over a week Newbie friendliness 28/100
All issues in apache/hugegraph
Similar issues
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 90/100
apache/cloudstack#14222 ·
-
[BUG]茶杯方块在取茶时会引发崩溃 Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
1.0.0-alpha2 Type/Improvement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
wso2/dpdp-accelerator#272 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
area/frontend
Difficulty 2/5 1-3 hours Newbie friendliness 65/100