splitclient-rb 7.3.2.pre.rc3 → 7.3.3.pre.rc1
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 +0 -4
- 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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7171ad1aac5f457e167952f92557ab21163845bac373ec8229cf65f2d9c45b0a
|
4
|
+
data.tar.gz: 812d7b1a36bd575d8581194595887f98e1d13cf24b6cbaf783ee6dddf1cec153
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc33c53e36dbaef5da64f840d33a48ba97a50a1205aec1d72a917bc4686539ce014308c7c8a2ca70dec916ca0073f4987585f633d6e43950ebda40af85171ded
|
7
|
+
data.tar.gz: 7d352895da98285ab993397f9962d410c877b11b520dc6d699b2a9386224df396411a2fd1ee68eca09b4950f6deff0c1c0f9253e49bd8c31a6bd77223aed0f43
|
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 })
|
@@ -56,10 +56,6 @@ module SplitIoClient
|
|
56
56
|
if @config.streaming_enabled
|
57
57
|
@config.logger.debug('Starting Straming mode ...')
|
58
58
|
connected = @push_manager.start_sse
|
59
|
-
|
60
|
-
if defined?(PhusionPassenger)
|
61
|
-
PhusionPassenger.on_event(:starting_worker_process) { |forked| sse_thread_forked if forked }
|
62
|
-
end
|
63
59
|
end
|
64
60
|
|
65
61
|
unless 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: ruby
|
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
|
name: allocation_stats
|