Summary
Two related CI-reliability problems in the bulk-import integration tests (not correctness of the product code).
1. Flaky under concurrent execution
Under a full-workspace cargo nextest run, a different test in it_query_rdfs_class_repro fails on each run (observed: sparql_select_class_prefixed, sparql_select_class_full_iris, sparql_select_property_works, jsonld_select_star_class), while all pass in isolation (including --all-features). The pattern (random test, only under load) points to resource contention in the threaded create().import().execute() setup racing under parallel test execution.
2. Bulk-import staging not cleaned up
Tests using .cleanup(false) (e.g. it_repro_bulk_filter_count) leave import/index staging under the temp dir. Observed accumulation of ~17 GB, which exhausted disk and broke an unrelated full-run mid-way ("no space left on device").
Suggested fixes
- Tighten test isolation under concurrent nextest (per-test temp dirs are used, but the threaded import + background indexer appear contention-sensitive); consider bounding import threads or serializing these tests.
- Ensure staging cleanup (avoid
cleanup(false) where not essential; scope/limit temp usage) so repeated runs don't accumulate.
CI reliability only — no product behavior change.
Summary
Two related CI-reliability problems in the bulk-import integration tests (not correctness of the product code).
1. Flaky under concurrent execution
Under a full-workspace
cargo nextest run, a different test init_query_rdfs_class_reprofails on each run (observed:sparql_select_class_prefixed,sparql_select_class_full_iris,sparql_select_property_works,jsonld_select_star_class), while all pass in isolation (including--all-features). The pattern (random test, only under load) points to resource contention in the threadedcreate().import().execute()setup racing under parallel test execution.2. Bulk-import staging not cleaned up
Tests using
.cleanup(false)(e.g.it_repro_bulk_filter_count) leave import/index staging under the temp dir. Observed accumulation of ~17 GB, which exhausted disk and broke an unrelated full-run mid-way ("no space left on device").Suggested fixes
cleanup(false)where not essential; scope/limit temp usage) so repeated runs don't accumulate.CI reliability only — no product behavior change.