You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Run the manual testing pass in MANUAL_TESTING_MATRIX.md for the MongoDB + Elasticsearch backend (HFS_STORAGE_BACKEND=mongo-es) and record the results in this issue.
The matrix is organised backend-first: every backend gets the same T0 through T8 sequence. This issue covers one row of that matrix.
Procedure
Follow MANUAL_TESTING_MATRIX.md sections 2 through 12 in order, using the mongo-es row of the per-backend environment table in section 5.
Infrastructure: start MongoDB 7.0 and Elasticsearch 8.15.0 per section 4. Infrastructure: start Elasticsearch 8.15.0 per section 4. Set HFS_COMPOSITE_SYNC_MODE=synchronous and HFS_ELASTICSEARCH_WRITE_REFRESH=wait_for (section 5 common env) so searches are read-your-write during T2 and T3. Confirm in the log or with HFS_LOG_LEVEL=debug that T3 searches are served by Elasticsearch, and that curl localhost:9200/_cat/indices/hfs* document counts match the T2 totals. Note: Bulk Data $export (T4) has no job store on MongoDB and is expected to return 501; record that cell as N/A rather than as a failure.
T0 Build with the CI selection: cargo build --workspace --all-features --release
T1 Start HFS with HFS_STORAGE_BACKEND=mongo-es HFS_MONGODB_URI=mongodb://localhost:27017 HFS_MONGODB_DATABASE=helios HFS_ELASTICSEARCH_NODES=http://localhost:9200 and confirm /health, /metadata, and /ui
T2 Import at least 10,000 resources from the Synthea bulk_1k archive (record wall-clock time, bundle count, resource total)
T3 One search per type: string, token, date, number, quantity, reference, uri, composite, special, plus chained, reverse-chained, _include/_revinclude, _sort, paging, _content, POST search
T4 Bulk Data $export: system, patient, group; all three NDJSON format spellings; unsupported format returns 400; UI /ui/bulk-export
T5 Create a ViewDefinition via API and via /ui/sql/view-definitions; examine $sql-run output in json, csv, ndjson, parquet
T6 $sql-export with a ViewDefinition subject, a SQLQuery Library subject, and a SQLView Library subject, cycling all four formats; UI /ui/sql/export
T7 Create a SubscriptionTopic (R4 backport Basic) and rest-hook Subscription, trigger notifications, verify delivery, $status, $events
T8 Verify the /ui/subscriptions activity dashboard (cards, table row, sparkline, failure streak, rehydration after restart)
Results to attach
The filled-in mongo-es row of the matrix table from section 1 of MANUAL_TESTING_MATRIX.md
build.log tail, hfs-mongo-es.log, import-mongo-es.log, and the T2 timing line
One T4 manifest and one T6 result manifest
Screenshots of /ui after import, /ui/sql/export with a completed card, and /ui/subscriptions after T8
For any failure: the request, the OperationOutcome, the log excerpt, and a link to the issue filed for it
Acceptance criteria
Every T0 through T8 cell for the mongo-es row is marked pass, or marked fail with a linked issue, or marked N/A where section 1's expected-support table says the capability is unsupported on this backend
Results and artifacts listed above are attached to this issue
Summary
Run the manual testing pass in
MANUAL_TESTING_MATRIX.mdfor the MongoDB + Elasticsearch backend (HFS_STORAGE_BACKEND=mongo-es) and record the results in this issue.The matrix is organised backend-first: every backend gets the same T0 through T8 sequence. This issue covers one row of that matrix.
Procedure
Follow
MANUAL_TESTING_MATRIX.mdsections 2 through 12 in order, using themongo-esrow of the per-backend environment table in section 5.Infrastructure: start MongoDB 7.0 and Elasticsearch 8.15.0 per section 4. Infrastructure: start Elasticsearch 8.15.0 per section 4. Set
HFS_COMPOSITE_SYNC_MODE=synchronousandHFS_ELASTICSEARCH_WRITE_REFRESH=wait_for(section 5 common env) so searches are read-your-write during T2 and T3. Confirm in the log or withHFS_LOG_LEVEL=debugthat T3 searches are served by Elasticsearch, and thatcurl localhost:9200/_cat/indices/hfs*document counts match the T2 totals. Note: Bulk Data$export(T4) has no job store on MongoDB and is expected to return501; record that cell as N/A rather than as a failure.cargo build --workspace --all-features --releaseHFS_STORAGE_BACKEND=mongo-es HFS_MONGODB_URI=mongodb://localhost:27017 HFS_MONGODB_DATABASE=helios HFS_ELASTICSEARCH_NODES=http://localhost:9200and confirm/health,/metadata, and/uibulk_1karchive (record wall-clock time, bundle count, resource total)_include/_revinclude,_sort, paging,_content, POST search$export: system, patient, group; all three NDJSON format spellings; unsupported format returns 400; UI/ui/bulk-export/ui/sql/view-definitions; examine$sql-runoutput in json, csv, ndjson, parquet$sql-exportwith a ViewDefinition subject, a SQLQuery Library subject, and a SQLView Library subject, cycling all four formats; UI/ui/sql/exportBasic) and rest-hook Subscription, trigger notifications, verify delivery,$status,$events/ui/subscriptionsactivity dashboard (cards, table row, sparkline, failure streak, rehydration after restart)Results to attach
mongo-esrow of the matrix table from section 1 ofMANUAL_TESTING_MATRIX.mdbuild.logtail,hfs-mongo-es.log,import-mongo-es.log, and the T2 timing line/uiafter import,/ui/sql/exportwith a completed card, and/ui/subscriptionsafter T8Acceptance criteria
mongo-esrow is marked pass, or marked fail with a linked issue, or marked N/A where section 1's expected-support table says the capability is unsupported on this backend