Skip to content

Commit 30bb579

Browse files
fix: Cast port to int in ClusterNode connection string parsing (#352)
* fix: Cast port to int in ClusterNode connection string parsing * fix: Strip scheme prefix if present --------- Co-authored-by: omirandadev <oscarmiranda3100@gmail.com>
1 parent fec2a10 commit 30bb579

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,10 +216,15 @@ def _parse_connection_string(connection_string: str):
216216
for Valkey Standalone:
217217
valkey_master:6379,db=0,ssl=true,password=...
218218
"""
219+
# Strip scheme prefix (e.g. valkey://, valkeys://) if present
220+
if "://" in connection_string:
221+
connection_string = connection_string.split("://", 1)[1]
219222
startup_nodes = [
220-
dict(zip(["host", "port"], c.split(":")))
223+
{"host": parts[0], "port": int(parts[1])}
221224
for c in connection_string.split(",")
222225
if "=" not in c
226+
for parts in [c.split(":")]
227+
if len(parts) == 2
223228
]
224229
params = {}
225230
for c in connection_string.split(","):

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,10 +208,15 @@ def _parse_connection_string(connection_string: str):
208208
for Redis:
209209
redis_master:6379,db=0,ssl=true,password=...
210210
"""
211+
# Strip scheme prefix (e.g. redis://, rediss://) if present
212+
if "://" in connection_string:
213+
connection_string = connection_string.split("://", 1)[1]
211214
startup_nodes = [
212-
dict(zip(["host", "port"], c.split(":")))
215+
{"host": parts[0], "port": int(parts[1])}
213216
for c in connection_string.split(",")
214217
if "=" not in c
218+
for parts in [c.split(":")]
219+
if len(parts) == 2
215220
]
216221
params = {}
217222
for c in connection_string.split(","):

0 commit comments

Comments
 (0)