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

Refactor stores #110

Merged
merged 3 commits into from
Feb 25, 2019
Merged

Refactor stores #110

merged 3 commits into from
Feb 25, 2019

Conversation

tims
Copy link
Contributor

@tims tims commented Jan 27, 2019

This is for #109

/hold

@tims
Copy link
Contributor Author

tims commented Jan 27, 2019

This PR includes changes from PR #89. As I expect that to be finished first. So don't review this too closely yet. But if you could take a look at the proposed naming and directory structure of the storage classes.

Eg, I'm thinking:
For a new "foo" serving warehouse type we'd have.

  • feast.store.warehouse.FooWarehouseFactory
  • feast.store.warehouse.FooWarehouseWrite

And for a new "bar" serving store type, we'd have

  • feast.store.serving.BarServingFactory
  • feast.store.serving.BarServingWrite
  • feast.store.serving.BarServingClient

The factories implement FeatureStoreFactory.
The writes extend FeatureStoreWrite which extends PTransform<PCollection, PDone>.
The factories create the Write transforms.

[An inconsistency I'm bothered by is that in source we just call it FeatureSource, not FeatureSourceRead.]

I think the factories should be able to validate storage specs, and create clients for accessing the serving stores (future work).

Then the goal will be to make this it's own module and (without the beam dependencies)

  • serving can import it for creating it's clients.
  • core can import it to validate specs and options before it starts a job.

@woop
Copy link
Member

woop commented Jan 28, 2019

Thanks @tims. Seems like you've done a gargantuan amount of work here. So we should just wait for #89 before reviewing?

@zhilingc
Copy link
Collaborator

Had a cursory look, and it looks great so far @tims! It would be nice to be able to share the storage modules across feast for sure

@tims
Copy link
Contributor Author

tims commented Feb 20, 2019

/cancel hold

@tims
Copy link
Contributor Author

tims commented Feb 20, 2019

rebased (effectively) to master, @zhilingc @pradithya can you re-review?

@tims
Copy link
Contributor Author

tims commented Feb 21, 2019

/hold cancel

@zhilingc
Copy link
Collaborator

/approve
Looks good, thanks!
One minor comment - is there a better package name than logging for the stdout/stderr error logging?

@feast-ci-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: zhilingc

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

@tims
Copy link
Contributor Author

tims commented Feb 25, 2019

/approve
Looks good, thanks!
One minor comment - is there a better package name than logging for the stdout/stderr error logging?

any suggestions?

@pradithya
Copy link
Collaborator

/lgtm

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.

5 participants