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

Add historical retrieval via job service #1107

Merged
merged 3 commits into from
Oct 29, 2020

Conversation

oavdeev
Copy link
Collaborator

@oavdeev oavdeev commented Oct 28, 2020

What this PR does / why we need it:
This implements end-to-end flow for historical retrieval via job service. Tested only manually for now, until we include job service setup in e2e tests.

Which issue(s) this PR fixes:

Fixes #

Does this PR introduce a user-facing change?:

NONE

@oavdeev
Copy link
Collaborator Author

oavdeev commented Oct 28, 2020

/kind feature

@feast-ci-bot feast-ci-bot added kind/feature New feature or request and removed needs-kind labels Oct 28, 2020
// Stop a single job
rpc StopJob (StopJobRequest) returns (StopJobResponse);
// Cancel a single job
rpc CancelJob (CancelJobRequest) returns (CancelJobResponse);
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

renamed this for consistency with the existing Job.cancel method

// the dataframe with retrieved features.
repeated string file_glob = 1;
// The Historical Features request that triggered this export job
GetHistoricalFeaturesRequest request = 2;
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Removed a bunch of unused (or not yet used) parameters here, we can always add them back later.

@@ -127,13 +111,13 @@ message StartOfflineToOnlineIngestionJobResponse {

message GetHistoricalFeaturesRequest {
// List of features that are being retrieved
repeated feast.serving.FeatureReferenceV2 features = 1;
repeated string feature_refs = 1;
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

changed this for consistency with client API

// Filter jobs by current job status
JobStatus status = 2;
}
bool include_terminated = 1;
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

another change for consistency with client API

"-d",
help="Dtypes for entity df, in JSON format",
required=False,
)
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I don't expect people to use this in production, but it is handy for debugging.

@@ -116,7 +116,7 @@ class AuthProvider(Enum):
# Path to certificate(s) to secure connection to Feast Serving
CONFIG_SERVING_SERVER_SSL_CERT_KEY: "",
# Default connection timeout to Feast Serving and Feast Core (in seconds)
CONFIG_GRPC_CONNECTION_TIMEOUT_DEFAULT_KEY: "3",
CONFIG_GRPC_CONNECTION_TIMEOUT_DEFAULT_KEY: "10",
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Had to bump this since some job service methods in turn make calls to AWS/GCP APIs. Sometimes those take a while especially in development env where your job service is not running in the cloud itself.

# Enable or disable TLS/SSL to Feast Service
CONFIG_JOB_SERVICE_ENABLE_SSL_KEY: "False",
# Path to certificate(s) to secure connection to Feast Job Service
CONFIG_JOB_SERVICE_SERVER_SSL_CERT_KEY: "",
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

We should prob unify those params with core service in another PR.

@oavdeev
Copy link
Collaborator Author

oavdeev commented Oct 28, 2020

/kind feature

Copy link
Collaborator

@pyalex pyalex left a comment

Choose a reason for hiding this comment

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

This PR needs tests, both unit & e2e

@pyalex
Copy link
Collaborator

pyalex commented Oct 29, 2020

/retest

@oavdeev oavdeev force-pushed the remote-historical-retrieval branch from e7394a3 to 0b4510d Compare October 29, 2020 09:18
@oavdeev
Copy link
Collaborator Author

oavdeev commented Oct 29, 2020

/retest

@oavdeev oavdeev force-pushed the remote-historical-retrieval branch from 0b4510d to 278f022 Compare October 29, 2020 09:48
@oavdeev
Copy link
Collaborator Author

oavdeev commented Oct 29, 2020

/test test-end-to-end

Signed-off-by: Oleg Avdeev <[email protected]>
@oavdeev oavdeev force-pushed the remote-historical-retrieval branch from 278f022 to 68fb26b Compare October 29, 2020 09:55
@feast-ci-bot
Copy link
Collaborator

feast-ci-bot commented Oct 29, 2020

@oavdeev: The following test failed, say /retest to rerun them all:

Test name Commit Details Rerun command
python-sdk-integration-test 68fb26b link /test python-sdk-integration-test

Full PR test history

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@feast-ci-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

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

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
Copy link
Collaborator

pyalex commented Oct 29, 2020

/lgtm

@pyalex pyalex merged commit de4313b into feast-dev:master Oct 29, 2020
@oavdeev oavdeev deleted the remote-historical-retrieval branch October 29, 2020 10:26
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.

4 participants