Skip to content

SIMSBIOHUB-883: Parse Feature Content into Search Tables#341

Merged
dwhogan merged 4 commits intodevfrom
SIMSBIOHUB-883
Feb 26, 2026
Merged

SIMSBIOHUB-883: Parse Feature Content into Search Tables#341
dwhogan merged 4 commits intodevfrom
SIMSBIOHUB-883

Conversation

@dwhogan
Copy link
Collaborator

@dwhogan dwhogan commented Feb 25, 2026

Links to Jira Tickets

Description of Changes

As a BioHub background worker, I want submission features to be automatically indexed into the search tables after validation completes, so that new submissions become searchable without manual admin intervention.

Acceptance Criteria

  1. Publishing the Indexing Job
    WHEN the process-submission-features job handler completes validation successfully,
    THEN a new index-submission-features job should be published with the submissionId,
    AND the job should follow existing patterns (singleton key, retry config, DLQ).

  2. Processing the Indexing Job
    WHEN the index-submission-features job is picked up by the worker,
    THEN SearchFeatureService.indexFeaturesBySubmissionId() should be called,
    AND features should be inserted into search_string, search_number, search_datetime, and search_spatial tables.

  3. Handling Indexing Failures
    WHEN the indexing job fails after all retries are exhausted,
    THEN the dead letter queue handler should log the failure with error details,
    AND the validation job's success should NOT be affected (indexing failure is independent).

Testing Notes

  • Internal pg-boss worker wiring
  • Verified via unit tests
  • Idempotency: Re-indexing the same submission does not create duplicate search rows
  • Existing search and admin workflows unchanged

@dwhogan dwhogan changed the title SIMSBIOHUB-883 - Parse Feature Content into Search Tables SIMSBIOHUB-883: Parse Feature Content into Search Tables Feb 25, 2026
@dwhogan dwhogan marked this pull request as ready for review February 25, 2026 13:41
Copy link
Collaborator

@mauberti-bc mauberti-bc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@mauberti-bc
Copy link
Collaborator

My same comment form #340 about re-using the database connection between jobs, but it's non-blocking; more food for thought.

@sonarqubecloud
Copy link

@dwhogan dwhogan merged commit ae768f2 into dev Feb 26, 2026
18 checks passed
@dwhogan dwhogan deleted the SIMSBIOHUB-883 branch February 26, 2026 20:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Ready For Review PR is ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants