Skip to content

Database tweaks - #290

Merged
woop merged 2 commits into
feast-dev:masterfrom
smadarasmi:database-tweaks
Nov 16, 2019
Merged

Database tweaks#290
woop merged 2 commits into
feast-dev:masterfrom
smadarasmi:database-tweaks

Conversation

@smadarasmi

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

Details 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
Copy Markdown
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.

Details

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

woop commented Nov 6, 2019

Copy link
Copy Markdown
Member

/ok-to-test

@zhilingc

zhilingc commented Nov 6, 2019

Copy link
Copy Markdown
Collaborator

/test test-core-and-ingestion

@zhilingc

zhilingc commented Nov 6, 2019

Copy link
Copy Markdown
Collaborator

/test test-end-to-end

@zhilingc

zhilingc commented Nov 6, 2019

Copy link
Copy Markdown
Collaborator

@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

ches commented Nov 6, 2019

Copy link
Copy Markdown
Member

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

zhilingc commented Nov 6, 2019

Copy link
Copy Markdown
Collaborator

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
Copy Markdown
Contributor Author

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

@woop

woop commented Nov 6, 2019

Copy link
Copy Markdown
Member

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

@ches

ches commented Nov 6, 2019

Copy link
Copy Markdown
Member

@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

woop commented Nov 9, 2019

Copy link
Copy Markdown
Member

/test test-end-to-end

@smadarasmi

Copy link
Copy Markdown
Contributor Author

/test test-end-to-end

@woop

woop commented Nov 16, 2019

Copy link
Copy Markdown
Member

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

woop commented Nov 16, 2019

Copy link
Copy Markdown
Member

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
Copy Markdown
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

Details

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