splitclient-rb 7.3.2.pre.rc2-java → 7.3.3.pre.rc1-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -0
- data/CHANGES.txt +4 -0
- data/lib/splitclient-rb/cache/fetchers/segment_fetcher.rb +3 -8
- data/lib/splitclient-rb/cache/fetchers/split_fetcher.rb +3 -8
- data/lib/splitclient-rb/cache/senders/events_sender.rb +0 -6
- data/lib/splitclient-rb/cache/senders/impressions_count_sender.rb +0 -6
- data/lib/splitclient-rb/cache/senders/impressions_sender.rb +0 -6
- data/lib/splitclient-rb/engine/sync_manager.rb +7 -6
- data/lib/splitclient-rb/split_factory.rb +10 -4
- data/lib/splitclient-rb/sse/workers/segments_worker.rb +0 -4
- data/lib/splitclient-rb/sse/workers/splits_worker.rb +0 -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/telemetry/sync_task.rb +0 -2
- 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: 72b22d6b3446af850fee0417b6dc6007ce490a0d
|
4
|
+
data.tar.gz: b11ed32b98f867c426f8d81da85e3422853acdb9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78c2dc2fb8e7b234f5bdba6235693a5df9738935ea663a9931a48b4f70322dac7be15af55df4ea703cd8cdfff10b1eb10ad3b1c746def72b002c489b21c9dd04
|
7
|
+
data.tar.gz: 1d0c89bc37511d1b3e131ac7c56cddb5b52a0098a684a92b974ecbfb71e21d964e933a4b644cfece9fa55b6dee8b20266342e0243bff9d9de7081a79ef470f38
|
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
|
|
@@ -15,15 +15,10 @@ module SplitIoClient
|
|
15
15
|
def call
|
16
16
|
if ENV['SPLITCLIENT_ENV'] == 'test'
|
17
17
|
fetch_segments
|
18
|
-
|
19
|
-
segments_thread
|
20
|
-
|
21
|
-
if defined?(PhusionPassenger)
|
22
|
-
PhusionPassenger.on_event(:starting_worker_process) do |forked|
|
23
|
-
segments_thread if forked
|
24
|
-
end
|
25
|
-
end
|
18
|
+
return
|
26
19
|
end
|
20
|
+
|
21
|
+
segments_thread
|
27
22
|
end
|
28
23
|
|
29
24
|
def fetch_segments_if_not_exists(names, cache_control_headers = false)
|
@@ -15,15 +15,10 @@ module SplitIoClient
|
|
15
15
|
def call
|
16
16
|
if ENV['SPLITCLIENT_ENV'] == 'test'
|
17
17
|
fetch_splits
|
18
|
-
|
19
|
-
splits_thread
|
20
|
-
|
21
|
-
if defined?(PhusionPassenger)
|
22
|
-
PhusionPassenger.on_event(:starting_worker_process) do |forked|
|
23
|
-
splits_thread if forked
|
24
|
-
end
|
25
|
-
end
|
18
|
+
return
|
26
19
|
end
|
20
|
+
|
21
|
+
splits_thread
|
27
22
|
end
|
28
23
|
|
29
24
|
def fetch_splits(fetch_options = { cache_control_headers: false, till: nil })
|
@@ -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
|
|
@@ -49,10 +56,6 @@ module SplitIoClient
|
|
49
56
|
if @config.streaming_enabled
|
50
57
|
@config.logger.debug('Starting Straming mode ...')
|
51
58
|
connected = @push_manager.start_sse
|
52
|
-
|
53
|
-
if defined?(PhusionPassenger)
|
54
|
-
PhusionPassenger.on_event(:starting_worker_process) { |forked| sse_thread_forked if forked }
|
55
|
-
end
|
56
59
|
end
|
57
60
|
|
58
61
|
unless connected
|
@@ -63,8 +66,6 @@ module SplitIoClient
|
|
63
66
|
end
|
64
67
|
end
|
65
68
|
|
66
|
-
private
|
67
|
-
|
68
69
|
def process_action(action)
|
69
70
|
case action
|
70
71
|
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.
|
4
|
+
version: 7.3.3.pre.rc1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Split Software
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|