splitclient-rb 7.3.3.pre.rc15 → 7.3.3

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: 6011a8ec7587ef806322e847243042e6c34b9f3b6ca1f08e3fc9f87d05d5ac96
4
- data.tar.gz: 1b670949406f9012140d994a01b684dd1453becd851cd1f924e5d208353d0292
3
+ metadata.gz: 69076f1dccfed6a33995ffb44369f40ecec01b99e7bc5b427c7a451e4bef3ee0
4
+ data.tar.gz: f298a3f2879a399a990d2d29d30fcb129b264e1ed09eece6b61653439a1a55b9
5
5
  SHA512:
6
- metadata.gz: 6070bd7ac8e68ff7244f2d1e994486ca4adafcde9f02bc2bfdbe751e3850b9b096db32d8d28a1995d2d37e9b4c7d9851566e1c2c3c0e5cc4b091eb15b837ca04
7
- data.tar.gz: 2796872276340ca370e70947ddeb4528a5a32e0d2f3d30c0c0f1af55431c4984637c9f98e01c4b3335b5973a798e579f02063a240f1221b17f876b978580465a
6
+ metadata.gz: 33f2ebae7e70a1b929f6bf7f049e8687202ef8e17d950d5d872f281a680bd9f82f03e77bc1ca8e73b25bc9e1e4498ce3701160158ffb98b030702f50b6764435
7
+ data.tar.gz: 2e80a76e93049d612806d2889bb707e77fce20e6487cd046c0e26fecdf5770fa35170076d6d652518e05929155943f50bc8e2e4842a9233960427eafbab739a5
data/.rubocop.yml CHANGED
@@ -65,3 +65,4 @@ AllCops:
65
65
  - spec/telemetry/synchronizer_spec.rb
66
66
  - lib/splitclient-rb/engine/synchronizer.rb
67
67
  - tmp/**/*
68
+ - lib/splitclient-rb/sse/event_source/client.rb
data/CHANGES.txt CHANGED
@@ -1,5 +1,15 @@
1
1
  CHANGES
2
2
 
3
+ 7.3.3 (Jan 28, 2021)
4
+ - Fixed edge cases where the sdk lost streaming connection.
5
+ - Updated default auth service url to https://auth.split.io/api/v2/auth
6
+ - Updated dependencies:
7
+ - faraday to >= 0.8, < 2.0
8
+ - net-http-persistent to >= 2.9, < 5.0
9
+ - redis to >= 4.0.0, < 5.0
10
+ - socketry to >= 0.4, < 1.0
11
+ - thread_safe to ~> 0.3
12
+
3
13
  7.3.2 (Dec 10, 2021)
4
14
  - Updated the readiness flow to be more consistent with the other sdks and improve the readiness time.
5
15
  - Updated the name of telemety key latencies in Redis.
@@ -34,8 +34,6 @@ module SplitIoClient
34
34
  end
35
35
 
36
36
  def stop_sse
37
- @config.logger.error('## STOP SSE')
38
- @sse_handler.process_disconnect if @sse_handler.sse_client.nil?
39
37
  @sse_handler.stop
40
38
  SplitIoClient::Helpers::ThreadHelper.stop(:schedule_next_token_refresh, @config)
41
39
  end
@@ -48,12 +46,9 @@ module SplitIoClient
48
46
  @config.logger.debug("schedule_next_token_refresh refresh in #{time} seconds.") if @config.debug_enabled
49
47
  sleep(time)
50
48
  @config.logger.debug('schedule_next_token_refresh starting ...') if @config.debug_enabled
51
- @config.logger.error('## SCHEDULE NEXT TOKEN')
52
-
53
49
  @sse_handler.stop
54
50
  start_sse
55
51
  rescue StandardError => e
56
- @config.logger.error("## SCHEDULE EXCEPTION #{e.inspect}")
57
52
  @config.logger.debug("schedule_next_token_refresh error: #{e.inspect}") if @config.debug_enabled
58
53
  end
59
54
  end
@@ -67,7 +67,6 @@ module SplitIoClient
67
67
  end
68
68
 
69
69
  def process_action(action)
70
- @config.logger.error("process_action #{action}")
71
70
  case action
72
71
  when Constants::PUSH_CONNECTED
73
72
  process_connected
@@ -8,11 +8,9 @@ module SplitIoClient
8
8
 
9
9
  unless thread.nil?
10
10
  config.logger.debug("Stopping #{thread_sym} thread...") if config.debug_enabled
11
- # sleep(0.1) while thread.status == 'run'
12
11
  Thread.kill(thread)
13
12
  end
14
13
  rescue StandardError => e
15
- puts e.inspect
16
14
  config.logger.error(e.inspect)
17
15
  end
18
16
 
@@ -35,7 +35,7 @@ module SplitIoClient
35
35
  @on[:action] = action
36
36
  end
37
37
 
38
- def close
38
+ def close(action = nil)
39
39
  unless connected?
40
40
  @config.logger.error('SSEClient already disconected.') if @config.debug_enabled
41
41
  return
@@ -43,7 +43,7 @@ module SplitIoClient
43
43
 
44
44
  @connected.make_false
45
45
  @socket&.close
46
- @config.logger.error('## CLOSE SSE')
46
+ dispatch_action(action) unless action.nil?
47
47
  rescue StandardError => e
48
48
  @config.logger.error("SSEClient close Error: #{e.inspect}")
49
49
  end
@@ -75,12 +75,10 @@ module SplitIoClient
75
75
 
76
76
  def connect_thread(latch)
77
77
  @config.threads[:connect_stream] = Thread.new do
78
- @config.logger.error('## CONNECT THREAD')
79
78
  @config.logger.info('Starting connect_stream thread ...') if @config.debug_enabled
80
79
  action = connect_stream(latch)
81
- dispatch_action(action)
80
+ dispatch_action(action) unless action.nil?
82
81
  @config.logger.info('connect_stream thread finished.') if @config.debug_enabled
83
- @config.logger.error('#### DISCONNECTED')
84
82
  end
85
83
  end
86
84
 
@@ -96,15 +94,17 @@ module SplitIoClient
96
94
  raise 'eof exception' if partial_data == :eof
97
95
  rescue Errno::EBADF, IOError => e
98
96
  @config.logger.error(e.inspect)
99
- return Constants::PUSH_NONRETRYABLE_ERROR
97
+ return nil
100
98
  rescue StandardError => e
99
+ return nil if ENV['SPLITCLIENT_ENV'] == 'test'
100
+
101
101
  @config.logger.error("Error reading partial data: #{e.inspect}") if @config.debug_enabled
102
102
  return Constants::PUSH_RETRYABLE_ERROR
103
103
  end
104
104
 
105
105
  process_data(partial_data)
106
106
  end
107
- Constants::PUSH_NONRETRYABLE_ERROR
107
+ nil
108
108
  end
109
109
 
110
110
  def socket_write(latch)
@@ -31,7 +31,7 @@ module SplitIoClient
31
31
  end
32
32
 
33
33
  def stop
34
- @sse_client.close
34
+ @sse_client.close(Constants::PUSH_NONRETRYABLE_ERROR)
35
35
  stop_workers
36
36
  rescue StandardError => e
37
37
  @config.logger.debug("SSEHandler stop error: #{e.inspect}") if @config.debug_enabled
@@ -13,11 +13,6 @@ module SplitIoClient
13
13
  end
14
14
 
15
15
  def add_to_queue(change_number, segment_name)
16
- unless @running.value
17
- @config.logger.debug('segments worker not running.')
18
- return
19
- end
20
-
21
16
  item = { change_number: change_number, segment_name: segment_name }
22
17
  @config.logger.debug("SegmentsWorker add to queue #{item}")
23
18
  @queue.push(item)
@@ -33,21 +33,11 @@ module SplitIoClient
33
33
  end
34
34
 
35
35
  def add_to_queue(change_number)
36
- unless @running.value
37
- @config.logger.debug('splits worker not running.')
38
- return
39
- end
40
-
41
36
  @config.logger.debug("SplitsWorker add to queue #{change_number}")
42
37
  @queue.push(change_number)
43
38
  end
44
39
 
45
40
  def kill_split(change_number, split_name, default_treatment)
46
- unless @running.value
47
- @config.logger.debug('splits worker not running.')
48
- return
49
- end
50
-
51
41
  return if @splits_repository.get_change_number.to_i > change_number
52
42
 
53
43
  @config.logger.debug("SplitsWorker kill #{split_name}, #{change_number}")
@@ -1,3 +1,3 @@
1
1
  module SplitIoClient
2
- VERSION = '7.3.3.pre.rc15'
2
+ VERSION = '7.3.3'
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.3.pre.rc15
4
+ version: 7.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Split Software
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-25 00:00:00.000000000 Z
11
+ date: 2022-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: allocation_stats
@@ -519,9 +519,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
519
519
  version: '0'
520
520
  required_rubygems_version: !ruby/object:Gem::Requirement
521
521
  requirements:
522
- - - ">"
522
+ - - ">="
523
523
  - !ruby/object:Gem::Version
524
- version: 1.3.1
524
+ version: '0'
525
525
  requirements: []
526
526
  rubygems_version: 3.2.32
527
527
  signing_key: