Skip to content

Commit ab7a574

Browse files
authored
fix: rename environment variable name for thread limitation and remove its factor (#101)
1 parent b237652 commit ab7a574

File tree

4 files changed

+8
-7
lines changed

4 files changed

+8
-7
lines changed

.github/workflows/test.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ jobs:
198198
env:
199199
REDIS_VERSION: '7.0.1'
200200
DOCKER_COMPOSE_FILE: 'docker-compose.yaml'
201+
REDIS_CLIENT_MAX_THREADS: '37'
201202
steps:
202203
- name: Check out code
203204
uses: actions/checkout@v3

lib/redis_client/cluster/node.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class Node
1616
MIN_SLOT = 0
1717
MAX_SLOT = SLOT_SIZE - 1
1818
MAX_STARTUP_SAMPLE = 37
19-
MAX_THREADS = Integer(ENV.fetch('MAX_THREADS', 5))
19+
MAX_THREADS = Integer(ENV.fetch('REDIS_CLIENT_MAX_THREADS', 5))
2020
IGNORE_GENERIC_CONFIG_KEYS = %i[url host port path].freeze
2121

2222
ReloadNeeded = Class.new(::RedisClient::Error)
@@ -43,9 +43,9 @@ def load_info(options, **kwargs) # rubocop:disable Metrics/AbcSize, Metrics/Cycl
4343
errors = Array.new(startup_size)
4444
startup_options = options.to_a.sample(MAX_STARTUP_SAMPLE).to_h
4545
startup_nodes = ::RedisClient::Cluster::Node.new(startup_options, **kwargs)
46-
startup_nodes.each_slice(MAX_THREADS * 2).with_index do |chuncked_startup_nodes, chuncked_idx|
46+
startup_nodes.each_slice(MAX_THREADS).with_index do |chuncked_startup_nodes, chuncked_idx|
4747
threads = chuncked_startup_nodes.each_with_index.map do |raw_client, idx|
48-
Thread.new(raw_client, (MAX_THREADS * 2 * chuncked_idx) + idx) do |cli, i|
48+
Thread.new(raw_client, (MAX_THREADS * chuncked_idx) + idx) do |cli, i|
4949
Thread.pass
5050
reply = cli.call('CLUSTER', 'NODES')
5151
node_info_list[i] = parse_node_info(reply)
@@ -234,7 +234,7 @@ def call_multiple_nodes!(clients, method, command, args, &block)
234234
def try_map(clients) # rubocop:disable Metrics/MethodLength
235235
results = {}
236236
errors = {}
237-
clients.each_slice(MAX_THREADS * 2) do |chuncked_clients|
237+
clients.each_slice(MAX_THREADS) do |chuncked_clients|
238238
threads = chuncked_clients.map do |k, v|
239239
Thread.new(k, v) do |node_key, client|
240240
Thread.pass

lib/redis_client/cluster/node/latency_replica.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def any_replica_node_key(seed: nil)
4040
def measure_latencies(clients) # rubocop:disable Metrics/MethodLength
4141
latencies = {}
4242

43-
clients.each_slice(::RedisClient::Cluster::Node::MAX_THREADS * 2) do |chuncked_clients|
43+
clients.each_slice(::RedisClient::Cluster::Node::MAX_THREADS) do |chuncked_clients|
4444
threads = chuncked_clients.map do |k, v|
4545
Thread.new(k, v) do |node_key, client|
4646
Thread.pass

lib/redis_client/cluster/pipeline.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class RedisClient
77
class Cluster
88
class Pipeline
99
ReplySizeError = Class.new(::RedisClient::Error)
10-
MAX_THREADS = Integer(ENV.fetch('MAX_THREADS', 5))
10+
MAX_THREADS = Integer(ENV.fetch('REDIS_CLIENT_MAX_THREADS', 5))
1111

1212
def initialize(router, command_builder)
1313
@router = router
@@ -67,7 +67,7 @@ def empty?
6767
def execute # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
6868
all_replies = Array.new(@size)
6969
errors = {}
70-
@grouped.each_slice(MAX_THREADS * 2) do |chuncked_grouped|
70+
@grouped.each_slice(MAX_THREADS) do |chuncked_grouped|
7171
threads = chuncked_grouped.map do |k, v|
7272
Thread.new(@router, k, v) do |router, node_key, rows|
7373
Thread.pass

0 commit comments

Comments
 (0)