splitclient-rb 7.3.2.pre.rc1-java → 7.3.2.pre.rc5-java
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/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/sse/event_source/client.rb +1 -0
- 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 +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c917976eb6355b62f027e7ef26c09500cc178036
|
4
|
+
data.tar.gz: c46a506b6827f1e82d0b2ba93e1999fb36aefc44
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3d0cb16db7dcaf8c2988b965532e479f54be59b850bc1a04f1f45c049812740eac4544828eeb382d0748dd00b1d45379bada72e2088c0266b1ef4260eb64a70
|
7
|
+
data.tar.gz: 90e841e898379408d6a3104e97ed1f065abba0a46a6d01b9ecc6f04e9d42cd38d01164b0b6440747e04fb174621620666808ea17e8e9706647d7aafb9662b811
|
data/CHANGES.txt
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
CHANGES
|
2
2
|
|
3
|
+
7.3.2 (Dec 3, 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)
|
@@ -38,6 +38,7 @@ module SplitIoClient
|
|
38
38
|
def close(action = Constants::PUSH_NONRETRYABLE_ERROR)
|
39
39
|
dispatch_action(action)
|
40
40
|
@connected.make_false
|
41
|
+
SplitIoClient::Helpers::ThreadHelper.stop(:connect_stream, @config)
|
41
42
|
@socket&.close
|
42
43
|
rescue StandardError => e
|
43
44
|
@config.logger.error("SSEClient close Error: #{e.inspect}")
|
@@ -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.pre.
|
4
|
+
version: 7.3.2.pre.rc5
|
5
5
|
platform: java
|
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-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|