test-opensearch 0.0.0.21 → 0.0.24

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: 833739abc81a6562071c9047e266225855f059853b5071cd11452cff393b4a1a
4
- data.tar.gz: 75c81ae847a0d5a3e12d8e3e211a7614778ee419ee5ef10f8aa2c194b3063d6f
3
+ metadata.gz: 735233dd19333067fd99b45dbea9f11e850ffd51fe8f2b1d67314e01c1b1577f
4
+ data.tar.gz: 6f6ffe333f30cfba27e5f88136dea9fc211fdb1f12210d72f9b63700573b7111
5
5
  SHA512:
6
- metadata.gz: e6d93a2323842bf0258558d0da05da7bd76a3b95bfbbd191943cfc9c6203e131db9ee49e0455a7426c7626ca8668d4800c3cb0d3dc0b9ec283d171698b44b3d5
7
- data.tar.gz: ce93e37096e8ebf4c502990fc172b1c6523b8ba6f285a8e3bc7e9bdb9ef219a45d4385dee1ab4b377e686e51e949990b8f6b95bf22c16e0cf49e20a312cb0e8d
6
+ metadata.gz: 5ee989c6617a7d5962265b19c1758d566681249f0d91f64c467a0d221e32d37f5f6ffb6215a8ba9f1487bc9df7790d3be2282807191605586544728ec269eed3
7
+ data.tar.gz: 18931258decedc854123c1ae66bcadb3b73595796f7c2ab60fe4ff3597530084da0e74f525d98f26118db9665b33c1007068090d7daa3e2f0774ba4045d8d83d
@@ -331,7 +331,7 @@ k: times
331
331
  total retry time: c + c * b^1 + (...) + c*b^k = c*b^(k+1) - 1
332
332
 
333
333
  ```
334
- retry_type :exponential_backoff
334
+ retry_type exponential_backoff
335
335
  ```
336
336
 
337
337
  ### retry_wait
@@ -360,7 +360,7 @@ retry_max_interval nil
360
360
 
361
361
  ### retry_randomize
362
362
 
363
- The parameter If true, the output plugin will retry after randomized interval not to do burst retries. The default value is `false`
363
+ The parameter If true, the plugin will retry after randomized interval not to do burst retries. The default value is `false`
364
364
 
365
365
  ```
366
366
  retry_randomize false
@@ -3,10 +3,10 @@ $:.push File.expand_path('../lib', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'test-opensearch'
6
- s.version = '0.0.0.21'
7
- s.authors = ['Oleh']
6
+ s.version = '0.0.24'
7
+ s.authors = ['imcotop']
8
8
  s.email = ['imcotop@icloud.com']
9
- s.description = %q{test}
9
+ s.description = %q{Opensearch output plugin for Fluent event collector}
10
10
  s.summary = s.description
11
11
  s.homepage = 'https://github.com/fluent/fluent-plugin-opensearch'
12
12
  s.license = 'Apache-2.0'
@@ -94,7 +94,7 @@ module Fluent::Plugin
94
94
  # b: base factor, @retry_exponential_backoff_base
95
95
  # k: times
96
96
  # total retry time: c + c * b^1 + (...) + c*b^k = c*b^(k+1) - 1
97
- config_param :retry_wait, :time, default: 1, desc: 'Seconds to wait before next retry , or constant factor of exponential backoff.'
97
+ config_param :retry_wait, :time, default: 5, desc: 'Seconds to wait before next retry , or constant factor of exponential backoff.'
98
98
  config_param :retry_exponential_backoff_base, :float, default: 2, desc: 'The base number of exponential backoff for retries.'
99
99
  config_param :retry_max_interval, :time, default: nil, desc: 'The maximum interval seconds for exponential backoff between retries while failing.'
100
100
  config_param :retry_randomize, :bool, default: false, desc: 'If true, output plugin will retry after randomized interval not to do burst retries.'
@@ -110,7 +110,7 @@ module Fluent::Plugin
110
110
 
111
111
  @timestamp_parser = create_time_parser
112
112
  @backend_options = backend_options
113
- @retry = retry_state(@retry_randomize)
113
+ @retry = nil
114
114
 
115
115
  raise Fluent::ConfigError, "`password` must be present if `user` is present" if @user && @password.nil?
116
116
 
@@ -337,6 +337,23 @@ module Fluent::Plugin
337
337
  return true
338
338
  end
339
339
 
340
+ def update_retry_state(error=nil)
341
+ if error
342
+ unless @retry
343
+ @retry = retry_state(@retry_randomize)
344
+ end
345
+ @retry.step
346
+ #Raise error if the retry limit has been reached
347
+ raise "Hit limit for retries. retry_times: #{@retry.steps}, error: #{error.message}" if @retry.limit?
348
+ #Retry if the limit hasn't been reached
349
+ log.warn("failed to connect or search.", retry_times: @retry.steps, next_retry_time: @retry.next_time.round, error: error.message)
350
+ sleep(@retry.next_time - Time.now)
351
+ else
352
+ log.debug("retry succeeded.") unless @retry.nil?
353
+ @retry = nil unless @retry.nil?
354
+ end
355
+ end
356
+
340
357
  def run
341
358
  return run_slice if @num_slices <= 1
342
359
 
@@ -347,14 +364,8 @@ module Fluent::Plugin
347
364
  run_slice(slice_id)
348
365
  end
349
366
  end
350
- rescue Faraday::ConnectionFailed, OpenSearch::Transport::Transport::Error => e
351
- @retry.step
352
- #Raise error if the retry limit has been reached
353
- raise "Hit limit for retries. retry_times: #{@retry.steps}, error: #{e.message}" if @retry.limit?
354
-
355
- #Retry if the retry limit hasn't been reached
356
- log.warn("failed to connect or search.", retry_times: @retry.steps, next_retry_time: @retry.next_time.round, error: e.message)
357
- sleep(@retry.next_time - Time.now)
367
+ rescue Faraday::ConnectionFailed, OpenSearch::Transport::Transport::Error => error
368
+ update_retry_state(error)
358
369
  retry
359
370
  end
360
371
 
@@ -376,9 +387,7 @@ module Fluent::Plugin
376
387
 
377
388
  router.emit_stream(@tag, es)
378
389
  clear_scroll(scroll_id)
379
- #reset steps and next_time if our function successful ends
380
- @retry.instance_variable_set(:@steps, 0)
381
- @retry.instance_variable_set(:@next_time, nil)
390
+ update_retry_state
382
391
  end
383
392
 
384
393
  def clear_scroll(scroll_id)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-opensearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0.21
4
+ version: 0.0.24
5
5
  platform: ruby
6
6
  authors:
7
- - Oleh
7
+ - imcotop
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-22 00:00:00.000000000 Z
11
+ date: 2024-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -192,7 +192,7 @@ dependencies:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
194
  version: '2.0'
195
- description: test
195
+ description: Opensearch output plugin for Fluent event collector
196
196
  email:
197
197
  - imcotop@icloud.com
198
198
  executables: []
@@ -272,7 +272,7 @@ requirements: []
272
272
  rubygems_version: 3.5.7
273
273
  signing_key:
274
274
  specification_version: 4
275
- summary: test
275
+ summary: Opensearch output plugin for Fluent event collector
276
276
  test_files:
277
277
  - test/helper.rb
278
278
  - test/plugin/datastream_template.json