Add ingest endpoint between automation and ingestion workflows - #757
Add ingest endpoint between automation and ingestion workflows#757vish-cs wants to merge 2 commits into
Conversation
3506969 to
1f6468e
Compare
Not up to standards ⛔🔴 Issues
|
| Category | Results |
|---|---|
| Documentation | 6 minor |
| CodeStyle | 9 minor |
🟢 Metrics 33 complexity
Metric Results Complexity 33
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
There was a problem hiding this comment.
Code Review
This pull request introduces a "force ingestion" feature and implements logic to skip imports that have already been successfully ingested. It adds a forceIngestion flag to the import models and updates the Spanner client to query ImportStatus and skip already successful imports unless forced. Feedback on the pull request suggests adding a unit test to explicitly verify that the new skip logic in get_import_info works as expected.
7b9dbb6 to
43a733b
Compare
43a733b to
c726e0d
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors the import automation and Spanner ingestion workflows by routing ingestion triggers through a new /imports/ingest endpoint in the ingestion helper service, introducing parallel integration testing, and updating Terraform configurations and Cloud Build steps. Feedback on these changes highlights a critical bug in the ingestion helper's skip logic where imports with missing versions might be incorrectly skipped, as well as an opportunity to optimize redundant string splitting in the import automation workflow.
073dc52 to
5ca94c7
Compare
This PR adds an /imports/ingest endpoint in the ingestion service which invokes the spanner ingestion workflow. This endpoint is invoked by the import automation workflow instead of directly invoking the ingestion workflow. This provides an API level separation b/w ET and L subsystems.
It also adds greaceful handling of SKIP state by using the latest_version.txt for any skipped runs. It then adds logic to the ingestion pipeline to skip ingestion by checking the provided version if it has been successfully ingested. It also adds an option to do force ingestion if needed.