René's URL Explorer Experiment


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 = since new Job can read whole history of FeatureSets from kafka topic. Nothing is being sent to specs topic Which issue(s) this PR fixes: Fixes # Does this PR introduce a user-facing change?:

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

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:68002d47-39d5-2174-78d5-488e5146c0a6
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idC088:99395:54CFC:67265:697F98B5
html-safe-nonced7f2a8cd413ebeb98e7696c9eddd616c0d7980f7d30760f25d3897ee6e72865d
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMDg4Ojk5Mzk1OjU0Q0ZDOjY3MjY1OjY5N0Y5OEI1IiwidmlzaXRvcl9pZCI6IjkxMzQ3NDA3NjI3OTIwMDc4NjEiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac52509904ea59a64171a132a29f25bac53045abe7bf5429c32cabfda6c2a0d6bf
hovercard-subject-tagpull_request:435679877
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/feast-dev/feast/pull/800/files
twitter:imagehttps://avatars.githubusercontent.com/u/1303659?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/1303659?s=400&v=4
og:image:altWhat 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_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None60279d4097367e16897439d16d6bbe4180663db828c666eeed2656988ffe59f6
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/feast-dev/feast git https://github.com/feast-dev/feast.git
octolytics-dimension-user_id57027613
octolytics-dimension-user_loginfeast-dev
octolytics-dimension-repository_id161133770
octolytics-dimension-repository_nwofeast-dev/feast
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id161133770
octolytics-dimension-repository_network_root_nwofeast-dev/feast
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release7c85641c598ad130c74f7bcc27f58575cac69551
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/feast-dev/feast/pull/800/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ffeast-dev%2Ffeast%2Fpull%2F800%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ffeast-dev%2Ffeast%2Fpull%2F800%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=feast-dev%2Ffeast
Reloadhttps://github.com/feast-dev/feast/pull/800/files
Reloadhttps://github.com/feast-dev/feast/pull/800/files
Reloadhttps://github.com/feast-dev/feast/pull/800/files
feast-dev https://github.com/feast-dev
feasthttps://github.com/feast-dev/feast
Notifications https://github.com/login?return_to=%2Ffeast-dev%2Ffeast
Fork 1.2k https://github.com/login?return_to=%2Ffeast-dev%2Ffeast
Star 6.7k https://github.com/login?return_to=%2Ffeast-dev%2Ffeast
Code https://github.com/feast-dev/feast
Issues 183 https://github.com/feast-dev/feast/issues
Pull requests 69 https://github.com/feast-dev/feast/pulls
Discussions https://github.com/feast-dev/feast/discussions
Actions https://github.com/feast-dev/feast/actions
Security 0 https://github.com/feast-dev/feast/security
Insights https://github.com/feast-dev/feast/pulse
Code https://github.com/feast-dev/feast
Issues https://github.com/feast-dev/feast/issues
Pull requests https://github.com/feast-dev/feast/pulls
Discussions https://github.com/feast-dev/feast/discussions
Actions https://github.com/feast-dev/feast/actions
Security https://github.com/feast-dev/feast/security
Insights https://github.com/feast-dev/feast/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Ffeast-dev%2Ffeast%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Ffeast-dev%2Ffeast%2Fissues%2Fnew%2Fchoose
feast-ci-bothttps://github.com/feast-ci-bot
feast-dev:masterhttps://github.com/feast-dev/feast/tree/master
pyalex:specs-in-kafkahttps://github.com/pyalex/feast/tree/specs-in-kafka
Conversation 4 https://github.com/feast-dev/feast/pull/800
Commits 1 https://github.com/feast-dev/feast/pull/800/commits
Checks 0 https://github.com/feast-dev/feast/pull/800/checks
Files changed https://github.com/feast-dev/feast/pull/800/files
Please reload this pagehttps://github.com/feast-dev/feast/pull/800/files
Move communication with IngestionJob to JobCoordinator https://github.com/feast-dev/feast/pull/800/files#top
Show all changes 1 commit https://github.com/feast-dev/feast/pull/800/files
fbb5eb8 solve techdebt: move communication with job to JobCoordinator pyalex Jun 17, 2020 https://github.com/feast-dev/feast/pull/800/commits/fbb5eb8dae5bbf7f44a48bbcdb4994161a245b7b
Clear filters https://github.com/feast-dev/feast/pull/800/files
Please reload this pagehttps://github.com/feast-dev/feast/pull/800/files
Please reload this pagehttps://github.com/feast-dev/feast/pull/800/files
FeastProperties.java https://github.com/feast-dev/feast/pull/800/files#diff-674a079771ed44b6277492ff09f03b398a7741e3407b282d8babcddc4e3871d7
FeatureSetRepository.java https://github.com/feast-dev/feast/pull/800/files#diff-9f824d92d701c63938b1d9fa1a3eb5d395525a279e5d534f78ccddbe58cff96d
JobUpdateTask.java https://github.com/feast-dev/feast/pull/800/files#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
FeatureSetJobStatus.java https://github.com/feast-dev/feast/pull/800/files#diff-0347838f0d38edc8f8a60bef546afcf435c196b35617d803499904f94a714c88
JobCoordinatorService.java https://github.com/feast-dev/feast/pull/800/files#diff-e00c51ab165ad0121271c6f080f7ec67812bf01ceb58b571f58d735fd6f184ba
SpecService.java https://github.com/feast-dev/feast/pull/800/files#diff-77d410df4742593d8bc2f9b7cebc113912c9a9f9a3b832db7e30067c3184196f
application.yml https://github.com/feast-dev/feast/pull/800/files#diff-cb96a7758543958bd30e0c4d1ceec43619c0a4fbd7da783119275ea2a4cd797b
JobUpdateTaskTest.java https://github.com/feast-dev/feast/pull/800/files#diff-5169333fcd0df390bca0d06c61c65bff4908348b83fde0a8d79f28473c2957f5
JobCoordinatorServiceTest.java https://github.com/feast-dev/feast/pull/800/files#diff-e6b95e0f18caa73bbda2401ec5f10d37c38454eaf36b9f0dcef328dbc3e9e671
SpecServiceTest.java https://github.com/feast-dev/feast/pull/800/files#diff-3e5a2daecb252ed55f8f4aeef423a69b3a3582419250ad08856fba54c31b2704
TestObjectFactory.java https://github.com/feast-dev/feast/pull/800/files#diff-ddfb61400b20f1828c0576221155082bbabc7199289b11e9dee4593f59096dc3
core/src/main/java/feast/core/config/FeastProperties.javahttps://github.com/feast-dev/feast/pull/800/files#diff-674a079771ed44b6277492ff09f03b398a7741e3407b282d8babcddc4e3871d7
View file https://github.com/pyalex/feast/blob/fbb5eb8dae5bbf7f44a48bbcdb4994161a245b7b/core/src/main/java/feast/core/config/FeastProperties.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/800/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/800/files#diff-674a079771ed44b6277492ff09f03b398a7741e3407b282d8babcddc4e3871d7
https://github.com/feast-dev/feast/pull/800/files#diff-674a079771ed44b6277492ff09f03b398a7741e3407b282d8babcddc4e3871d7
core/src/main/java/feast/core/dao/FeatureSetRepository.javahttps://github.com/feast-dev/feast/pull/800/files#diff-9f824d92d701c63938b1d9fa1a3eb5d395525a279e5d534f78ccddbe58cff96d
View file https://github.com/pyalex/feast/blob/fbb5eb8dae5bbf7f44a48bbcdb4994161a245b7b/core/src/main/java/feast/core/dao/FeatureSetRepository.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/800/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/800/files#diff-9f824d92d701c63938b1d9fa1a3eb5d395525a279e5d534f78ccddbe58cff96d
https://github.com/feast-dev/feast/pull/800/files#diff-9f824d92d701c63938b1d9fa1a3eb5d395525a279e5d534f78ccddbe58cff96d
core/src/main/java/feast/core/job/JobUpdateTask.javahttps://github.com/feast-dev/feast/pull/800/files#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
View file https://github.com/pyalex/feast/blob/fbb5eb8dae5bbf7f44a48bbcdb4994161a245b7b/core/src/main/java/feast/core/job/JobUpdateTask.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/800/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/800/files#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
https://github.com/feast-dev/feast/pull/800/files#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
https://github.com/feast-dev/feast/pull/800/files#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
https://github.com/feast-dev/feast/pull/800/files#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
https://github.com/feast-dev/feast/pull/800/files#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
https://github.com/feast-dev/feast/pull/800/files#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
core/src/main/java/feast/core/model/FeatureSetJobStatus.javahttps://github.com/feast-dev/feast/pull/800/files#diff-0347838f0d38edc8f8a60bef546afcf435c196b35617d803499904f94a714c88
View file https://github.com/pyalex/feast/blob/fbb5eb8dae5bbf7f44a48bbcdb4994161a245b7b/core/src/main/java/feast/core/model/FeatureSetJobStatus.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/800/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/800/files#diff-0347838f0d38edc8f8a60bef546afcf435c196b35617d803499904f94a714c88
https://github.com/feast-dev/feast/pull/800/files#diff-0347838f0d38edc8f8a60bef546afcf435c196b35617d803499904f94a714c88
https://github.com/feast-dev/feast/pull/800/files#diff-0347838f0d38edc8f8a60bef546afcf435c196b35617d803499904f94a714c88
core/src/main/java/feast/core/service/JobCoordinatorService.javahttps://github.com/feast-dev/feast/pull/800/files#diff-e00c51ab165ad0121271c6f080f7ec67812bf01ceb58b571f58d735fd6f184ba
View file https://github.com/pyalex/feast/blob/fbb5eb8dae5bbf7f44a48bbcdb4994161a245b7b/core/src/main/java/feast/core/service/JobCoordinatorService.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/800/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/800/files#diff-e00c51ab165ad0121271c6f080f7ec67812bf01ceb58b571f58d735fd6f184ba
https://github.com/feast-dev/feast/pull/800/files#diff-e00c51ab165ad0121271c6f080f7ec67812bf01ceb58b571f58d735fd6f184ba
https://github.com/feast-dev/feast/pull/800/files#diff-e00c51ab165ad0121271c6f080f7ec67812bf01ceb58b571f58d735fd6f184ba
https://github.com/feast-dev/feast/pull/800/files#diff-e00c51ab165ad0121271c6f080f7ec67812bf01ceb58b571f58d735fd6f184ba
https://github.com/feast-dev/feast/pull/800/files#diff-e00c51ab165ad0121271c6f080f7ec67812bf01ceb58b571f58d735fd6f184ba
Please reload this pagehttps://github.com/feast-dev/feast/pull/800/files
Please reload this pagehttps://github.com/feast-dev/feast/pull/800/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.