redis-benchmarks-specification 0.1.336__py3-none-any.whl → 0.1.338__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of redis-benchmarks-specification might be problematic. Click here for more details.
- redis_benchmarks_specification/__runner__/runner.py +1 -1
- redis_benchmarks_specification/__self_contained_coordinator__/args.py +1 -1
- redis_benchmarks_specification/__self_contained_coordinator__/runners.py +24 -0
- redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py +9 -7
- {redis_benchmarks_specification-0.1.336.dist-info → redis_benchmarks_specification-0.1.338.dist-info}/METADATA +1 -1
- {redis_benchmarks_specification-0.1.336.dist-info → redis_benchmarks_specification-0.1.338.dist-info}/RECORD +9 -9
- {redis_benchmarks_specification-0.1.336.dist-info → redis_benchmarks_specification-0.1.338.dist-info}/LICENSE +0 -0
- {redis_benchmarks_specification-0.1.336.dist-info → redis_benchmarks_specification-0.1.338.dist-info}/WHEEL +0 -0
- {redis_benchmarks_specification-0.1.336.dist-info → redis_benchmarks_specification-0.1.338.dist-info}/entry_points.txt +0 -0
|
@@ -1934,7 +1934,7 @@ def process_self_contained_coordinator_stream(
|
|
|
1934
1934
|
benchmark_tool_global=benchmark_tool_global,
|
|
1935
1935
|
)
|
|
1936
1936
|
continue
|
|
1937
|
-
logging.
|
|
1937
|
+
logging.debug(
|
|
1938
1938
|
"Test {} priority ({}) is within the priority limit [{},{}]".format(
|
|
1939
1939
|
test_name,
|
|
1940
1940
|
priority,
|
|
@@ -205,6 +205,6 @@ def create_self_contained_coordinator_args(project_name):
|
|
|
205
205
|
"--skip-clear-pending-on-startup",
|
|
206
206
|
default=False,
|
|
207
207
|
action="store_true",
|
|
208
|
-
help="Skip automatically clearing pending messages
|
|
208
|
+
help="Skip automatically clearing pending messages and resetting consumer group position on startup. By default, pending messages are cleared and consumer group is reset to latest position to skip old work and recover from crashes.",
|
|
209
209
|
)
|
|
210
210
|
return parser
|
|
@@ -143,6 +143,30 @@ def clear_pending_messages_for_consumer(conn, running_platform, consumer_pos):
|
|
|
143
143
|
logging.error(f"Unexpected error clearing pending messages: {e}")
|
|
144
144
|
|
|
145
145
|
|
|
146
|
+
def reset_consumer_group_to_latest(conn, running_platform):
|
|
147
|
+
"""Reset the consumer group position to only read new messages (skip old ones)"""
|
|
148
|
+
consumer_group_name = get_runners_consumer_group_name(running_platform)
|
|
149
|
+
|
|
150
|
+
try:
|
|
151
|
+
# Set the consumer group position to '$' (latest) to skip all existing messages
|
|
152
|
+
conn.xgroup_setid(
|
|
153
|
+
STREAM_KEYNAME_NEW_BUILD_EVENTS,
|
|
154
|
+
consumer_group_name,
|
|
155
|
+
id="$"
|
|
156
|
+
)
|
|
157
|
+
logging.info(
|
|
158
|
+
f"Reset consumer group {consumer_group_name} position to latest - will only process new messages"
|
|
159
|
+
)
|
|
160
|
+
|
|
161
|
+
except redis.exceptions.ResponseError as e:
|
|
162
|
+
if "NOGROUP" in str(e):
|
|
163
|
+
logging.info(f"Consumer group {consumer_group_name} does not exist yet")
|
|
164
|
+
else:
|
|
165
|
+
logging.warning(f"Error resetting consumer group position: {e}")
|
|
166
|
+
except Exception as e:
|
|
167
|
+
logging.error(f"Unexpected error resetting consumer group position: {e}")
|
|
168
|
+
|
|
169
|
+
|
|
146
170
|
def process_self_contained_coordinator_stream(
|
|
147
171
|
conn,
|
|
148
172
|
datasink_push_results_redistimeseries,
|
|
@@ -76,6 +76,7 @@ from redis_benchmarks_specification.__self_contained_coordinator__.runners impor
|
|
|
76
76
|
build_runners_consumer_group_create,
|
|
77
77
|
get_runners_consumer_group_name,
|
|
78
78
|
clear_pending_messages_for_consumer,
|
|
79
|
+
reset_consumer_group_to_latest,
|
|
79
80
|
)
|
|
80
81
|
from redis_benchmarks_specification.__setups__.topologies import get_topologies
|
|
81
82
|
|
|
@@ -651,15 +652,16 @@ def main():
|
|
|
651
652
|
running_platform = args.platform_name
|
|
652
653
|
build_runners_consumer_group_create(gh_event_conn, running_platform)
|
|
653
654
|
|
|
654
|
-
# Clear pending messages by default (unless explicitly skipped)
|
|
655
|
+
# Clear pending messages and reset consumer group position by default (unless explicitly skipped)
|
|
655
656
|
if not args.skip_clear_pending_on_startup:
|
|
656
657
|
consumer_pos = args.consumer_pos
|
|
657
|
-
logging.info("Clearing pending messages on startup (default behavior)")
|
|
658
|
+
logging.info("Clearing pending messages and resetting consumer group position on startup (default behavior)")
|
|
658
659
|
clear_pending_messages_for_consumer(
|
|
659
660
|
gh_event_conn, running_platform, consumer_pos
|
|
660
661
|
)
|
|
662
|
+
reset_consumer_group_to_latest(gh_event_conn, running_platform)
|
|
661
663
|
else:
|
|
662
|
-
logging.info("Skipping pending message cleanup as requested")
|
|
664
|
+
logging.info("Skipping pending message cleanup and consumer group reset as requested")
|
|
663
665
|
|
|
664
666
|
stream_id = None
|
|
665
667
|
docker_client = docker.from_env()
|
|
@@ -2285,14 +2287,14 @@ def filter_test_files(
|
|
|
2285
2287
|
continue
|
|
2286
2288
|
|
|
2287
2289
|
if command_groups_regexp is not None:
|
|
2288
|
-
logging.
|
|
2290
|
+
logging.debug(
|
|
2289
2291
|
"Filtering all test command groups via a regular expression: {}".format(
|
|
2290
2292
|
command_groups_regexp
|
|
2291
2293
|
)
|
|
2292
2294
|
)
|
|
2293
2295
|
if "tested-groups" in benchmark_config:
|
|
2294
2296
|
command_groups = benchmark_config["tested-groups"]
|
|
2295
|
-
logging.
|
|
2297
|
+
logging.debug(
|
|
2296
2298
|
f"The file {test_file} (test name = {test_name}) contains the following groups: {command_groups}"
|
|
2297
2299
|
)
|
|
2298
2300
|
groups_regex_string = re.compile(command_groups_regexp)
|
|
@@ -2301,14 +2303,14 @@ def filter_test_files(
|
|
|
2301
2303
|
match_obj = re.search(groups_regex_string, command_group)
|
|
2302
2304
|
if match_obj is not None:
|
|
2303
2305
|
found = True
|
|
2304
|
-
logging.
|
|
2306
|
+
logging.debug(f"found the command group {command_group}")
|
|
2305
2307
|
if found is False:
|
|
2306
2308
|
logging.info(
|
|
2307
2309
|
f"Skipping {test_file} given the following groups: {command_groups} does not match command group regex {command_groups_regexp}"
|
|
2308
2310
|
)
|
|
2309
2311
|
continue
|
|
2310
2312
|
else:
|
|
2311
|
-
logging.
|
|
2313
|
+
logging.debug(
|
|
2312
2314
|
f"The file {test_file} (test name = {test_name}) does not contain the property 'tested-groups'. Cannot filter based uppon groups..."
|
|
2313
2315
|
)
|
|
2314
2316
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: redis-benchmarks-specification
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.338
|
|
4
4
|
Summary: The Redis benchmarks specification describes the cross-language/tools requirements and expectations to foster performance and observability standards around redis related technologies. Members from both industry and academia, including organizations and individuals are encouraged to contribute.
|
|
5
5
|
Author: filipecosta90
|
|
6
6
|
Author-email: filipecosta.90@gmail.com
|
|
@@ -26,9 +26,9 @@ redis_benchmarks_specification/__init__.py,sha256=YQIEx2sLPPA0JR9OuCuMNMNtm-f_gq
|
|
|
26
26
|
redis_benchmarks_specification/__runner__/__init__.py,sha256=l-G1z-t6twUgi8QLueqoTQLvJmv3hJoEYskGm6H7L6M,83
|
|
27
27
|
redis_benchmarks_specification/__runner__/args.py,sha256=K3VGmBC0-9lSv9H6VDp0N-6FGMWvc_4H0pG_TOXN5u8,11312
|
|
28
28
|
redis_benchmarks_specification/__runner__/remote_profiling.py,sha256=R7obNQju8mmY9oKkcndjI4aAuxi84OCLhDSqqaYu1SU,18610
|
|
29
|
-
redis_benchmarks_specification/__runner__/runner.py,sha256=
|
|
29
|
+
redis_benchmarks_specification/__runner__/runner.py,sha256=xuPc2ht3sPlnqZblANgECtqHX_BgQNodDMKvdurDuTk,156346
|
|
30
30
|
redis_benchmarks_specification/__self_contained_coordinator__/__init__.py,sha256=l-G1z-t6twUgi8QLueqoTQLvJmv3hJoEYskGm6H7L6M,83
|
|
31
|
-
redis_benchmarks_specification/__self_contained_coordinator__/args.py,sha256=
|
|
31
|
+
redis_benchmarks_specification/__self_contained_coordinator__/args.py,sha256=2nTD4g4V1NjMRjRuDvHaoub5sjcav0GCnxv2HFiXWKc,7329
|
|
32
32
|
redis_benchmarks_specification/__self_contained_coordinator__/artifacts.py,sha256=OVHqJzDgeSSRfUSiKp1ZTAVv14PvSbk-5yJsAAoUfpw,936
|
|
33
33
|
redis_benchmarks_specification/__self_contained_coordinator__/build_info.py,sha256=vlg8H8Rxu2falW8xp1GvL1SV1fyBguSbz6Apxc7A2yM,2282
|
|
34
34
|
redis_benchmarks_specification/__self_contained_coordinator__/clients.py,sha256=EL1V4-i-tTav1mcF_CUosqPF3Q1qi9BZL0zFajEk70c,1878
|
|
@@ -36,8 +36,8 @@ redis_benchmarks_specification/__self_contained_coordinator__/cpuset.py,sha256=s
|
|
|
36
36
|
redis_benchmarks_specification/__self_contained_coordinator__/docker.py,sha256=09SyAfqlzs1KG9ZAajClNWtiNk4Jqzd--4-m3n1rLjU,3156
|
|
37
37
|
redis_benchmarks_specification/__self_contained_coordinator__/post_processing.py,sha256=sVLKNnWdAqYY9DjVdqRC5tDaIrVSaI3Ca7w8-DQ-LRM,776
|
|
38
38
|
redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py,sha256=1UeFr2T1ZQBcHCSd4W1ZtaWgXyFPfjLyDi_DgDc1eTA,2957
|
|
39
|
-
redis_benchmarks_specification/__self_contained_coordinator__/runners.py,sha256=
|
|
40
|
-
redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py,sha256=
|
|
39
|
+
redis_benchmarks_specification/__self_contained_coordinator__/runners.py,sha256=CXCyYb5G8IBHrm_6Czi2ArPQO7Pd1NJPGUYn836WadE,32872
|
|
40
|
+
redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py,sha256=Jpcby63kpVAOx0HiYzehJd6-gS5b-LNnUz0TRAdQ48M,112752
|
|
41
41
|
redis_benchmarks_specification/__setups__/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
42
|
redis_benchmarks_specification/__setups__/topologies.py,sha256=xQ1IJkcTji_ZjLiJd3vOxZpvbNtBLZw9cPkw5hGJKHU,481
|
|
43
43
|
redis_benchmarks_specification/__spec__/__init__.py,sha256=l-G1z-t6twUgi8QLueqoTQLvJmv3hJoEYskGm6H7L6M,83
|
|
@@ -282,8 +282,8 @@ redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-st
|
|
|
282
282
|
redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-storage-1k-sessions.yml,sha256=2egtIxPxCze2jlbAfgsk4v9JSQHNMoPLbDWFEW8olDg,7006
|
|
283
283
|
redis_benchmarks_specification/test-suites/template.txt,sha256=ezqGiRPOvuSDO0iG7GEf-AGXNfHbgXI89_G0RUEzL88,481
|
|
284
284
|
redis_benchmarks_specification/vector-search-test-suites/vector_db_benchmark_test.yml,sha256=PD7ow-k4Ll2BkhEC3aIqiaCZt8Hc4aJIp96Lw3J3mcI,791
|
|
285
|
-
redis_benchmarks_specification-0.1.
|
|
286
|
-
redis_benchmarks_specification-0.1.
|
|
287
|
-
redis_benchmarks_specification-0.1.
|
|
288
|
-
redis_benchmarks_specification-0.1.
|
|
289
|
-
redis_benchmarks_specification-0.1.
|
|
285
|
+
redis_benchmarks_specification-0.1.338.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
286
|
+
redis_benchmarks_specification-0.1.338.dist-info/METADATA,sha256=Ak3-Pw7UjP7ftlTuKAivQBA_MuZhMBIRQNFsqI6XLiM,22768
|
|
287
|
+
redis_benchmarks_specification-0.1.338.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
288
|
+
redis_benchmarks_specification-0.1.338.dist-info/entry_points.txt,sha256=x5WBXCZsnDRTZxV7SBGmC65L2k-ygdDOxV8vuKN00Nk,715
|
|
289
|
+
redis_benchmarks_specification-0.1.338.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|