René's URL Explorer Experiment


Title: Refactor Source & Job data model and Stop Duplicate Ingestion Jobs by woop · Pull Request #685 · feast-dev/feast · GitHub

Open Graph Title: Refactor Source & Job data model and Stop Duplicate Ingestion Jobs by woop · Pull Request #685 · feast-dev/feast

X Title: Refactor Source & Job data model and Stop Duplicate Ingestion Jobs by woop · Pull Request #685 · feast-dev/feast

Description: What this PR does / why we need it: 1. Generalise Source Model. The current Source model in Feast Core is Kafka specific. For all intents and purposes it is a hardcoded implementation of KafkaSource containing topics/brokers as top level fields, despite the naming being Source. Not generalizing the data model at this point (prior to the release of 0.5) will cause further problems down the road when new sources are introduced. This PR moves Source configuration into a config object and isolates Kafka specific logic to case statements. isDefault is retained for the time being as a top level field, since it can easily be phased out if needed. Configuration is stored in String format: Comparison between Source objects with .equals() no longer takes into the isDefault field. Under this model, identical Source objects (ie .equals()) can be stored as duplicate source Objects. Added de duplication code to JobCoordinatorService to take this into account. 2. Make Feast stop duplicate ingestion Jobs. Currently JobCoordinatorService does not stop duplicate jobs (ie ingestion jobs that ingest from the same exact source to store pairing.). Updates JobCoordinatorService to abort these extra ingestion Jobs when safe (ie only when JobCoordinatorService can find a running ingestion job for each Source to Store pairing). 3. Job Model Refactors Standardize & Updated JobManager API: startJob() is standardised as transitioning a Job from PENDING to RUNNING. abortJob() is standardised as transitioning a Job from RUNNING to ABORTING changed abortJob() to return Job and take a Job as args to be consistent with other methods. Refactored JobUpdateTask.call() to be easier to follow. Refactored JobCoordinatorService.poll() into multiple methods (ie getSourceToStoreMapping(), makeJobUpdateTasks()) to make code more readable. Updated Job to store source fields (ie type and config) as inline fields in the Job table. This is done to make the Job model more consistent why the ingestion Job it represents Modifying the Source that the Job model references does not reflect onto the underlying Ingestion Job. Hence source fields are copied onto Job to reflect this in the Job model. Which issue(s) this PR fixes: Fixes #632 Does this PR introduce a user-facing change?: The database schema for Source has been generalized. This is a breaking change and requires a migration. The database schema for Job has changed. The Job table stores no longer Sources by id, instead stores Source.config and Source.type as inline fields. Feast now stops duplicate Ingestion Jobs with the same source and store pairing.

Open Graph Description: What this PR does / why we need it: 1. Generalise Source Model. The current Source model in Feast Core is Kafka specific. For all intents and purposes it is a hardcoded implementation of KafkaSourc...

X Description: What this PR does / why we need it: 1. Generalise Source Model. The current Source model in Feast Core is Kafka specific. For all intents and purposes it is a hardcoded implementation of KafkaSourc...

Opengraph URL: https://github.com/feast-dev/feast/pull/685

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:e970fd92-e420-b519-fb19-3614c2e36ae2
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE972:534AA:2357074:2F25F68:697C498F
html-safe-nonce71d3386abaad6db4c0ad5c42175f4202e4f09730e29bfc111825341f13e4f052
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFOTcyOjUzNEFBOjIzNTcwNzQ6MkYyNUY2ODo2OTdDNDk4RiIsInZpc2l0b3JfaWQiOiIzMjg5MDA1MTYwMTIxNzgwNjIzIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmace551b92dfb4e9a914395c2a86182a1a1461945377e957d8406fe171b8b894e08
hovercard-subject-tagpull_request:415065697
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/685/files
twitter:imagehttps://avatars.githubusercontent.com/u/6728866?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/6728866?s=400&v=4
og:image:altWhat this PR does / why we need it: 1. Generalise Source Model. The current Source model in Feast Core is Kafka specific. For all intents and purposes it is a hardcoded implementation of KafkaSourc...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneda4f0ee56809799586f8ee546b27f94fe9b5893edfbf87732e82be45be013b52
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
release787d8d274e314f52ce6d846c7581f9476d8dc736
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/feast-dev/feast/pull/685/changes#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ffeast-dev%2Ffeast%2Fpull%2F685%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%2F685%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/685/changes
Reloadhttps://github.com/feast-dev/feast/pull/685/changes
Reloadhttps://github.com/feast-dev/feast/pull/685/changes
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 182 https://github.com/feast-dev/feast/issues
Pull requests 66 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
woop:generalize-sourceshttps://github.com/woop/feast/tree/generalize-sources
Conversation 44 https://github.com/feast-dev/feast/pull/685
Commits 5 https://github.com/feast-dev/feast/pull/685/commits
Checks 0 https://github.com/feast-dev/feast/pull/685/checks
Files changed https://github.com/feast-dev/feast/pull/685/files
Please reload this pagehttps://github.com/feast-dev/feast/pull/685/changes
Refactor Source & Job data model and Stop Duplicate Ingestion Jobs https://github.com/feast-dev/feast/pull/685/changes#top
Show all changes 5 commits https://github.com/feast-dev/feast/pull/685/files
eca5f09 Rebase & squash on master mrzzy Jun 18, 2020 https://github.com/feast-dev/feast/pull/685/commits/eca5f09d6108a7edd61611107dd621fb96a57f0b
d176811 Fix java unit tests mrzzy Jun 18, 2020 https://github.com/feast-dev/feast/pull/685/commits/d176811e3ffe63c26b2401ef6f6e7e48474962d5
af3c88d Rebase on JobService PR fix mrzzy Jun 19, 2020 https://github.com/feast-dev/feast/pull/685/commits/af3c88d7bdf749b46fe1104ccffaa042843404aa
509e31b Update JobUpdateTask's createJobId() to generate id based on source c… mrzzy Jun 19, 2020 https://github.com/feast-dev/feast/pull/685/commits/509e31b3f379729de05128c788cede310a8404c9
ac798c7 Fix wrong conflict resolve in FeatureStreamConfig mrzzy Jun 19, 2020 https://github.com/feast-dev/feast/pull/685/commits/ac798c79edca68c31ebce1885e305c05c8c815e5
Clear filters https://github.com/feast-dev/feast/pull/685/files
Please reload this pagehttps://github.com/feast-dev/feast/pull/685/changes
Please reload this pagehttps://github.com/feast-dev/feast/pull/685/changes
pom.xml https://github.com/feast-dev/feast/pull/685/changes#diff-8d04401f1cc51365fe3e32f019cd720135ba920a1a7da7f19e9c9208478701fc
FeatureStreamConfig.java https://github.com/feast-dev/feast/pull/685/changes#diff-6e54d5db36dd7d25e5dac448e913a1619940a61d20503fd9008c04dfd646a8a3
JobRepository.java https://github.com/feast-dev/feast/pull/685/changes#diff-de37db290b5287fec5eea16ac182471732a1ece151175f11aaad55f975710806
SourceRepository.java https://github.com/feast-dev/feast/pull/685/changes#diff-57edc94488373b71ca57089a8d60309d8e287cf1138ff0e6d473300654d06306
JobManager.java https://github.com/feast-dev/feast/pull/685/changes#diff-046322c04b126f72c72ab44c83664bfd6e7fa06120395b4e131e67f0f9cfd98f
JobUpdateTask.java https://github.com/feast-dev/feast/pull/685/changes#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
DataflowJobManager.java https://github.com/feast-dev/feast/pull/685/changes#diff-0bef9304bcee148647cba5905007be62d3393d60e04daee560dba65bc1272aae
DirectRunnerJobManager.java https://github.com/feast-dev/feast/pull/685/changes#diff-e62e308f4e577e691c3719f83e37fedce3af90202f2803fd9e9795fe61883143
FeatureSet.java https://github.com/feast-dev/feast/pull/685/changes#diff-408a8e7f33c4419fc8357aeee3dae3bac5e351cd995a436b3679d4d3936540e1
Job.java https://github.com/feast-dev/feast/pull/685/changes#diff-e95558185cd29f6683ba92d36d8f88fca53ea9dcf57a23813a257a1462593144
Source.java https://github.com/feast-dev/feast/pull/685/changes#diff-c65e26511a5452315ab7a63d527b18190a2d6ffbe7b754183db0357849d82808
Store.java https://github.com/feast-dev/feast/pull/685/changes#diff-12d7f8f0ae80aca90d85e681f201475a6f958b627e95d4a60441cf36c65221ec
JobCoordinatorService.java https://github.com/feast-dev/feast/pull/685/changes#diff-e00c51ab165ad0121271c6f080f7ec67812bf01ceb58b571f58d735fd6f184ba
JobService.java https://github.com/feast-dev/feast/pull/685/changes#diff-2d7c4b0863b06e44e7186367d8612e7e4b9be9841efb113841b37268f46d2023
JobMatcher.java https://github.com/feast-dev/feast/pull/685/changes#diff-6ed83f7d230f250226c1c18f60798e3ff5ed2bf4dc6da3af7c7ba4ef85e174c6
JobUpdateTaskTest.java https://github.com/feast-dev/feast/pull/685/changes#diff-5169333fcd0df390bca0d06c61c65bff4908348b83fde0a8d79f28473c2957f5
DataflowJobManagerTest.java https://github.com/feast-dev/feast/pull/685/changes#diff-c7d8e5e0eb8ec2ada26a93107d0e114d9bcb5c75c92f7f0b7b8b5c7e78be66e4
DirectRunnerJobManagerTest.java https://github.com/feast-dev/feast/pull/685/changes#diff-c9efecd719a116af68bf2822e9c4e931f843ffdcf2127744d620cd8c024509e8
JobCoordinatorServiceTest.java https://github.com/feast-dev/feast/pull/685/changes#diff-e6b95e0f18caa73bbda2401ec5f10d37c38454eaf36b9f0dcef328dbc3e9e671
JobServiceTest.java https://github.com/feast-dev/feast/pull/685/changes#diff-cabe7e374d3b1177eb6ead2a4b24e3319d3b26002ab3a78b66c2b9d7136d4417
SpecServiceTest.java https://github.com/feast-dev/feast/pull/685/changes#diff-3e5a2daecb252ed55f8f4aeef423a69b3a3582419250ad08856fba54c31b2704
TestObjectFactory.java https://github.com/feast-dev/feast/pull/685/changes#diff-ddfb61400b20f1828c0576221155082bbabc7199289b11e9dee4593f59096dc3
ModelHelpers.java https://github.com/feast-dev/feast/pull/685/changes#diff-27fad6f188040479bf7447eb53495d516e957941fd6da695be0ce49ea38a9f13
TestUtil.java https://github.com/feast-dev/feast/pull/685/changes#diff-27af8f6435cb76d7515098d7de876f4a1ef434e9c48bb95457aa0fb41380955e
pom.xml https://github.com/feast-dev/feast/pull/685/changes#diff-9c5fb3d1b7e3b0f54bc5c4182965c4fe1f9023d449017cece3005d3f90e8e4d8
cli.py https://github.com/feast-dev/feast/pull/685/changes#diff-cc33a5e7afa90467a37c11f60b2a380bd86af97524300ca6484a0373e2f00cb6
client.py https://github.com/feast-dev/feast/pull/685/changes#diff-d952d6ada8564fd279b430907894ccfda698bb52eed90846d3aa04c4c9bc4379
feature_set.py https://github.com/feast-dev/feast/pull/685/changes#diff-c32f70797a62b07c798f70588ea978ae3b173562af7a42f796df1fe761060c9b
ingest.py https://github.com/feast-dev/feast/pull/685/changes#diff-e1bc9b2d8315e7186ffb82e3ac51d98846dd74f151737ffd7607b82517ed5140
type_map.py https://github.com/feast-dev/feast/pull/685/changes#diff-c8d42aa830ab4d8fd6aa406e94e35664969bb39435ec15c7627ac1606fb185c0
basic-ingest-redis-serving.py https://github.com/feast-dev/feast/pull/685/changes#diff-d39afd313de0770dd750e6d26f0165fcb9edc5b396b074bc4b41645cff572d77
core/pom.xmlhttps://github.com/feast-dev/feast/pull/685/changes#diff-8d04401f1cc51365fe3e32f019cd720135ba920a1a7da7f19e9c9208478701fc
View file https://github.com/woop/feast/blob/ac798c79edca68c31ebce1885e305c05c8c815e5/core/pom.xml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/685/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/685/changes#diff-8d04401f1cc51365fe3e32f019cd720135ba920a1a7da7f19e9c9208478701fc
https://github.com/feast-dev/feast/pull/685/changes#diff-8d04401f1cc51365fe3e32f019cd720135ba920a1a7da7f19e9c9208478701fc
core/src/main/java/feast/core/config/FeatureStreamConfig.javahttps://github.com/feast-dev/feast/pull/685/changes#diff-6e54d5db36dd7d25e5dac448e913a1619940a61d20503fd9008c04dfd646a8a3
View file https://github.com/woop/feast/blob/ac798c79edca68c31ebce1885e305c05c8c815e5/core/src/main/java/feast/core/config/FeatureStreamConfig.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/685/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/685/changes#diff-6e54d5db36dd7d25e5dac448e913a1619940a61d20503fd9008c04dfd646a8a3
https://github.com/feast-dev/feast/pull/685/changes#diff-6e54d5db36dd7d25e5dac448e913a1619940a61d20503fd9008c04dfd646a8a3
https://github.com/feast-dev/feast/pull/685/changes#diff-6e54d5db36dd7d25e5dac448e913a1619940a61d20503fd9008c04dfd646a8a3
https://github.com/feast-dev/feast/pull/685/changes#diff-6e54d5db36dd7d25e5dac448e913a1619940a61d20503fd9008c04dfd646a8a3
core/src/main/java/feast/core/dao/JobRepository.javahttps://github.com/feast-dev/feast/pull/685/changes#diff-de37db290b5287fec5eea16ac182471732a1ece151175f11aaad55f975710806
View file https://github.com/woop/feast/blob/ac798c79edca68c31ebce1885e305c05c8c815e5/core/src/main/java/feast/core/dao/JobRepository.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/685/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/685/changes#diff-de37db290b5287fec5eea16ac182471732a1ece151175f11aaad55f975710806
core/src/main/java/feast/core/dao/SourceRepository.javahttps://github.com/feast-dev/feast/pull/685/changes#diff-57edc94488373b71ca57089a8d60309d8e287cf1138ff0e6d473300654d06306
View file https://github.com/woop/feast/blob/ac798c79edca68c31ebce1885e305c05c8c815e5/core/src/main/java/feast/core/dao/SourceRepository.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/685/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/685/changes#diff-57edc94488373b71ca57089a8d60309d8e287cf1138ff0e6d473300654d06306
core/src/main/java/feast/core/job/JobManager.javahttps://github.com/feast-dev/feast/pull/685/changes#diff-046322c04b126f72c72ab44c83664bfd6e7fa06120395b4e131e67f0f9cfd98f
View file https://github.com/woop/feast/blob/ac798c79edca68c31ebce1885e305c05c8c815e5/core/src/main/java/feast/core/job/JobManager.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/685/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/685/changes#diff-046322c04b126f72c72ab44c83664bfd6e7fa06120395b4e131e67f0f9cfd98f
https://github.com/feast-dev/feast/pull/685/changes#diff-046322c04b126f72c72ab44c83664bfd6e7fa06120395b4e131e67f0f9cfd98f
https://github.com/feast-dev/feast/pull/685/changes#diff-046322c04b126f72c72ab44c83664bfd6e7fa06120395b4e131e67f0f9cfd98f
core/src/main/java/feast/core/job/JobUpdateTask.javahttps://github.com/feast-dev/feast/pull/685/changes#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
View file https://github.com/woop/feast/blob/ac798c79edca68c31ebce1885e305c05c8c815e5/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/685/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/685/changes#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
https://github.com/feast-dev/feast/pull/685/changes#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
https://github.com/feast-dev/feast/pull/685/changes#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
https://github.com/feast-dev/feast/pull/685/changes#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
https://github.com/feast-dev/feast/pull/685/changes#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
https://github.com/feast-dev/feast/pull/685/changes#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
https://github.com/feast-dev/feast/pull/685/changes#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
https://github.com/feast-dev/feast/pull/685/changes#diff-b596a79dd3947d836a7aca8203777ba20202b61059ba2779012f0507473ba13f
core/src/main/java/feast/core/job/dataflow/DataflowJobManager.javahttps://github.com/feast-dev/feast/pull/685/changes#diff-0bef9304bcee148647cba5905007be62d3393d60e04daee560dba65bc1272aae
View file https://github.com/woop/feast/blob/ac798c79edca68c31ebce1885e305c05c8c815e5/core/src/main/java/feast/core/job/dataflow/DataflowJobManager.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/685/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/685/changes#diff-0bef9304bcee148647cba5905007be62d3393d60e04daee560dba65bc1272aae
https://github.com/feast-dev/feast/pull/685/changes#diff-0bef9304bcee148647cba5905007be62d3393d60e04daee560dba65bc1272aae
https://github.com/feast-dev/feast/pull/685/changes#diff-0bef9304bcee148647cba5905007be62d3393d60e04daee560dba65bc1272aae
https://github.com/feast-dev/feast/pull/685/changes#diff-0bef9304bcee148647cba5905007be62d3393d60e04daee560dba65bc1272aae
core/src/main/java/feast/core/job/direct/DirectRunnerJobManager.javahttps://github.com/feast-dev/feast/pull/685/changes#diff-e62e308f4e577e691c3719f83e37fedce3af90202f2803fd9e9795fe61883143
View file https://github.com/woop/feast/blob/ac798c79edca68c31ebce1885e305c05c8c815e5/core/src/main/java/feast/core/job/direct/DirectRunnerJobManager.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/685/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/685/changes#diff-e62e308f4e577e691c3719f83e37fedce3af90202f2803fd9e9795fe61883143
https://github.com/feast-dev/feast/pull/685/changes#diff-e62e308f4e577e691c3719f83e37fedce3af90202f2803fd9e9795fe61883143
core/src/main/java/feast/core/model/FeatureSet.javahttps://github.com/feast-dev/feast/pull/685/changes#diff-408a8e7f33c4419fc8357aeee3dae3bac5e351cd995a436b3679d4d3936540e1
View file https://github.com/woop/feast/blob/ac798c79edca68c31ebce1885e305c05c8c815e5/core/src/main/java/feast/core/model/FeatureSet.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/685/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/685/changes#diff-408a8e7f33c4419fc8357aeee3dae3bac5e351cd995a436b3679d4d3936540e1
https://github.com/feast-dev/feast/pull/685/changes#diff-408a8e7f33c4419fc8357aeee3dae3bac5e351cd995a436b3679d4d3936540e1
Please reload this pagehttps://github.com/feast-dev/feast/pull/685/changes
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.