Title: Move communication with IngestionJob to JobCoordinator by pyalex · Pull Request #800 · feast-dev/feast · GitHub
Open Graph Title: Move communication with IngestionJob to JobCoordinator by pyalex · Pull Request #800 · feast-dev/feast
X Title: Move communication with IngestionJob to JobCoordinator by pyalex · Pull Request #800 · feast-dev/feast
Description: 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:
FeatureSet being created through SpecService.applyFeatureSet with status PENDING
JobCoordinator.Poll allocates this Set to Job(s) by creating FeatureSetJobStatus (see JobUpdateTask.updateFeatureSets) with version=0 and deliveryStatus=in-progress
JobCoordinator.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 FeatureSetJobStatus
As soon as all allocated jobs acknowledged FeatureSet status set to READY
Existing FeatureSet:
FeatureSet being updated through SpecService.applyFeatureSet. Status changed to PENDING. Version incremented.
FeatureSet is already allocated to job(s) so 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):
JobUpdateTask creates FeatureSetJobStatuses for all allocated FeatureSets with version =
Open Graph Description: 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 JobCoordin...
X Description: 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 JobCoordin...
Opengraph URL: https://github.com/feast-dev/feast/pull/800
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:d49fd5c6-d8e5-fb77-8b4d-a1da31a99542 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 9E92:81BA7:AF09F3:DE8FBB:697FCF3D |
| html-safe-nonce | a15177bf49250725b1bed6abafe83db03668a72ec6da04a5fc54fe68e025b180 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5RTkyOjgxQkE3OkFGMDlGMzpERThGQkI6Njk3RkNGM0QiLCJ2aXNpdG9yX2lkIjoiNDk2MTAwODMxNjExMDA2NTQ2OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 29cec0348cd12e4cadd241b87ee1ea58504596bece4b8a4e70f86fc6027ee336 |
| hovercard-subject-tag | pull_request:435679877 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/feast-dev/feast/pull/800/files |
| twitter:image | https://avatars.githubusercontent.com/u/1303659?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/1303659?s=400&v=4 |
| og:image:alt | 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 JobCoordin... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 60279d4097367e16897439d16d6bbe4180663db828c666eeed2656988ffe59f6 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/feast-dev/feast git https://github.com/feast-dev/feast.git |
| octolytics-dimension-user_id | 57027613 |
| octolytics-dimension-user_login | feast-dev |
| octolytics-dimension-repository_id | 161133770 |
| octolytics-dimension-repository_nwo | feast-dev/feast |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 161133770 |
| octolytics-dimension-repository_network_root_nwo | feast-dev/feast |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7c85641c598ad130c74f7bcc27f58575cac69551 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width