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

Create empty Job Service #1059

Merged
merged 2 commits into from
Oct 21, 2020
Merged

Conversation

tsotnet
Copy link
Collaborator

@tsotnet tsotnet commented Oct 15, 2020

What this PR does / why we need it: This PR creates an empty Job Service with and the Docker image creation step.

@feast-ci-bot
Copy link
Collaborator

Hi @tsotnet. Thanks for your PR.

I'm waiting for a feast-dev member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

@woop
Copy link
Member

woop commented Oct 15, 2020

/ok-to-test

@woop
Copy link
Member

woop commented Oct 15, 2020

/kind housekeeping

COPY sdk/python sdk/python
COPY Makefile Makefile
COPY protos protos
COPY tests tests
Copy link
Member

Choose a reason for hiding this comment

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

Do we need the tests?

// Produce a training dataset, return a job id that will provide a file reference
rpc GetHistoricalFeatures (GetHistoricalFeaturesRequest) returns (GetHistoricalFeaturesResponse);

// IMPORTANT: The following RPCs are not must-haves for the MVP. They are stretch goals. All of these methods would exist internally in the job service and would be called by a control loop to start/stop/restart streaming ingestion jobs.
Copy link
Member

Choose a reason for hiding this comment

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

We can probably just remove this.

string project = 1;
string table_name = 2;
// Connection String to the Redis Online Store that the job is writing to.
string redis_connection_string = 3;
Copy link
Collaborator

Choose a reason for hiding this comment

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

we should make this a struct for consistency with the ingestion job parameter format

Copy link
Contributor

Choose a reason for hiding this comment

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

Actually lets just drop it from here for now. The only way this entire Job proto is used is to list jobs, i think it is fine if you just get the basic info like job type and table name there, but not redis connection details.

We can always add more stuff later.

Copy link
Member

@terryyylim terryyylim left a comment

Choose a reason for hiding this comment

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

I think we should standardize the naming to created_timestamp, stop_timestamp since those are use eg in FeatureTable proto as well.

// Optional field to specify project name override. If specified, uses the
// given project for retrieval. Overrides the projects specified in
// Feature References if both are specified.
string project_name = 3;
Copy link
Member

Choose a reason for hiding this comment

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

Maybe standardize to project here?

from feast.core import JobService_pb2_grpc


class JobServiceServicer(JobService_pb2_grpc.JobServiceServicer):
Copy link
Member

Choose a reason for hiding this comment

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

I recommend we follow pep8 style guide as stated here, to utilize lowercase separated by underscores for function names.

Copy link
Collaborator Author

@tsotnet tsotnet Oct 21, 2020

Choose a reason for hiding this comment

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

JobService_pb2_grpc module name is autogenerated by grpc, I don't think we have a control to modify it.

Signed-off-by: Tsotne Tabidze <tsotnet@gmail.com>
Signed-off-by: Tsotne Tabidze <tsotnet@gmail.com>
RUN make compile-protos-python

# Install Feast SDK
COPY .git .git
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is there a reason why we copy git into the docker file?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Looks like git is used by sdk/python/setup.py here https://github.com/feast-dev/feast/blob/master/sdk/python/setup.py#L52. If I remove this line docker build step errors out.

Also I copied this mostly from the jupyter dockerfile, which contains the similar build step. We could improve docker build files by removing the dependency on git (seems like it's only used to copy the readme file from the git repo root), but I think that's probably better handled by another PR.

@feast-ci-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: tsotnet, 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

@woop
Copy link
Member

woop commented Oct 21, 2020

/lgtm

@feast-ci-bot feast-ci-bot merged commit 473e0af into feast-dev:master Oct 21, 2020
@tsotnet tsotnet deleted the job-service-creation branch October 21, 2020 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants