Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restart Ingestion Job on code version update #949

Merged
merged 7 commits into from
Aug 14, 2020

Conversation

pyalex
Copy link
Collaborator

@pyalex pyalex commented Aug 14, 2020

What this PR does / why we need it:

  1. Each Job can have individual labels that are being merged with common labels (see feast.jobs.runners.options.labels) before job created. Job labels are being generated & managed by JobCoordinator. Currently labels consists of feast.job.coordinator.jobSelector and feast version. Job labels overwrite common labels for the same keys.

  2. Added label feast_version that keeps version of feast code attached to the job. As soon as new version is being released - JobCoordinator automatically restarts jobs with older version in this label.

Which issue(s) this PR fixes:

Fixes #

Does this PR introduce a user-facing change?:


this.blacklistedStores = feastProperties.getJobs().getCoordinator().getBlacklistedStores();
this.currentVersion = feastProperties.getVersion();
this.jobLabels = new HashMap<>(feastProperties.getJobs().getCoordinator().getJobSelector());
this.jobLabels.put("version", this.currentVersion);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this.currentVersion be a getter?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is private final property, not sure how getter could be useful?

@pyalex
Copy link
Collaborator Author

pyalex commented Aug 14, 2020

/test test-end-to-end

@pyalex
Copy link
Collaborator Author

pyalex commented Aug 14, 2020

/test test-end-to-end-batch

@woop
Copy link
Member

woop commented Aug 14, 2020

/lgtm

@feast-ci-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: pyalex, woop

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@pyalex pyalex added the kind/feature New feature or request label Aug 14, 2020
@feast-ci-bot feast-ci-bot merged commit b02191f into feast-dev:master Aug 14, 2020
zhangchi1 pushed a commit to Cimpress-MCP/feast that referenced this pull request Aug 19, 2020
* blacklist -> whitelist

* add whitelisted property

* coordinator properties in e2e tests

* move labels to job & jobcoordinator

* it test for version update

* version label constant

* fix version label
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants