splitclient-rb 7.3.2.pre.rc1-java → 7.3.2.pre.rc5-java

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
  SHA1:
3
- metadata.gz: d8e568f9e8d4fdf7375be19b48cc4ac8b24df542
4
- data.tar.gz: fe9615e1c67942bdc52af65b71cb626fcfbcb54f
3
+ metadata.gz: c917976eb6355b62f027e7ef26c09500cc178036
4
+ data.tar.gz: c46a506b6827f1e82d0b2ba93e1999fb36aefc44
5
5
  SHA512:
6
- metadata.gz: ecec530a3b6a0a2536757fb89f0aff10b4d74144dcbbe48a130d41ca4adb007f821915d194759a1c831cf1c0556afacec2531a4800b9d181149ee6880155a24a
7
- data.tar.gz: 296370641c6d160a9fa8cef6ce863772416a6a0acd0a9c10528f30c75db412a1560bce79a3f65108d048efd748f057213feaa642aebf16f098bf4ad729991091
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 = '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.rc1'
2
+ VERSION = '7.3.2.pre.rc5'
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.rc1
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-24 00:00:00.000000000 Z
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