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

Fix materialize bug with RedisCluster #2311

Merged
merged 35 commits into from
Feb 17, 2022

Conversation

kevjumba
Copy link
Collaborator

@kevjumba kevjumba commented Feb 15, 2022

Signed-off-by: Kevin Zhang kzhang@tecton.ai

What this PR does / why we need it:
Broken materialization script for feast 0.18.0. Refer to issue #2297.
Issue was that there are 2 versions of the python redis cluster package redis-py-cluster and redis-py. redis-py only recently added a new version of RedisCluster and our api was using the redis-py-cluster api that passes dictionary of host:port pairs while redis-py implementation requires ClusterNodes instead.

Which issue(s) this PR fixes:

Fixes #2297

Does this PR introduce a user-facing change?:

NONE

Makes changes to integration github workflow that cannot be tested accurately since github runs the current PR against the current github workflow. Attached is proof that the new integration tests with the new workflow:
Screen Shot 2022-02-16 at 3 05 49 PM

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
@codecov-commenter
Copy link

codecov-commenter commented Feb 15, 2022

Codecov Report

Merging #2311 (1a4a155) into master (a7d4cb7) will decrease coverage by 27.61%.
The diff coverage is 12.50%.

Impacted file tree graph

@@             Coverage Diff             @@
##           master    #2311       +/-   ##
===========================================
- Coverage   86.11%   58.50%   -27.62%     
===========================================
  Files         116      116               
  Lines        9834     9933       +99     
===========================================
- Hits         8469     5811     -2658     
- Misses       1365     4122     +2757     
Flag Coverage Δ
integrationtests ?
unittests 58.50% <12.50%> (-0.06%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
.../integration/online_store/test_universal_online.py 14.28% <5.26%> (-82.91%) ⬇️
sdk/python/tests/conftest.py 56.48% <28.57%> (-35.60%) ⬇️
sdk/python/feast/infra/online_stores/redis.py 26.45% <50.00%> (-68.39%) ⬇️
...ts/integration/feature_repos/repo_configuration.py 44.95% <100.00%> (-49.50%) ⬇️
.../integration/online_store/test_online_retrieval.py 17.39% <0.00%> (-82.61%) ⬇️
sdk/python/tests/utils/online_read_write_test.py 20.68% <0.00%> (-79.32%) ⬇️
...fline_store/test_universal_historical_retrieval.py 23.50% <0.00%> (-76.50%) ⬇️
...gration/registration/test_feature_service_apply.py 31.25% <0.00%> (-68.75%) ⬇️
... and 66 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a7d4cb7...1a4a155. Read the comment docs.

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
…positives

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
@felixwang9817 felixwang9817 changed the title [WIP] Fix #2297 Materialize bug with RedisCluster Fix materialize bug with RedisCluster Feb 17, 2022
Copy link
Collaborator

@felixwang9817 felixwang9817 left a comment

Choose a reason for hiding this comment

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

/lgtm

@kevjumba
Copy link
Collaborator Author

@adchia PTAL!

Copy link
Collaborator

@adchia adchia left a comment

Choose a reason for hiding this comment

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

/lgtm

@feast-ci-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: adchia, felixwang9817, kevjumba

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:
  • OWNERS [adchia,felixwang9817]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@adchia adchia merged commit 7fa9fe3 into feast-dev:master Feb 17, 2022
aht added a commit to aht/feast that referenced this pull request Feb 23, 2022
…ents

* upstream/master: (103 commits)
  refactor: Move create cluster script
  ci: Add validation for upper case PR titles
  Switch order of views to keep/delete to fix apply logging
  ci: Fix broken Prow plugin which ignores config.yaml
  ci: Add PR linting to ensure conventional commits are followed for PR titles
  Add owner field to FeatureService (feast-dev#2321)
  Disable Redis cluster tests (feast-dev#2327)
  Use PR title for commit message
  Add redis cluster initialziation to master github workflow (feast-dev#2317)
  Fix materialize bug with RedisCluster (feast-dev#2311)
  Add support for Dask during historical retrieval (feast-dev#1954)
  downgrade datatypes to 8
  Update pom.xml to 0.18.2 SNAPSHOT
  Update changelog for 0.18.1 and update pom.xml
  Update helm chart version
  Don't require `snowflake` to always be installed (feast-dev#2309)
  Fixing the Java helm charts and adding a demo tutorial on how to use them (feast-dev#2298)
  Include infra objects in registry dump and fix Infra's from_proto  (feast-dev#2295)
  Remove old flag warning with the python feature server (feast-dev#2300)
  podAnnotations Values in the feature-server chart (feast-dev#2304)
  ...
adchia pushed a commit that referenced this pull request Mar 4, 2022
* Fix materialization bug

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* oops removed something when i was copy pasting

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Test github workflow

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* lint

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* transfer to unit_tests

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Brute force implementation

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Brute force implementation add gcc

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Brute force implementation add gcc

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Brute force implementation add gcc

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Brute force implementation add gcc

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Continue fixing...

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Remove gcc setup

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Add integration test

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* fix error

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* fix error

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Add setup

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* temp fix to get integration tests to work

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* temp fix to get integration tests to work

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* temp fix to get integration tests to work

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* temp fix to get integration tests to work

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Fix integration even more

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Fix integration even more

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Fix lint

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* only run one test

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Do some more integration testing

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Do some more integration testing by adding bug to make sure no false positives

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Integration testing works

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Clean upu code

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Add redis cluster script for starting a redis cluster

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Reset integration yml file

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* lint

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Clean up

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* Fix how to guide lint

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* add fixtures and remove excess code

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>

* lint

Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
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.

Materialization and serving fail when using Redis cluster for the online store
5 participants