Skip to content

Commit 3849e9b

Browse files
authored
Merge pull request #619 from splitio/FME-12322-fix-redis-prefix
ignored fetching rbs if list is empty
2 parents 06950f0 + 8f29ba9 commit 3849e9b

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

splitio/storage/redis.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ def fetch_many(self, segment_names):
142142
:rtype: dict(segment_name, splitio.models.rule_based_segment.RuleBasedSegment)
143143
"""
144144
to_return = dict()
145+
if len(segment_names) == 0:
146+
return to_return
147+
145148
try:
146149
keys = [self._get_key(segment_name) for segment_name in segment_names]
147150
raw_rbs_segments = self._redis.mget(keys)
@@ -286,6 +289,9 @@ async def fetch_many(self, segment_names):
286289
:rtype: dict(segment_name, splitio.models.rule_based_segment.RuleBasedSegment)
287290
"""
288291
to_return = dict()
292+
if len(segment_names) == 0:
293+
return to_return
294+
289295
try:
290296
keys = [self._get_key(segment_name) for segment_name in segment_names]
291297
raw_rbs_segments = await self._redis.mget(keys)

tests/storage/test_redis.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,6 +1315,10 @@ def test_fetch_many(self, mocker):
13151315
assert result['rbs2'] is not None
13161316
assert 'rbs3' in result
13171317

1318+
# should not raise exception
1319+
result = storage.fetch_many([])
1320+
assert len(result) == 0
1321+
13181322
class RedisRuleBasedSegmentStorageAsyncTests(object):
13191323
"""Redis rule based segment storage test cases."""
13201324

@@ -1438,3 +1442,7 @@ async def mget(*_):
14381442
assert result['rbs2'] is not None
14391443
assert 'rbs3' in result
14401444

1445+
# should not raise exception
1446+
result = await storage.fetch_many([])
1447+
assert len(result) == 0
1448+

0 commit comments

Comments
 (0)