splitclient-rb 7.3.2.pre.rc2 → 7.3.2
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -0
- data/CHANGES.txt +4 -0
- data/lib/splitclient-rb/engine/sync_manager.rb +7 -2
- data/lib/splitclient-rb/split_factory.rb +10 -4
- data/lib/splitclient-rb/telemetry/domain/constants.rb +2 -2
- data/lib/splitclient-rb/telemetry/redis/redis_evaluation_producer.rb +4 -4
- data/lib/splitclient-rb/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e54fbc6d34ef543683661d68d95ab524c4f2546901ee17af55eeed16b44135af
|
4
|
+
data.tar.gz: 2a9ab76d76ce95ccabd9c747d2922cd0ba8d4f9f90421959f742e650bde63f18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a81b9e53f63b4c0548ec2615a1c1146a93d7a37cc17bfec05209b3d82d1a9ef3016d5478a98f5f25e92b3ede3463092364199bb62c8331a74f0fbacb739e3cfe
|
7
|
+
data.tar.gz: ec0ee2ac617c333e916a17ef43260fc8183dbf5b3124596fc431dfd19468efdaac1f56fe8d1258e4b63add531a8cc1f52aba6cfb6d9a97da14653b450c878e62
|
data/.rubocop.yml
CHANGED
data/CHANGES.txt
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
CHANGES
|
2
2
|
|
3
|
+
7.3.2 (Dec 10, 2021)
|
4
|
+
- Updated the readiness flow to be more consistent with the other sdks and improve the readiness time.
|
5
|
+
- Updated the name of telemety key latencies in Redis.
|
6
|
+
|
3
7
|
7.3.1 (Jul 26, 2021)
|
4
8
|
- Updated the synchronization flow to be more reliable in the event of an edge case generating delay in cache purge propagation, keeping the SDK cache properly synced.
|
5
9
|
|
@@ -38,6 +38,13 @@ module SplitIoClient
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def start
|
41
|
+
start_thread
|
42
|
+
PhusionPassenger.on_event(:starting_worker_process) { |forked| start_thread if forked } if defined?(PhusionPassenger)
|
43
|
+
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
def start_thread
|
41
48
|
@config.threads[:start_sdk] = Thread.new do
|
42
49
|
sleep(0.5) until @synchronizer.sync_all(false)
|
43
50
|
|
@@ -63,8 +70,6 @@ module SplitIoClient
|
|
63
70
|
end
|
64
71
|
end
|
65
72
|
|
66
|
-
private
|
67
|
-
|
68
73
|
def process_action(action)
|
69
74
|
case action
|
70
75
|
when Constants::PUSH_CONNECTED
|
@@ -28,6 +28,10 @@ module SplitIoClient
|
|
28
28
|
|
29
29
|
raise 'Invalid SDK mode' unless valid_mode
|
30
30
|
|
31
|
+
validate_api_key
|
32
|
+
|
33
|
+
register_factory
|
34
|
+
|
31
35
|
build_telemetry_components
|
32
36
|
|
33
37
|
@splits_repository = SplitsRepository.new(@config)
|
@@ -44,14 +48,16 @@ module SplitIoClient
|
|
44
48
|
|
45
49
|
@client = SplitClient.new(@api_key, repositories, @status_manager, @config, @impressions_manager, @evaluation_producer)
|
46
50
|
@manager = SplitManager.new(@splits_repository, @status_manager, @config)
|
47
|
-
|
48
|
-
validate_api_key
|
49
|
-
|
50
|
-
register_factory
|
51
51
|
end
|
52
52
|
|
53
53
|
def start!
|
54
54
|
return start_localhost_components if @config.localhost_mode
|
55
|
+
|
56
|
+
if @config.consumer?
|
57
|
+
@status_manager.ready!
|
58
|
+
@telemetry_synchronizer.synchronize_config
|
59
|
+
return
|
60
|
+
end
|
55
61
|
|
56
62
|
split_fetcher = SplitFetcher.new(@splits_repository, @api_key, config, @runtime_producer)
|
57
63
|
segment_fetcher = SegmentFetcher.new(@segments_repository, @api_key, config, @runtime_producer)
|
@@ -33,8 +33,8 @@ module SplitIoClient
|
|
33
33
|
|
34
34
|
TREATMENT = 'treatment'
|
35
35
|
TREATMENTS = 'treatments'
|
36
|
-
TREATMENT_WITH_CONFIG = '
|
37
|
-
TREATMENTS_WITH_CONFIG = '
|
36
|
+
TREATMENT_WITH_CONFIG = 'treatmentWithConfig'
|
37
|
+
TREATMENTS_WITH_CONFIG = 'treatmentsWithConfig'
|
38
38
|
TRACK = 'track'
|
39
39
|
end
|
40
40
|
end
|
@@ -14,14 +14,14 @@ module SplitIoClient
|
|
14
14
|
|
15
15
|
def record_latency(method, bucket)
|
16
16
|
@adapter.hincrby(latency_key, "#{@sdk_version}/#{@name}/#{@ip}/#{method}/#{bucket}", 1)
|
17
|
-
rescue StandardError =>
|
18
|
-
@config.log_found_exception(__method__.to_s,
|
17
|
+
rescue StandardError => e
|
18
|
+
@config.log_found_exception(__method__.to_s, e)
|
19
19
|
end
|
20
20
|
|
21
21
|
def record_exception(method)
|
22
22
|
@adapter.hincrby(exception_key, "#{@sdk_version}/#{@name}/#{@ip}/#{method}", 1)
|
23
|
-
rescue StandardError =>
|
24
|
-
@config.log_found_exception(__method__.to_s,
|
23
|
+
rescue StandardError => e
|
24
|
+
@config.log_found_exception(__method__.to_s, e)
|
25
25
|
end
|
26
26
|
|
27
27
|
private
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: splitclient-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.3.2
|
4
|
+
version: 7.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Split Software
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: allocation_stats
|
@@ -483,9 +483,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
483
483
|
version: '0'
|
484
484
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
485
485
|
requirements:
|
486
|
-
- - "
|
486
|
+
- - ">="
|
487
487
|
- !ruby/object:Gem::Version
|
488
|
-
version:
|
488
|
+
version: '0'
|
489
489
|
requirements: []
|
490
490
|
rubygems_version: 3.2.32
|
491
491
|
signing_key:
|