test-opensearch 0.0.0.21 → 0.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.OpenSearchInput.md +2 -2
- data/fluent-plugin-opensearch.gemspec +3 -3
- data/lib/fluent/plugin/in_opensearch.rb +24 -13
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8cfcce55459172a40325937ce808731e2ce53613adeadbbf346b04f2fdc07d60
|
|
4
|
+
data.tar.gz: 01d23c99d07c8ca01c19b9ffc796337b01fd22ce2959af2ca1b24e865d5b8c20
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 28733d0849a0eb32e0fb09f9ce90880be722754e0b92a3f5e8ad75ab71186aef4098200a15e8776d314b2d3359ff5878bfb3cce6f1598dd6c1454783b716a6c9
|
|
7
|
+
data.tar.gz: a8933270f5711610fe7f7ff29b0ba83736595ebc3c26ae2bf554daafbf4024dc4f681b29e0152a0f89f2056a386de31ad2605d7418c20caa08565814b442e5ff
|
data/README.OpenSearchInput.md
CHANGED
|
@@ -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
|
|
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
|
|
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.
|
|
7
|
-
s.authors = ['
|
|
6
|
+
s.version = '0.0.25'
|
|
7
|
+
s.authors = ['imcotop']
|
|
8
8
|
s.email = ['imcotop@icloud.com']
|
|
9
|
-
s.description = %q{
|
|
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:
|
|
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 =
|
|
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,25 @@ 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
|
+
unless @retry.nil?
|
|
353
|
+
log.debug("retry succeeded.")
|
|
354
|
+
@retry = nil
|
|
355
|
+
end
|
|
356
|
+
end
|
|
357
|
+
end
|
|
358
|
+
|
|
340
359
|
def run
|
|
341
360
|
return run_slice if @num_slices <= 1
|
|
342
361
|
|
|
@@ -347,14 +366,8 @@ module Fluent::Plugin
|
|
|
347
366
|
run_slice(slice_id)
|
|
348
367
|
end
|
|
349
368
|
end
|
|
350
|
-
rescue Faraday::ConnectionFailed, OpenSearch::Transport::Transport::Error =>
|
|
351
|
-
|
|
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)
|
|
369
|
+
rescue Faraday::ConnectionFailed, OpenSearch::Transport::Transport::Error => error
|
|
370
|
+
update_retry_state(error)
|
|
358
371
|
retry
|
|
359
372
|
end
|
|
360
373
|
|
|
@@ -376,9 +389,7 @@ module Fluent::Plugin
|
|
|
376
389
|
|
|
377
390
|
router.emit_stream(@tag, es)
|
|
378
391
|
clear_scroll(scroll_id)
|
|
379
|
-
|
|
380
|
-
@retry.instance_variable_set(:@steps, 0)
|
|
381
|
-
@retry.instance_variable_set(:@next_time, nil)
|
|
392
|
+
update_retry_state
|
|
382
393
|
end
|
|
383
394
|
|
|
384
395
|
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.
|
|
4
|
+
version: 0.0.25
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
7
|
+
- imcotop
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-04-
|
|
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:
|
|
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:
|
|
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
|