Move communication with IngestionJob to JobCoordinator #800
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
To resolve some concerns related to overloading responsibilities in SpecService in my previous PR #792 I moved all communications with IngestionJob to JobCoordinatorService
Implemented flow
New FeatureSet:
JobCoordinator.Poll
allocates this Set to Job(s) by creating FeatureSetJobStatus (seeJobUpdateTask.updateFeatureSets
) with version=0 and deliveryStatus=in-progressJobCoordinator.notifyJobs
detects that there's pending FeatureSet with allocated job(s) and send FeatureSetSpec to kafka (topic is shared between all jobs)JobCoordinator.listenAckFromJobs
receives ack from job and update deliveryStatus in FeatureSetJobStatusExisting FeatureSet:
JobCoordinator.notifyJobs
picks it up and send to kafka with updating FeatureSetJobStatus to the latest version... same flow as previous
New job spawned (bc previous canceled, eg):
version = <latest-version-of-feature-set>
since new Job can read whole history of FeatureSets from kafka topic. Nothing is being sent to specs topicWhich issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?: