Skip to content

Commit 1ba86fb

Browse files
authored
fix: Rollback Redis-py to Redis-py-cluster (feast-dev#2347)
* Roll back redis config and add tests back Signed-off-by: Kevin Zhang <[email protected]> * lint Signed-off-by: Kevin Zhang <[email protected]> * Fix autogenerated import Signed-off-by: Kevin Zhang <[email protected]> * Fix lint Signed-off-by: Kevin Zhang <[email protected]> * Add redis-py-cluster back Signed-off-by: Kevin Zhang <[email protected]> * Fix dask ci Signed-off-by: Kevin Zhang <[email protected]> * Regenerate using respective python 3 versions Signed-off-by: Kevin Zhang <[email protected]> * Change test_entity_ttl test Signed-off-by: Kevin Zhang <[email protected]> * Fix lint Signed-off-by: Kevin Zhang <[email protected]> * Change integration workflow Signed-off-by: Kevin Zhang <[email protected]> * Temporarily disable for testing Signed-off-by: Kevin Zhang <[email protected]> * Continue making work Signed-off-by: Kevin Zhang <[email protected]> * Continue making work Signed-off-by: Kevin Zhang <[email protected]> * Fix workflow Signed-off-by: Kevin Zhang <[email protected]> * Fix workflow Signed-off-by: Kevin Zhang <[email protected]> * Update port numbers Signed-off-by: Kevin Zhang <[email protected]> * Update pr integration tests Signed-off-by: Kevin Zhang <[email protected]> * Reenable rest of tests Signed-off-by: Kevin Zhang <[email protected]> * Update data source creator Signed-off-by: Kevin Zhang <[email protected]> * Fix integration test Signed-off-by: Kevin Zhang <[email protected]> * Clean up code Signed-off-by: Kevin Zhang <[email protected]> * Somehow removed the key components -,- Signed-off-by: Kevin Zhang <[email protected]>
1 parent c2a6c6c commit 1ba86fb

File tree

10 files changed

+95
-149
lines changed

10 files changed

+95
-149
lines changed

.github/workflows/pr_integration_tests.yml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,16 +84,6 @@ jobs:
8484
env:
8585
OS: ${{ matrix.os }}
8686
PYTHON: ${{ matrix.python-version }}
87-
services:
88-
redis:
89-
image: redis
90-
ports:
91-
- 6379:6379
92-
options: >-
93-
--health-cmd "redis-cli ping"
94-
--health-interval 10s
95-
--health-timeout 5s
96-
--health-retries 5
9787
steps:
9888
- uses: actions/checkout@v2
9989
with:

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ vendor
5454
.terraform/
5555
*.tfvars
5656

57-
# python
57+
# python
5858
# Byte-compiled / optimized / DLL files
5959
__pycache__/
6060
*.py[cod]
@@ -107,6 +107,7 @@ coverage.xml
107107
*.cover
108108
.hypothesis/
109109
.pytest_cache/
110+
infra/scripts/*.conf
110111

111112
# Translations
112113
*.mo

sdk/python/feast/infra/online_stores/redis.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141

4242
try:
4343
from redis import Redis
44-
from redis.cluster import ClusterNode, RedisCluster
44+
from rediscluster import RedisCluster
4545
except ImportError as e:
4646
from feast.errors import FeastExtrasDependencyImportError
4747

@@ -163,9 +163,7 @@ def _get_client(self, online_store_config: RedisOnlineStoreConfig):
163163
online_store_config.connection_string
164164
)
165165
if online_store_config.redis_type == RedisType.redis_cluster:
166-
kwargs["startup_nodes"] = [
167-
ClusterNode(**node) for node in startup_nodes
168-
]
166+
kwargs["startup_nodes"] = startup_nodes
169167
self._client = RedisCluster(**kwargs)
170168
else:
171169
kwargs["host"] = startup_nodes[0]["host"]

sdk/python/requirements/py3.7-ci-requirements.txt

Lines changed: 16 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file is autogenerated by pip-compile with python 3.7
33
# To update, run:
44
#
5-
# pip-compile --extra=ci --output-file=requirements/py3.7-ci-requirements.txt
5+
# pip-compile --extra=ci --output-file=requirements/py3.7-ci-requirements.txt setup.py
66
#
77
absl-py==1.0.0
88
# via tensorflow-metadata
@@ -44,8 +44,6 @@ assertpy==1.1
4444
# via feast (setup.py)
4545
async-timeout==4.0.2
4646
# via aiohttp
47-
asynctest==0.13.0
48-
# via aiohttp
4947
attrs==21.4.0
5048
# via
5149
# aiohttp
@@ -143,8 +141,6 @@ decorator==5.1.1
143141
# ipython
144142
defusedxml==0.7.1
145143
# via nbconvert
146-
deprecated==1.2.13
147-
# via redis
148144
deprecation==2.1.0
149145
# via testcontainers
150146
dill==0.3.4
@@ -282,18 +278,7 @@ idna==3.3
282278
imagesize==1.3.0
283279
# via sphinx
284280
importlib-metadata==4.2.0
285-
# via
286-
# click
287-
# flake8
288-
# great-expectations
289-
# jsonschema
290-
# moto
291-
# pep517
292-
# pluggy
293-
# pre-commit
294-
# pytest
295-
# redis
296-
# virtualenv
281+
# via great-expectations
297282
importlib-resources==5.4.0
298283
# via jsonschema
299284
iniconfig==1.1.1
@@ -358,10 +343,12 @@ jupyterlab-pygments==0.1.2
358343
jupyterlab-widgets==1.0.2
359344
# via ipywidgets
360345
libcst==0.4.1
361-
# via google-cloud-datastore
346+
# via
347+
# google-cloud-bigquery-storage
348+
# google-cloud-datastore
362349
locket==0.2.1
363350
# via partd
364-
markupsafe==2.1.0
351+
markupsafe==2.0.1
365352
# via
366353
# jinja2
367354
# moto
@@ -450,7 +437,6 @@ packaging==21.3
450437
# google-cloud-bigquery
451438
# google-cloud-firestore
452439
# pytest
453-
# redis
454440
# sphinx
455441
pandas==1.3.5
456442
# via
@@ -621,7 +607,11 @@ pyzmq==22.3.0
621607
# via
622608
# jupyter-client
623609
# notebook
624-
redis==4.1.4
610+
redis==3.5.3
611+
# via
612+
# feast (setup.py)
613+
# redis-py-cluster
614+
redis-py-cluster==2.1.3
625615
# via feast (setup.py)
626616
regex==2022.1.18
627617
# via black
@@ -762,10 +752,10 @@ traitlets==5.1.1
762752
# nbformat
763753
# notebook
764754
typed-ast==1.5.2
765-
# via
766-
# black
767-
# mypy
768-
types-protobuf==3.19.12
755+
# via black
756+
types-futures==3.3.8
757+
# via types-protobuf
758+
types-protobuf==3.19.2
769759
# via
770760
# feast (setup.py)
771761
# mypy-protobuf
@@ -787,22 +777,11 @@ types-urllib3==1.26.9
787777
# via types-requests
788778
typing-extensions==4.1.1
789779
# via
790-
# aiohttp
791-
# anyio
792-
# argon2-cffi
793-
# asgiref
794-
# async-timeout
795780
# great-expectations
796-
# h11
797-
# importlib-metadata
798-
# jsonschema
799781
# libcst
800782
# mypy
801783
# pydantic
802-
# starlette
803784
# typing-inspect
804-
# uvicorn
805-
# yarl
806785
typing-inspect==0.7.1
807786
# via libcst
808787
tzdata==2021.5
@@ -841,9 +820,7 @@ wheel==0.37.1
841820
widgetsnbextension==3.5.2
842821
# via ipywidgets
843822
wrapt==1.13.3
844-
# via
845-
# deprecated
846-
# testcontainers
823+
# via testcontainers
847824
xmltodict==0.12.0
848825
# via moto
849826
yarl==1.7.2
@@ -852,7 +829,6 @@ zipp==3.7.0
852829
# via
853830
# importlib-metadata
854831
# importlib-resources
855-
# pep517
856832

857833
# The following packages are considered to be unsafe in a requirements file:
858834
# pip

sdk/python/requirements/py3.8-ci-requirements.txt

Lines changed: 24 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file is autogenerated by pip-compile with python 3.8
33
# To update, run:
44
#
5-
# pip-compile --extra=ci --output-file=requirements/py3.8-ci-requirements.txt
5+
# pip-compile --extra=ci --output-file=requirements/py3.8-ci-requirements.txt setup.py
66
#
77
absl-py==1.0.0
88
# via tensorflow-metadata
@@ -44,8 +44,6 @@ assertpy==1.1
4444
# via feast (setup.py)
4545
async-timeout==4.0.2
4646
# via aiohttp
47-
asynctest==0.13.0
48-
# via aiohttp
4947
attrs==21.4.0
5048
# via
5149
# aiohttp
@@ -116,6 +114,8 @@ click==8.0.3
116114
# great-expectations
117115
# pip-tools
118116
# uvicorn
117+
cloudpickle==2.0.0
118+
# via dask
119119
colorama==0.4.4
120120
# via feast (setup.py)
121121
coverage[toml]==6.3
@@ -131,6 +131,8 @@ cryptography==3.3.2
131131
# pyjwt
132132
# pyopenssl
133133
# snowflake-connector-python
134+
dask==2022.1.1
135+
# via feast (setup.py)
134136
debugpy==1.5.1
135137
# via ipykernel
136138
decorator==5.1.1
@@ -139,8 +141,6 @@ decorator==5.1.1
139141
# ipython
140142
defusedxml==0.7.1
141143
# via nbconvert
142-
deprecated==1.2.13
143-
# via redis
144144
deprecation==2.1.0
145145
# via testcontainers
146146
dill==0.3.4
@@ -181,6 +181,7 @@ frozenlist==1.3.0
181181
fsspec==2022.1.0
182182
# via
183183
# adlfs
184+
# dask
184185
# gcsfs
185186
gcsfs==2022.1.0
186187
# via feast (setup.py)
@@ -277,18 +278,7 @@ idna==3.3
277278
imagesize==1.3.0
278279
# via sphinx
279280
importlib-metadata==4.2.0
280-
# via
281-
# click
282-
# flake8
283-
# great-expectations
284-
# jsonschema
285-
# moto
286-
# pep517
287-
# pluggy
288-
# pre-commit
289-
# pytest
290-
# redis
291-
# virtualenv
281+
# via great-expectations
292282
importlib-resources==5.4.0
293283
# via jsonschema
294284
iniconfig==1.1.1
@@ -356,6 +346,8 @@ libcst==0.4.1
356346
# via
357347
# google-cloud-bigquery-storage
358348
# google-cloud-datastore
349+
locket==0.2.1
350+
# via partd
359351
markupsafe==2.0.1
360352
# via
361353
# jinja2
@@ -439,12 +431,12 @@ oscrypto==1.2.1
439431
packaging==21.3
440432
# via
441433
# bleach
434+
# dask
442435
# deprecation
443436
# google-api-core
444437
# google-cloud-bigquery
445438
# google-cloud-firestore
446439
# pytest
447-
# redis
448440
# sphinx
449441
pandas==1.3.5
450442
# via
@@ -459,6 +451,8 @@ pandocfilters==1.5.0
459451
# via nbconvert
460452
parso==0.8.3
461453
# via jedi
454+
partd==1.2.0
455+
# via dask
462456
pathspec==0.9.0
463457
# via black
464458
pbr==5.8.0
@@ -604,6 +598,7 @@ pytz-deprecation-shim==0.1.0.post0
604598
# via tzlocal
605599
pyyaml==6.0
606600
# via
601+
# dask
607602
# feast (setup.py)
608603
# libcst
609604
# pre-commit
@@ -612,7 +607,11 @@ pyzmq==22.3.0
612607
# via
613608
# jupyter-client
614609
# notebook
615-
redis==4.1.2
610+
redis==3.5.3
611+
# via
612+
# feast (setup.py)
613+
# redis-py-cluster
614+
redis-py-cluster==2.1.3
616615
# via feast (setup.py)
617616
regex==2022.1.18
618617
# via black
@@ -727,7 +726,10 @@ tomli==2.0.0
727726
# mypy
728727
# pep517
729728
toolz==0.11.2
730-
# via altair
729+
# via
730+
# altair
731+
# dask
732+
# partd
731733
tornado==6.1
732734
# via
733735
# ipykernel
@@ -751,9 +753,7 @@ traitlets==5.1.1
751753
# nbformat
752754
# notebook
753755
typed-ast==1.5.2
754-
# via
755-
# black
756-
# mypy
756+
# via black
757757
types-futures==3.3.8
758758
# via types-protobuf
759759
types-protobuf==3.19.7
@@ -778,22 +778,11 @@ types-urllib3==1.26.8
778778
# via types-requests
779779
typing-extensions==4.0.1
780780
# via
781-
# aiohttp
782-
# anyio
783-
# argon2-cffi
784-
# asgiref
785-
# async-timeout
786781
# great-expectations
787-
# h11
788-
# importlib-metadata
789-
# jsonschema
790782
# libcst
791783
# mypy
792784
# pydantic
793-
# starlette
794785
# typing-inspect
795-
# uvicorn
796-
# yarl
797786
typing-inspect==0.7.1
798787
# via libcst
799788
tzdata==2021.5
@@ -832,9 +821,7 @@ wheel==0.37.1
832821
widgetsnbextension==3.5.2
833822
# via ipywidgets
834823
wrapt==1.13.3
835-
# via
836-
# deprecated
837-
# testcontainers
824+
# via testcontainers
838825
xmltodict==0.12.0
839826
# via moto
840827
yarl==1.7.2
@@ -843,7 +830,6 @@ zipp==3.7.0
843830
# via
844831
# importlib-metadata
845832
# importlib-resources
846-
# pep517
847833

848834
# The following packages are considered to be unsafe in a requirements file:
849835
# pip

0 commit comments

Comments
 (0)