splitclient-rb 7.3.2.pre.rc2 → 7.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a5e2471231a284347d54b5a8adb871e2b9de38178cbd0061c73cf6c8dbf8b427
4
- data.tar.gz: 47ac7b25ae20621d2a28ce4bad187be9eae90035ce0b0e53d9666da71950f0e2
3
+ metadata.gz: e54fbc6d34ef543683661d68d95ab524c4f2546901ee17af55eeed16b44135af
4
+ data.tar.gz: 2a9ab76d76ce95ccabd9c747d2922cd0ba8d4f9f90421959f742e650bde63f18
5
5
  SHA512:
6
- metadata.gz: 92e5bb2e3bc64fec298790968d2f007a82819cb80838ed610f326db1dd95ac8b2618b0c98add8530f7bb7377d695e98a7581603040ec6ba04f17f45dcdb69a27
7
- data.tar.gz: e1bf2c3b16fef2857f2556bb2e6997be2a11870f6c447b9cb069fa6c02b699a918f4d73cf2796101f3782ce6597f8bb0f871d8e78f0c56bf10c52a76055dd2ea
6
+ metadata.gz: a81b9e53f63b4c0548ec2615a1c1146a93d7a37cc17bfec05209b3d82d1a9ef3016d5478a98f5f25e92b3ede3463092364199bb62c8331a74f0fbacb739e3cfe
7
+ data.tar.gz: ec0ee2ac617c333e916a17ef43260fc8183dbf5b3124596fc431dfd19468efdaac1f56fe8d1258e4b63add531a8cc1f52aba6cfb6d9a97da14653b450c878e62
data/.rubocop.yml CHANGED
@@ -64,3 +64,4 @@ AllCops:
64
64
  - lib/splitclient-rb/engine/parser/**/*
65
65
  - spec/telemetry/synchronizer_spec.rb
66
66
  - lib/splitclient-rb/engine/synchronizer.rb
67
+ - tmp/**/*
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 = 'treatment_with_config'
37
- TREATMENTS_WITH_CONFIG = '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 => error
18
- @config.log_found_exception(__method__.to_s, error)
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 => error
24
- @config.log_found_exception(__method__.to_s, error)
23
+ rescue StandardError => e
24
+ @config.log_found_exception(__method__.to_s, e)
25
25
  end
26
26
 
27
27
  private
@@ -1,3 +1,3 @@
1
1
  module SplitIoClient
2
- VERSION = '7.3.2.pre.rc2'
2
+ VERSION = '7.3.2'
3
3
  end
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.rc2
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-24 00:00:00.000000000 Z
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: 1.3.1
488
+ version: '0'
489
489
  requirements: []
490
490
  rubygems_version: 3.2.32
491
491
  signing_key: