Skip to content

composite sqlite-elasticsearch: CompartmentDefinitions never reach the ES index — /CompartmentDefinition serves empty and the UI caches the emptiness #462

Description

@angela-helios

Surfaced by the ui-tests-matrix validation run for #449 (30582018605) once the Docker-host quota fixes (#452/#454) stopped masking everything else: the sqlite-elasticsearch leg fails 18 browser tests in one cluster — the compartments page, the resources type rail, the builder's parameter datalist, and their a11y/nojs variants.

Evidence (from the workflow's conformance probe, 15s after readiness)

GET /CompartmentDefinition?_count=10000 → {"resourceType":"Bundle","type":"searchset","total":null,"entry":[]}
ES _cat/indices → hfs_default_searchparameter  7404 docs      ← SPs fully synced
ES hfs_default_compartmentdefinition/_count → index_not_found_exception

The suite then ran for 21 more minutes and the compartments tests still failed at the end — this is not sync lag; the CompartmentDefinition documents never reach ES while SearchParameters do. On the composite, search is served by ES, so GET /CompartmentDefinition is empty for the life of the process.

Curiously the s3-elasticsearch leg passed the same tests in the same run (94/1, the 1 being #442) — whatever orders seeding vs. the sync worker differs between the two composites, which smells like a startup-ordering race that sqlite (fast seeding) loses and S3 (slow seeding) wins.

Second facet: the UI caches the emptiness

CompartmentCatalog/SpCatalog only refuse to cache failed fetches; an empty 200 is cached for the process lifetime, so even after ES catches up the pages stay broken until restart. The cache should treat empty-when-the-primary-is-known-to-seed as provisional (or simply not cache empty sets), independent of the server-side fix.

Found while validating #449; the nightly reds attributed to the Docker host were hiding this.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions