Skip to content

Fix ownership transfers, search timestamps and health responses - #192

Merged
maxlastglance merged 4 commits into
mainfrom
fix/ownership-search-health
Nov 7, 2026
Merged

maxlastglance merged 4 commits into
mainfrom
fix/ownership-search-health

Conversation

@maxlastglance

@maxlastglance maxlastglance commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Database transfers currently send the wrong SDK field and can leave the new owner without a grant. Search rejects space-separated Metadata timestamps in percolator documents. Public health responses also differ between gateway and direct-UI deployments.

Four separate commits address #179–#182:

  • Send username for owner transfers and parse the API's brief response without a follow-up read that could fail after ownership changes.
  • Validate the target account, create or upgrade its WRITE_ALL grant in Data-Service and Metadata, then change ownership. Keep unrelated explicit memberships. Failed grant operations leave ownership unchanged.
  • Normalize only mapped date fields in authorized percolator documents. Preserve other searchable fields and existing index mappings; no index reset is required.
  • Return the same JSON availability response from UI and both gateway configurations. Disable the Prometheus module's competing text health handler and add a production HTTP contract check to UI CI. This response does not claim backend readiness.

Closes #179. Closes #180. Closes #181. Closes #182.

Local validation so far: 342 SDK unit tests, 96 affected Metadata tests, including seven owner-transfer/validation tests and OpenAPI coverage, and a production UI build pass. Search integration tests cover raw nested timestamps against fresh and existing percolator indexes, alongside the existing authorization tests. All PR checks pass on the final head. The isolated user-profile preview reports 109 passed/6 failed, previously 104/11, with no newly failing case. Three remaining raw failures are retired catalog calls and three belong to other open findings. A separate owner-control probe confirms immediate reads and writes after revocation/transfer, denies the former owner administrative transfer, and verifies transfer back. Direct UI/gateway health contracts and the retained metrics endpoint pass. The final date-normalization refinement was rechecked with real nested SQL timestamps against OpenSearch 2.18; all three search routes returned the expected database. Search CI also covers fresh/existing indexes and authorization on OpenSearch 2.10. Temporary preview containers were removed; persistent services remain healthy.

Hold merge for maintainer review of the four commits.

@maxlastglance
maxlastglance force-pushed the fix/ownership-search-health branch 2 times, most recently from f39854d to 81bd089 Compare November 7, 2026 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant