redis-benchmarks-specification 0.1.339__tar.gz → 0.2.0__tar.gz

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.

Files changed (288) hide show
  1. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/PKG-INFO +1 -1
  2. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/pyproject.toml +1 -1
  3. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__builder__/builder.py +140 -2
  4. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__cli__/args.py +1 -1
  5. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__cli__/cli.py +10 -6
  6. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/env.py +14 -0
  7. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/runners.py +23 -8
  8. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py +32 -17
  9. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/LICENSE +0 -0
  10. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/Readme.md +0 -0
  11. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__api__/Readme.md +0 -0
  12. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__api__/__init__.py +0 -0
  13. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__api__/api.py +0 -0
  14. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__api__/app.py +0 -0
  15. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__builder__/Readme.md +0 -0
  16. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__builder__/__init__.py +0 -0
  17. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__builder__/schema.py +0 -0
  18. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__cli__/__init__.py +0 -0
  19. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__cli__/stats.py +0 -0
  20. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/__init__.py +0 -0
  21. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/builder_schema.py +0 -0
  22. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/github.py +0 -0
  23. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/package.py +0 -0
  24. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/runner.py +0 -0
  25. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/spec.py +0 -0
  26. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/suppress_warnings.py +0 -0
  27. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/timeseries.py +0 -0
  28. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__compare__/__init__.py +0 -0
  29. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__compare__/args.py +0 -0
  30. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__compare__/compare.py +0 -0
  31. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__init__.py +0 -0
  32. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__runner__/__init__.py +0 -0
  33. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__runner__/args.py +0 -0
  34. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__runner__/remote_profiling.py +0 -0
  35. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__runner__/runner.py +0 -0
  36. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/__init__.py +0 -0
  37. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/args.py +0 -0
  38. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/artifacts.py +0 -0
  39. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/build_info.py +0 -0
  40. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/clients.py +0 -0
  41. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/cpuset.py +0 -0
  42. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/docker.py +0 -0
  43. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/post_processing.py +0 -0
  44. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py +0 -0
  45. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__setups__/__init__.py +0 -0
  46. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__setups__/topologies.py +0 -0
  47. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__spec__/__init__.py +0 -0
  48. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__spec__/args.py +0 -0
  49. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__spec__/cli.py +0 -0
  50. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__watchdog__/__init__.py +0 -0
  51. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__watchdog__/args.py +0 -0
  52. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__watchdog__/watchdog.py +0 -0
  53. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/commands/__init__.py +0 -0
  54. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/commands/commands.py +0 -0
  55. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/setups/builders/gcc:15.2.0-amd64-debian-bookworm-default.yml +0 -0
  56. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/setups/builders/gcc:15.2.0-arm64-debian-bookworm-default.yml +0 -0
  57. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/setups/platforms/aws-ec2-1node-c5.4xlarge.yml +0 -0
  58. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/setups/topologies/topologies.yml +0 -0
  59. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/defaults.yml +0 -0
  60. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/generate.py +0 -0
  61. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-hash-hgetall-50-fields-100B-values.yml +0 -0
  62. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-20-fields-with-1B-values-pipeline-30.yml +0 -0
  63. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-1000B-values.yml +0 -0
  64. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-100B-values.yml +0 -0
  65. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-10B-values.yml +0 -0
  66. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Kkeys-load-hash-50-fields-with-10000B-values.yml +0 -0
  67. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Kkeys-load-list-rpush-bulkload-pipeline-50.yml +0 -0
  68. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Kkeys-load-list-with-10B-values-pipeline-50.yml +0 -0
  69. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10.yml +0 -0
  70. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values.yml +0 -0
  71. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10.yml +0 -0
  72. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values.yml +0 -0
  73. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-string-get-10B-pipeline-100-nokeyprefix.yml +0 -0
  74. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Kkeys-hash-listpack-500-fields-update-20-fields-with-1B-to-64B-values.yml +0 -0
  75. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-100B-expire-use-case.yml +0 -0
  76. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-expire-use-case.yml +0 -0
  77. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-psetex-expire-use-case.yml +0 -0
  78. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-setex-expire-use-case.yml +0 -0
  79. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-1KiB-expire-use-case.yml +0 -0
  80. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-4KiB-expire-use-case.yml +0 -0
  81. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10.yml +0 -0
  82. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-exists-pipeline-10.yml +0 -0
  83. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expire-pipeline-10.yml +0 -0
  84. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expireat-pipeline-10.yml +0 -0
  85. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10.yml +0 -0
  86. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-count-500-pipeline-10.yml +0 -0
  87. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-cursor-count-500-pipeline-10.yml +0 -0
  88. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-cursor-count-5000-pipeline-10.yml +0 -0
  89. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-cursor-pipeline-10.yml +0 -0
  90. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-pipeline-10.yml +0 -0
  91. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-type-pipeline-10.yml +0 -0
  92. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-touch-pipeline-10.yml +0 -0
  93. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-ttl-pipeline-10.yml +0 -0
  94. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hexists.yml +0 -0
  95. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hget-hgetall-hkeys-hvals-with-100B-values.yml +0 -0
  96. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hgetall-50-fields-10B-values.yml +0 -0
  97. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hincrby.yml +0 -0
  98. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hincrbyfloat.yml +0 -0
  99. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hmget-5-fields-with-100B-values-pipeline-10.yml +0 -0
  100. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-transactions-multi-exec-pipeline-20.yml +0 -0
  101. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-100B-values.yml +0 -0
  102. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-10B-values.yml +0 -0
  103. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-1KiB-values.yml +0 -0
  104. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-rpoplpush-with-10B-values.yml +0 -0
  105. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml +0 -0
  106. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values.yml +0 -0
  107. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values.yml +0 -0
  108. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-rpush-with-10B-values.yml +0 -0
  109. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-100B-values.yml +0 -0
  110. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values-pipeline-10.yml +0 -0
  111. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values.yml +0 -0
  112. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-1KiB-values.yml +0 -0
  113. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-19-digits-pipeline-10.yml +0 -0
  114. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-19-digits.yml +0 -0
  115. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-pipeline-10.yml +0 -0
  116. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements.yml +0 -0
  117. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10.yml +0 -0
  118. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values.yml +0 -0
  119. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10.yml +0 -0
  120. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values.yml +0 -0
  121. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10.yml +0 -0
  122. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values.yml +0 -0
  123. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10.yml +0 -0
  124. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100-nokeyprefix.yml +0 -0
  125. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100.yml +0 -0
  126. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-50.yml +0 -0
  127. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-500.yml +0 -0
  128. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values.yml +0 -0
  129. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-1KiB-values-pipeline-10.yml +0 -0
  130. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-1KiB-values.yml +0 -0
  131. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-20KiB-values.yml +0 -0
  132. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-listpack-with-100-elements-double-score.yml +0 -0
  133. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score.yml +0 -0
  134. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score.yml +0 -0
  135. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-append-1-100B-pipeline-10.yml +0 -0
  136. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-append-1-100B.yml +0 -0
  137. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-decr.yml +0 -0
  138. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B-pipeline-10.yml +0 -0
  139. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B.yml +0 -0
  140. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-10.yml +0 -0
  141. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-100-nokeyprefix.yml +0 -0
  142. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-100.yml +0 -0
  143. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-50.yml +0 -0
  144. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-500.yml +0 -0
  145. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B.yml +0 -0
  146. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10.yml +0 -0
  147. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB.yml +0 -0
  148. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-32B-pipeline-10.yml +0 -0
  149. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-32B.yml +0 -0
  150. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incr-pipeline-10.yml +0 -0
  151. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrby-pipeline-10.yml +0 -0
  152. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrby.yml +0 -0
  153. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrbyfloat-pipeline-10.yml +0 -0
  154. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrbyfloat.yml +0 -0
  155. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-int-encoding-strlen-pipeline-10.yml +0 -0
  156. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mget-1KiB.yml +0 -0
  157. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire-pipeline-10.yml +0 -0
  158. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire.yml +0 -0
  159. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-pipeline-10.yml +0 -0
  160. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B.yml +0 -0
  161. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB-pipeline-10.yml +0 -0
  162. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB.yml +0 -0
  163. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B-pipeline-10.yml +0 -0
  164. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B.yml +0 -0
  165. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B-pipeline-10.yml +0 -0
  166. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B.yml +0 -0
  167. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-with-expiration-240B-400_conns.yml +0 -0
  168. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-set-with-ex-100B-pipeline-10.yml +0 -0
  169. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setex-100B-pipeline-10.yml +0 -0
  170. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setget200c-1KiB-pipeline-10.yml +0 -0
  171. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setrange-100B-pipeline-10.yml +0 -0
  172. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setrange-100B.yml +0 -0
  173. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-100M-bits-bitmap-bitcount.yml +0 -0
  174. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-1Billion-bits-bitmap-bitcount.yml +0 -0
  175. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-2-elements-geopos.yml +0 -0
  176. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-2-elements-geosearch-fromlonlat-withcoord.yml +0 -0
  177. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml +0 -0
  178. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist.yml +0 -0
  179. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml +0 -0
  180. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash.yml +0 -0
  181. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml +0 -0
  182. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos.yml +0 -0
  183. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox.yml +0 -0
  184. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml +0 -0
  185. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml +0 -0
  186. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-1K-fields-hgetall-pipeline-10.yml +0 -0
  187. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-1K-fields-hgetall.yml +0 -0
  188. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-hscan-1K-fields-100B-values-cursor-count-1000.yml +0 -0
  189. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-hscan-1K-fields-10B-values-cursor-count-100.yml +0 -0
  190. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-hscan-1K-fields-10B-values.yml +0 -0
  191. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-hscan-50-fields-10B-values.yml +0 -0
  192. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements-pipeline-10.yml +0 -0
  193. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements.yml +0 -0
  194. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-int-7bit-uint-lrange-all-elements-pipeline-10.yml +0 -0
  195. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-int-lrange-all-elements-pipeline-10.yml +0 -0
  196. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-llen-pipeline-10.yml +0 -0
  197. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-lrange-all-elements-pipeline-10.yml +0 -0
  198. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-lrange-all-elements.yml +0 -0
  199. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lindex-integer.yml +0 -0
  200. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lindex-string-pipeline-10.yml +0 -0
  201. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lindex-string.yml +0 -0
  202. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-linsert-lrem-integer.yml +0 -0
  203. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-linsert-lrem-string.yml +0 -0
  204. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lpos-integer.yml +0 -0
  205. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lpos-string.yml +0 -0
  206. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-1K-elements-lrange-all-elements-pipeline-10.yml +0 -0
  207. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-1K-elements-lrange-all-elements.yml +0 -0
  208. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-2K-elements-quicklist-lrange-all-elements-longs.yml +0 -0
  209. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-load-hash-1K-fields-with-5B-values.yml +0 -0
  210. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-load-zset-with-5-elements-parsing-float-score.yml +0 -0
  211. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-load-zset-with-5-elements-parsing-hexa-score.yml +0 -0
  212. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-pfadd-4KB-values-pipeline-10.yml +0 -0
  213. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers-pipeline-10.yml +0 -0
  214. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers.yml +0 -0
  215. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smismember.yml +0 -0
  216. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-sismember-is-a-member.yml +0 -0
  217. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-sismember-not-a-member.yml +0 -0
  218. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smembers.yml +0 -0
  219. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smismember.yml +0 -0
  220. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-sscan.yml +0 -0
  221. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10M-elements-sismember-50pct-chance.yml +0 -0
  222. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10M-elements-srem-50pct-chance.yml +0 -0
  223. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-smembers.yml +0 -0
  224. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-sscan-cursor-count-100.yml +0 -0
  225. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-sscan.yml +0 -0
  226. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1M-elements-sismember-50pct-chance.yml +0 -0
  227. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-200K-elements-sadd-constant.yml +0 -0
  228. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-2M-elements-sadd-increasing.yml +0 -0
  229. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zincrby-1M-elements-pipeline-1.yml +0 -0
  230. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-100K-elements-pipeline-1.yml +0 -0
  231. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-10M-elements-pipeline-1.yml +0 -0
  232. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-1M-elements-pipeline-1.yml +0 -0
  233. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrem-5M-elements-pipeline-1.yml +0 -0
  234. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1.yml +0 -0
  235. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-10.yml +0 -0
  236. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1.yml +0 -0
  237. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements-long-scores.yml +0 -0
  238. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements.yml +0 -0
  239. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrange-all-elements.yml +0 -0
  240. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements-long-scores.yml +0 -0
  241. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements.yml +0 -0
  242. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zscan.yml +0 -0
  243. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1K-elements-zrange-all-elements.yml +0 -0
  244. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1K-elements-zscan.yml +0 -0
  245. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10.yml +0 -0
  246. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zremrangebyscore-pipeline-10.yml +0 -0
  247. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements.yml +0 -0
  248. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zrevrange-withscores-5-elements-pipeline-10.yml +0 -0
  249. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10.yml +0 -0
  250. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-600K-elements-zrangestore-1K-elements.yml +0 -0
  251. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-600K-elements-zrangestore-300K-elements.yml +0 -0
  252. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-listpack-zrank-100-elements-pipeline-1.yml +0 -0
  253. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-eval-hset-expire.yml +0 -0
  254. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-evalsha-hset-expire.yml +0 -0
  255. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sdiff.yml +0 -0
  256. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sinter.yml +0 -0
  257. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sunion.yml +0 -0
  258. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries-pipeline-10.yml +0 -0
  259. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries.yml +0 -0
  260. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunion.yml +0 -0
  261. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunionstore.yml +0 -0
  262. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values-pipeline-10.yml +0 -0
  263. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values.yml +0 -0
  264. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-400_conns.yml +0 -0
  265. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-40_conns.yml +0 -0
  266. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-2000_conns.yml +0 -0
  267. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-400_conns.yml +0 -0
  268. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-40_conns.yml +0 -0
  269. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-400_conns.yml +0 -0
  270. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-2000_conns.yml +0 -0
  271. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-400_conns.yml +0 -0
  272. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-5200_conns.yml +0 -0
  273. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-50-50-with-512B-values-with-expiration-pipeline-10-400_conns.yml +0 -0
  274. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-connection-hello-pipeline-10.yml +0 -0
  275. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-connection-hello.yml +0 -0
  276. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-connection-ping-pipeline-10.yml +0 -0
  277. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-mixed-100-channels-128B-100-publishers-100-subscribers.yml +0 -0
  278. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-mixed-100-channels-128B-100-publishers-1000-subscribers.yml +0 -0
  279. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-mixed-100-channels-128B-100-publishers-5000-subscribers.yml +0 -0
  280. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-mixed-100-channels-128B-100-publishers-50K-subscribers-5k-conns.yml +0 -0
  281. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-publish-1K-channels-10B-no-subscribers.yml +0 -0
  282. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-server-time-pipeline-10.yml +0 -0
  283. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-caching-hash-100k-sessions.yml +0 -0
  284. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-caching-string-100k-sessions.yml +0 -0
  285. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-storage-100k-sessions.yml +0 -0
  286. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-storage-1k-sessions.yml +0 -0
  287. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/template.txt +0 -0
  288. {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/vector-search-test-suites/vector_db_benchmark_test.yml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: redis-benchmarks-specification
3
- Version: 0.1.339
3
+ Version: 0.2.0
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
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "redis-benchmarks-specification"
3
- version = "0.1.339"
3
+ version = "0.2.0"
4
4
  description = "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
  authors = ["filipecosta90 <filipecosta.90@gmail.com>","Redis Performance Group <performance@redis.com>"]
6
6
  readme = "Readme.md"
@@ -28,6 +28,7 @@ from redis_benchmarks_specification.__common__.env import (
28
28
  SPECS_PATH_SETUPS,
29
29
  STREAM_GH_EVENTS_COMMIT_BUILDERS_CG,
30
30
  STREAM_KEYNAME_NEW_BUILD_EVENTS,
31
+ get_arch_specific_stream_name,
31
32
  REDIS_HEALTH_CHECK_INTERVAL,
32
33
  REDIS_SOCKET_TIMEOUT,
33
34
  REDIS_BINS_EXPIRE_SECS,
@@ -47,6 +48,69 @@ from redis_benchmarks_specification.__common__.package import (
47
48
  PERFORMANCE_GH_TOKEN = os.getenv("PERFORMANCE_GH_TOKEN", None)
48
49
 
49
50
 
51
+ def clear_pending_messages_for_builder_consumer(conn, builder_group, builder_id):
52
+ """Clear all pending messages for a specific builder consumer on startup"""
53
+ consumer_name = f"{builder_group}-proc#{builder_id}"
54
+
55
+ try:
56
+ # Get pending messages for this specific consumer
57
+ pending_info = conn.xpending_range(
58
+ STREAM_KEYNAME_GH_EVENTS_COMMIT,
59
+ builder_group,
60
+ min="-",
61
+ max="+",
62
+ count=1000, # Get up to 1000 pending messages
63
+ consumername=consumer_name,
64
+ )
65
+
66
+ if pending_info:
67
+ message_ids = [msg["message_id"] for msg in pending_info]
68
+ logging.info(
69
+ f"Found {len(message_ids)} pending messages for builder consumer {consumer_name}. Clearing them..."
70
+ )
71
+
72
+ # Acknowledge all pending messages to clear them
73
+ ack_count = conn.xack(
74
+ STREAM_KEYNAME_GH_EVENTS_COMMIT, builder_group, *message_ids
75
+ )
76
+
77
+ logging.info(
78
+ f"Successfully cleared {ack_count} pending messages for builder consumer {consumer_name}"
79
+ )
80
+ else:
81
+ logging.info(
82
+ f"No pending messages found for builder consumer {consumer_name}"
83
+ )
84
+
85
+ except redis.exceptions.ResponseError as e:
86
+ if "NOGROUP" in str(e):
87
+ logging.info(f"Builder consumer group {builder_group} does not exist yet")
88
+ else:
89
+ logging.warning(f"Error clearing pending messages: {e}")
90
+ except Exception as e:
91
+ logging.error(f"Unexpected error clearing pending messages: {e}")
92
+
93
+
94
+ def reset_builder_consumer_group_to_latest(conn, builder_group):
95
+ """Reset the builder consumer group position to only read new messages (skip old ones)"""
96
+ try:
97
+ # Set the consumer group position to '$' (latest) to skip all existing messages
98
+ conn.xgroup_setid(STREAM_KEYNAME_GH_EVENTS_COMMIT, builder_group, id="$")
99
+ logging.info(
100
+ f"Reset builder consumer group {builder_group} position to latest - will only process new messages"
101
+ )
102
+
103
+ except redis.exceptions.ResponseError as e:
104
+ if "NOGROUP" in str(e):
105
+ logging.info(f"Builder consumer group {builder_group} does not exist yet")
106
+ else:
107
+ logging.warning(f"Error resetting builder consumer group position: {e}")
108
+ except Exception as e:
109
+ logging.error(
110
+ f"Unexpected error resetting builder consumer group position: {e}"
111
+ )
112
+
113
+
50
114
  class ZipFileWithPermissions(ZipFile):
51
115
  def _extract_member(self, member, targetpath, pwd):
52
116
  if not isinstance(member, ZipInfo):
@@ -104,6 +168,12 @@ def main():
104
168
  )
105
169
  parser.add_argument("--github_token", type=str, default=PERFORMANCE_GH_TOKEN)
106
170
  parser.add_argument("--pull-request", type=str, default=None, nargs="?", const="")
171
+ parser.add_argument(
172
+ "--skip-clear-pending-on-startup",
173
+ default=False,
174
+ action="store_true",
175
+ 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.",
176
+ )
107
177
  args = parser.parse_args()
108
178
  if args.logname is not None:
109
179
  print("Writting log to {}".format(args.logname))
@@ -169,6 +239,19 @@ def main():
169
239
  builder_id = "1"
170
240
 
171
241
  builder_consumer_group_create(conn, builder_group)
242
+
243
+ # Clear pending messages and reset consumer group position by default (unless explicitly skipped)
244
+ if not args.skip_clear_pending_on_startup:
245
+ logging.info(
246
+ "Clearing pending messages and resetting builder consumer group position on startup (default behavior)"
247
+ )
248
+ clear_pending_messages_for_builder_consumer(conn, builder_group, builder_id)
249
+ reset_builder_consumer_group_to_latest(conn, builder_group)
250
+ else:
251
+ logging.info(
252
+ "Skipping pending message cleanup and builder consumer group reset as requested"
253
+ )
254
+
172
255
  if args.github_token is not None:
173
256
  logging.info("detected a github token. will update as much as possible!!! =)")
174
257
  previous_id = args.consumer_start_id
@@ -268,7 +351,32 @@ def builder_process_stream(
268
351
  build_request_arch, arch
269
352
  )
270
353
  )
354
+ # Acknowledge the message even though we're skipping it
355
+ ack_reply = conn.xack(
356
+ STREAM_KEYNAME_GH_EVENTS_COMMIT,
357
+ STREAM_GH_EVENTS_COMMIT_BUILDERS_CG,
358
+ streamId,
359
+ )
360
+ if type(ack_reply) == bytes:
361
+ ack_reply = ack_reply.decode()
362
+ if ack_reply == "1" or ack_reply == 1:
363
+ logging.info(
364
+ "Successfully acknowledged build variation stream with id {} (filtered by arch).".format(
365
+ streamId
366
+ )
367
+ )
368
+ else:
369
+ logging.error(
370
+ "Unable to acknowledge build variation stream with id {}. XACK reply {}".format(
371
+ streamId, ack_reply
372
+ )
373
+ )
271
374
  return previous_id, new_builds_count, build_stream_fields_arr
375
+ else:
376
+ logging.info(
377
+ "No arch info found on the stream. Using default arch {}.".format(arch)
378
+ )
379
+ build_request_arch = arch
272
380
 
273
381
  home = str(Path.home())
274
382
  if b"git_hash" in testDetails:
@@ -430,7 +538,7 @@ def builder_process_stream(
430
538
  server_name = testDetails[b"server_name"].decode()
431
539
 
432
540
  # Check if artifacts already exist before building
433
- prefix = f"github_org={github_org}/github_repo={github_repo}/git_branch={str(git_branch)}/git_version={str(git_version)}/git_hash={str(git_hash)}"
541
+ prefix = f"build_spec={build_spec}/github_org={github_org}/github_repo={github_repo}/git_branch={str(git_branch)}/git_version={str(git_version)}/git_hash={str(git_hash)}"
434
542
 
435
543
  # Create a comprehensive build signature that includes all build-affecting parameters
436
544
  import hashlib
@@ -496,6 +604,32 @@ def builder_process_stream(
496
604
  github_repo,
497
605
  artifact_keys, # Pass existing artifact keys
498
606
  )
607
+ # Add to benchmark stream even when reusing artifacts
608
+ if result is True:
609
+ arch_specific_stream = get_arch_specific_stream_name(build_arch)
610
+ logging.info(
611
+ f"Adding reused build work to architecture-specific stream: {arch_specific_stream}"
612
+ )
613
+ benchmark_stream_id = conn.xadd(
614
+ arch_specific_stream, build_stream_fields
615
+ )
616
+ logging.info(
617
+ "successfully reused build variant {} for redis git_sha {}. Stream id: {}".format(
618
+ id, git_hash, benchmark_stream_id
619
+ )
620
+ )
621
+ streamId_decoded = streamId.decode()
622
+ benchmark_stream_id_decoded = benchmark_stream_id.decode()
623
+ builder_list_completed = (
624
+ f"builder:{streamId_decoded}:builds_completed"
625
+ )
626
+ conn.lpush(builder_list_completed, benchmark_stream_id_decoded)
627
+ conn.expire(builder_list_completed, REDIS_BINS_EXPIRE_SECS)
628
+ logging.info(
629
+ f"Adding information of build->benchmark stream info in list {builder_list_completed}. Adding benchmark stream id: {benchmark_stream_id_decoded}"
630
+ )
631
+ build_stream_fields_arr.append(build_stream_fields)
632
+ new_builds_count = new_builds_count + 1
499
633
  continue # Skip to next build spec
500
634
 
501
635
  logging.info(
@@ -583,8 +717,12 @@ def builder_process_stream(
583
717
  None, # existing_artifact_keys - None for new builds
584
718
  )
585
719
  if result is True:
720
+ arch_specific_stream = get_arch_specific_stream_name(build_arch)
721
+ logging.info(
722
+ f"Adding new build work to architecture-specific stream: {arch_specific_stream}"
723
+ )
586
724
  benchmark_stream_id = conn.xadd(
587
- STREAM_KEYNAME_NEW_BUILD_EVENTS, build_stream_fields
725
+ arch_specific_stream, build_stream_fields
588
726
  )
589
727
  logging.info(
590
728
  "sucessfully built build variant {} for redis git_sha {}. Stream id: {}".format(
@@ -138,7 +138,7 @@ def spec_cli_args(parser):
138
138
  parser.add_argument("--gh_repo", type=str, default="redis")
139
139
  parser.add_argument("--server_name", type=str, default=None)
140
140
  parser.add_argument("--run_image", type=str, default="redis")
141
- parser.add_argument("--build_arch", type=str, default=None)
141
+ parser.add_argument("--arch", type=str, default="amd64")
142
142
  parser.add_argument("--id", type=str, default="dockerhub")
143
143
  parser.add_argument("--mnt_point", type=str, default="")
144
144
  parser.add_argument("--trigger-unstable-commits", type=bool, default=True)
@@ -44,6 +44,7 @@ from redis_benchmarks_specification.__common__.env import (
44
44
  STREAM_KEYNAME_GH_EVENTS_COMMIT,
45
45
  STREAM_GH_EVENTS_COMMIT_BUILDERS_CG,
46
46
  STREAM_KEYNAME_NEW_BUILD_EVENTS,
47
+ get_arch_specific_stream_name,
47
48
  )
48
49
  from redis_benchmarks_specification.__common__.package import (
49
50
  get_version_string,
@@ -84,7 +85,7 @@ def trigger_tests_dockerhub_cli_command_logic(args, project_name, project_versio
84
85
  args.id,
85
86
  conn,
86
87
  args.run_image,
87
- args.build_arch,
88
+ args.arch,
88
89
  testDetails,
89
90
  "n/a",
90
91
  [],
@@ -124,9 +125,12 @@ def trigger_tests_dockerhub_cli_command_logic(args, project_name, project_versio
124
125
  store_airgap_image_redis(conn, docker_client, args.run_image)
125
126
 
126
127
  if result is True:
127
- benchmark_stream_id = conn.xadd(
128
- STREAM_KEYNAME_NEW_BUILD_EVENTS, build_stream_fields
128
+ # Use architecture-specific stream
129
+ arch_specific_stream = get_arch_specific_stream_name(args.arch)
130
+ logging.info(
131
+ f"CLI adding work to architecture-specific stream: {arch_specific_stream}"
129
132
  )
133
+ benchmark_stream_id = conn.xadd(arch_specific_stream, build_stream_fields)
130
134
  logging.info(
131
135
  "sucessfully requested a new run {}. Stream id: {}".format(
132
136
  build_stream_fields, benchmark_stream_id
@@ -438,9 +442,9 @@ def trigger_tests_cli_command_logic(args, project_name, project_version):
438
442
  commit_dict["tests_groups_regexp"] = tests_groups_regexp
439
443
  commit_dict["github_org"] = args.gh_org
440
444
  commit_dict["github_repo"] = args.gh_repo
441
- if args.build_arch is not None:
442
- commit_dict["build_arch"] = args.build_arch
443
- commit_dict["arch"] = args.build_arch
445
+ if args.arch is not None:
446
+ commit_dict["build_arch"] = args.arch
447
+ commit_dict["arch"] = args.arch
444
448
  if args.server_name is not None and args.server_name != "":
445
449
  commit_dict["server_name"] = args.server_name
446
450
  if args.build_artifacts != "":
@@ -32,6 +32,20 @@ STREAM_KEYNAME_NEW_BUILD_EVENTS = os.getenv(
32
32
  "STREAM_KEYNAME_NEW_BUILD_EVENTS", "oss:api:gh/redis/redis/builds"
33
33
  )
34
34
 
35
+
36
+ # Function to get architecture-specific build events stream name
37
+ def get_arch_specific_stream_name(arch):
38
+ """Get architecture-specific stream name for build events"""
39
+ base_stream = STREAM_KEYNAME_NEW_BUILD_EVENTS
40
+ if arch in ["amd64", "x86_64"]:
41
+ return f"{base_stream}:amd64"
42
+ elif arch in ["arm64", "aarch64"]:
43
+ return f"{base_stream}:arm64"
44
+ else:
45
+ # Fallback to base stream for unknown architectures
46
+ return base_stream
47
+
48
+
35
49
  STREAM_GH_NEW_BUILD_RUNNERS_CG = os.getenv(
36
50
  "STREAM_GH_NEW_BUILD_RUNNERS_CG", "runners-cg:redis/redis/commits"
37
51
  )
@@ -38,6 +38,7 @@ from redisbench_admin.utils.results import post_process_benchmark_results
38
38
 
39
39
  from redis_benchmarks_specification.__common__.env import (
40
40
  STREAM_KEYNAME_NEW_BUILD_EVENTS,
41
+ get_arch_specific_stream_name,
41
42
  STREAM_GH_NEW_BUILD_RUNNERS_CG,
42
43
  S3_BUCKET_NAME,
43
44
  )
@@ -71,12 +72,16 @@ from redis_benchmarks_specification.__self_contained_coordinator__.prepopulation
71
72
  )
72
73
 
73
74
 
74
- def build_runners_consumer_group_create(conn, running_platform, id="$"):
75
+ def build_runners_consumer_group_create(conn, running_platform, arch="amd64", id="$"):
75
76
  consumer_group_name = get_runners_consumer_group_name(running_platform)
77
+ arch_specific_stream = get_arch_specific_stream_name(arch)
76
78
  logging.info("Will use consumer group named {}.".format(consumer_group_name))
79
+ logging.info(
80
+ "Will read from architecture-specific stream: {}.".format(arch_specific_stream)
81
+ )
77
82
  try:
78
83
  conn.xgroup_create(
79
- STREAM_KEYNAME_NEW_BUILD_EVENTS,
84
+ arch_specific_stream,
80
85
  consumer_group_name,
81
86
  mkstream=True,
82
87
  id=id,
@@ -99,17 +104,23 @@ def get_runners_consumer_group_name(running_platform):
99
104
  return consumer_group_name
100
105
 
101
106
 
102
- def clear_pending_messages_for_consumer(conn, running_platform, consumer_pos):
107
+ def clear_pending_messages_for_consumer(
108
+ conn, running_platform, consumer_pos, arch="amd64"
109
+ ):
103
110
  """Clear all pending messages for a specific consumer on startup"""
104
111
  consumer_group_name = get_runners_consumer_group_name(running_platform)
105
112
  consumer_name = "{}-self-contained-proc#{}".format(
106
113
  consumer_group_name, consumer_pos
107
114
  )
115
+ arch_specific_stream = get_arch_specific_stream_name(arch)
116
+ logging.info(
117
+ f"Clearing pending messages from architecture-specific stream: {arch_specific_stream}"
118
+ )
108
119
 
109
120
  try:
110
121
  # Get pending messages for this specific consumer
111
122
  pending_info = conn.xpending_range(
112
- STREAM_KEYNAME_NEW_BUILD_EVENTS,
123
+ arch_specific_stream,
113
124
  consumer_group_name,
114
125
  min="-",
115
126
  max="+",
@@ -125,7 +136,7 @@ def clear_pending_messages_for_consumer(conn, running_platform, consumer_pos):
125
136
 
126
137
  # Acknowledge all pending messages to clear them
127
138
  ack_count = conn.xack(
128
- STREAM_KEYNAME_NEW_BUILD_EVENTS, consumer_group_name, *message_ids
139
+ arch_specific_stream, consumer_group_name, *message_ids
129
140
  )
130
141
 
131
142
  logging.info(
@@ -143,15 +154,19 @@ def clear_pending_messages_for_consumer(conn, running_platform, consumer_pos):
143
154
  logging.error(f"Unexpected error clearing pending messages: {e}")
144
155
 
145
156
 
146
- def reset_consumer_group_to_latest(conn, running_platform):
157
+ def reset_consumer_group_to_latest(conn, running_platform, arch="amd64"):
147
158
  """Reset the consumer group position to only read new messages (skip old ones)"""
148
159
  consumer_group_name = get_runners_consumer_group_name(running_platform)
160
+ arch_specific_stream = get_arch_specific_stream_name(arch)
161
+ logging.info(
162
+ f"Resetting consumer group position for architecture-specific stream: {arch_specific_stream}"
163
+ )
149
164
 
150
165
  try:
151
166
  # Set the consumer group position to '$' (latest) to skip all existing messages
152
- conn.xgroup_setid(STREAM_KEYNAME_NEW_BUILD_EVENTS, consumer_group_name, id="$")
167
+ conn.xgroup_setid(arch_specific_stream, consumer_group_name, id="$")
153
168
  logging.info(
154
- f"Reset consumer group {consumer_group_name} position to latest - will only process new messages"
169
+ f"Reset consumer group {consumer_group_name} position to latest on stream {arch_specific_stream} - will only process new messages"
155
170
  )
156
171
 
157
172
  except redis.exceptions.ResponseError as e:
@@ -102,6 +102,7 @@ from redisbench_admin.utils.results import post_process_benchmark_results
102
102
 
103
103
  from redis_benchmarks_specification.__common__.env import (
104
104
  STREAM_KEYNAME_NEW_BUILD_EVENTS,
105
+ get_arch_specific_stream_name,
105
106
  S3_BUCKET_NAME,
106
107
  )
107
108
  from redis_benchmarks_specification.__common__.spec import (
@@ -650,7 +651,7 @@ def main():
650
651
 
651
652
  logging.info("checking build spec requirements")
652
653
  running_platform = args.platform_name
653
- build_runners_consumer_group_create(gh_event_conn, running_platform)
654
+ build_runners_consumer_group_create(gh_event_conn, running_platform, args.arch)
654
655
 
655
656
  # Clear pending messages and reset consumer group position by default (unless explicitly skipped)
656
657
  if not args.skip_clear_pending_on_startup:
@@ -659,9 +660,9 @@ def main():
659
660
  "Clearing pending messages and resetting consumer group position on startup (default behavior)"
660
661
  )
661
662
  clear_pending_messages_for_consumer(
662
- gh_event_conn, running_platform, consumer_pos
663
+ gh_event_conn, running_platform, consumer_pos, args.arch
663
664
  )
664
- reset_consumer_group_to_latest(gh_event_conn, running_platform)
665
+ reset_consumer_group_to_latest(gh_event_conn, running_platform, args.arch)
665
666
  else:
666
667
  logging.info(
667
668
  "Skipping pending message cleanup and consumer group reset as requested"
@@ -819,10 +820,15 @@ def self_contained_coordinator_blocking_read(
819
820
  get_runners_consumer_group_name(platform_name), consumer_name
820
821
  )
821
822
  )
823
+ # Use architecture-specific stream
824
+ arch_specific_stream = get_arch_specific_stream_name(arch)
825
+ logging.info(
826
+ f"Reading work from architecture-specific stream: {arch_specific_stream}"
827
+ )
822
828
  newTestInfo = github_event_conn.xreadgroup(
823
829
  get_runners_consumer_group_name(platform_name),
824
830
  consumer_name,
825
- {STREAM_KEYNAME_NEW_BUILD_EVENTS: stream_id},
831
+ {arch_specific_stream: stream_id},
826
832
  count=1,
827
833
  block=0,
828
834
  )
@@ -872,26 +878,35 @@ def self_contained_coordinator_blocking_read(
872
878
  )
873
879
  num_process_streams = num_process_streams + 1
874
880
  num_process_test_suites = num_process_test_suites + total_test_suite_runs
875
- if overall_result is True:
876
- ack_reply = github_event_conn.xack(
877
- STREAM_KEYNAME_NEW_BUILD_EVENTS,
878
- get_runners_consumer_group_name(platform_name),
879
- stream_id,
880
- )
881
- if type(ack_reply) == bytes:
882
- ack_reply = ack_reply.decode()
883
- if ack_reply == "1" or ack_reply == 1:
881
+
882
+ # Always acknowledge the message, even if it was filtered out
883
+ arch_specific_stream = get_arch_specific_stream_name(arch)
884
+ ack_reply = github_event_conn.xack(
885
+ arch_specific_stream,
886
+ get_runners_consumer_group_name(platform_name),
887
+ stream_id,
888
+ )
889
+ if type(ack_reply) == bytes:
890
+ ack_reply = ack_reply.decode()
891
+ if ack_reply == "1" or ack_reply == 1:
892
+ if overall_result is True:
884
893
  logging.info(
885
- "Sucessfully acknowledge BENCHMARK variation stream with id {}.".format(
894
+ "Successfully acknowledged BENCHMARK variation stream with id {} (processed).".format(
886
895
  stream_id
887
896
  )
888
897
  )
889
898
  else:
890
- logging.error(
891
- "Unable to acknowledge build variation stream with id {}. XACK reply {}".format(
892
- stream_id, ack_reply
899
+ logging.info(
900
+ "Successfully acknowledged BENCHMARK variation stream with id {} (filtered/skipped).".format(
901
+ stream_id
893
902
  )
894
903
  )
904
+ else:
905
+ logging.error(
906
+ "Unable to acknowledge build variation stream with id {}. XACK reply {}".format(
907
+ stream_id, ack_reply
908
+ )
909
+ )
895
910
  return overall_result, stream_id, num_process_streams, num_process_test_suites
896
911
 
897
912