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

Database tweaks #290

Merged
merged 2 commits into from
Nov 16, 2019
Merged

Database tweaks #290

merged 2 commits into from
Nov 16, 2019

Conversation

smadarasmi
Copy link
Contributor

Some minor tweaks:

  1. feature_id was still referring to old schema -> should be changed to feature_set _id
  2. ~ is postgresql specific -> changed to LIKE

@feast-ci-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: smadarasmi
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: zhilingc

If they are not already assigned, you can assign the PR to them by writing /assign @zhilingc in a comment when ready.

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

@feast-ci-bot
Copy link
Collaborator

Hi @smadarasmi. Thanks for your PR.

I'm waiting for a gojek 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 Nov 6, 2019

/ok-to-test

@zhilingc
Copy link
Collaborator

zhilingc commented Nov 6, 2019

/test test-core-and-ingestion

@zhilingc
Copy link
Collaborator

zhilingc commented Nov 6, 2019

/test test-end-to-end

@zhilingc
Copy link
Collaborator

zhilingc commented Nov 6, 2019

@smadarasmi
Since LIKE is not the same as ~, you will need to update the configuration for stores in the end to end tests - the stores should listen for featuresets matching %:>0 (sql LIKE pattern) rather than .*:>0 (POSIX regex)

you should update the documentation here as well:
https://github.com/gojek/feast/blob/0.3-dev/protos/feast/core/Store.proto#L128

@ches
Copy link
Member

ches commented Nov 6, 2019

SIMILAR TO is standard SQL but unfortunately doesn't seem widely supported, including by our target RDBMS 😞 Perhaps because the standard specifies a new regex dialect that is not quite POSIX, not many vendors want to bother with it 😩

LIKE_REGEX is standard, using yet another regex dialect, and also not widely supported even by Postgres.

It's unfortunate because I think a % wildcard is probably not as intuitive (nor powerful) of a way to specify a subscription as a regex, but Postgres ~ is definitely not portable.

@zhilingc
Copy link
Collaborator

zhilingc commented Nov 6, 2019

I'm all for moving towards something more portable! :) I agree that the LIKE pattern matching isn't as ubiquitous as regular regex but it's nothing some documentation can't cure.
Just indicating that for this MR to pass some changes need to be made for consistency (and the tests to pass).

@smadarasmi
Copy link
Contributor Author

@zhilingc Sure, I'll do this later today.

@woop
Copy link
Member

woop commented Nov 6, 2019

@ches @smadarasmi out of curiosity, which RDBMS are you using?

@ches
Copy link
Member

ches commented Nov 6, 2019

@ches @smadarasmi out of curiosity, which RDBMS are you using?

MS SQL Server. Not Azure but maybe we're providing some degree of insurance that people can run Feast on Azure services 😉

@woop
Copy link
Member

woop commented Nov 9, 2019

/test test-end-to-end

@smadarasmi
Copy link
Contributor Author

/test test-end-to-end

@woop
Copy link
Member

woop commented Nov 16, 2019

I'm still wondering if regex is necessary here. It seems like using normal LIKE would be more than sufficient, and would probably simplify our API a bit.

Can I suggest that we only allow wildcards for this RPC? How about:

  • Matching a single customer feature set: customer_transactions
  • Matching many customer feature sets: customer_*

Behind the scenes we can replace this with % and use LIKE.

@zhilingc @ches thoughts?

@woop woop changed the base branch from 0.3-dev to master November 16, 2019 16:42
@woop
Copy link
Member

woop commented Nov 16, 2019

I've spoken to @zhilingc and she is fine to move ahead with this. We will limit it to purely wildcards for now, and use LIKE. That should make this a much more workable solution for MSSQL.

I will merge this in for now. Of course, this will cause a breaking API change. Master will go into an inconsistent state for a bit, but I have a PR to address that: #309

Hoping to have that merged in tomorrow. It's close to done.

@woop woop added the lgtm label Nov 16, 2019
@woop woop merged commit b1657e2 into feast-dev:master Nov 16, 2019
@feast-ci-bot
Copy link
Collaborator

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

Test name Commit Details Rerun command
test-end-to-end 64ca7f1 link /test test-end-to-end

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.

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