fluent-plugin-elasticsearch 4.0.6 → 4.0.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c2f2143534244444b8377964ee5b1b116aca96f5c0d9cd57c7bec5ddb6a61983
4
- data.tar.gz: 89068eedecb66309e9440b2e7e1166366ef7f2414980a7bff59d308000b78f49
3
+ metadata.gz: d6a25db7c9a8c6d5d31365939cb60092440a299f4bacb52f1c3896927aa501a7
4
+ data.tar.gz: ed08dc5d2d526a9211a76dd36c0db7a90f1e50a17d6cc634790d3e6cba286175
5
5
  SHA512:
6
- metadata.gz: 6b4796d25b2c88393c1a346d69f86e7998343a8224ded9c61dce2dbdf019672e50642306fdffaa5ec94b98ebaaa9a01d6a1f9a0cc1cc4863dc29f97fc79cd6cb
7
- data.tar.gz: e25a9736833589adcff5663ec6e8c054bcd5b799ecdb170bbcef750e4d778fbd1f6aa1a26a0ee716b25e4b3f98d22d1523a4f0ee620a46cd8f90f12df3acfc4d
6
+ metadata.gz: c00a1d839a4adc7d47b3032099a81f6e73fe126ef0711d61518fe9034b915a39d9b6f50d19cc7a5dd39f8e903e243b745fc615a097794d4d456ba2a2a71a54c5
7
+ data.tar.gz: 84501757defe9cd9e78f95843cc39f3cfa68a32c09ef0235764c2e2bc2bc9e37a59241bd40ba74a87de8bbf968ea172db5e6aed55b233833029683213b0040ec
data/History.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  ### [Unreleased]
4
4
 
5
+ ### 4.0.7
6
+ - Added http_backend_excon_nonblock config in out_elasticsearch (#733)
7
+
5
8
  ### 4.0.6
6
9
  - Add fallback mechanism for handling to detect es version (#730)
7
10
  - Remove needless section (#728)
data/README.md CHANGED
@@ -66,6 +66,7 @@ Current maintainers: @cosmo0920
66
66
  + [content_type](#content_type)
67
67
  + [include_index_in_url](#include_index_in_url)
68
68
  + [http_backend](#http_backend)
69
+ + [http_backend_excon_nonblock](#http_backend_excon_nonblock)
69
70
  + [prefer_oj_serializer](#prefer_oj_serializer)
70
71
  + [compression_level](#compression_level)
71
72
  + [Client/host certificate options](#clienthost-certificate-options)
@@ -816,6 +817,21 @@ Default value is `excon` which is default http_backend of elasticsearch plugin.
816
817
  http_backend typhoeus
817
818
  ```
818
819
 
820
+ ### http_backend_excon_nonblock
821
+
822
+ With `http_backend_excon_nonblock false`, elasticsearch plugin use excon with nonblock=false.
823
+ If you use elasticsearch plugin with jRuby for https, you may need to consider to set `false` to avoid follwoing problems.
824
+ - https://github.com/geemus/excon/issues/106
825
+ - https://github.com/jruby/jruby-ossl/issues/19
826
+
827
+ But for all other case, it strongly reccomend to set `true` to avoid process hangin problem reported in https://github.com/uken/fluent-plugin-elasticsearch/issues/732
828
+
829
+ Default value is `true`.
830
+
831
+ ```
832
+ http_backend_excon_nonblock false
833
+ ```
834
+
819
835
  ### compression_level
820
836
  You can add gzip compression of output data. In this case `default_compression`, `best_compression` or `best speed` option should be chosen.
821
837
  By default there is no compression, default value for this option is `no_compression`
@@ -3,7 +3,7 @@ $:.push File.expand_path('../lib', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'fluent-plugin-elasticsearch'
6
- s.version = '4.0.6'
6
+ s.version = '4.0.7'
7
7
  s.authors = ['diogo', 'pitr', 'Hiroshi Hatake']
8
8
  s.email = ['pitr.vern@gmail.com', 'me@diogoterror.com', 'cosmo0920.wp@gmail.com']
9
9
  s.description = %q{Elasticsearch output plugin for Fluent event collector}
@@ -143,6 +143,7 @@ see: https://github.com/elastic/elasticsearch-ruby/pull/514
143
143
  EOC
144
144
  config_param :include_index_in_url, :bool, :default => false
145
145
  config_param :http_backend, :enum, list: [:excon, :typhoeus], :default => :excon
146
+ config_param :http_backend_excon_nonblock, :bool, :default => true
146
147
  config_param :validate_client_version, :bool, :default => false
147
148
  config_param :prefer_oj_serializer, :bool, :default => false
148
149
  config_param :unrecoverable_error_types, :array, :default => ["out_of_memory_error", "es_rejected_execution_exception"]
@@ -327,6 +328,13 @@ EOC
327
328
  end
328
329
  end
329
330
 
331
+ if @ssl_version && @scheme == :https
332
+ if !@http_backend_excon_nonblock
333
+ log.warn "TLS handshake will be stucked with block connection.
334
+ Consider to set `http_backend_excon_nonblock` as true"
335
+ end
336
+ end
337
+
330
338
  # Consider missing the prefix of "$." in nested key specifiers.
331
339
  @id_key = convert_compat_id_key(@id_key) if @id_key
332
340
  @parent_key = convert_compat_id_key(@parent_key) if @parent_key
@@ -409,7 +417,7 @@ EOC
409
417
  def backend_options
410
418
  case @http_backend
411
419
  when :excon
412
- { client_key: @client_key, client_cert: @client_cert, client_key_pass: @client_key_pass }
420
+ { client_key: @client_key, client_cert: @client_cert, client_key_pass: @client_key_pass, nonblock: @http_backend_excon_nonblock }
413
421
  when :typhoeus
414
422
  require 'typhoeus'
415
423
  { sslkey: @client_key, sslcert: @client_cert, keypasswd: @client_key_pass }
@@ -251,6 +251,7 @@ class ElasticsearchOutputTest < Test::Unit::TestCase
251
251
  assert_equal 20 * 1024 * 1024, Fluent::Plugin::ElasticsearchOutput::TARGET_BULK_BYTES
252
252
  assert_false instance.compression
253
253
  assert_equal :no_compression, instance.compression_level
254
+ assert_true instance.http_backend_excon_nonblock
254
255
  end
255
256
 
256
257
  test 'configure compression' do
@@ -332,6 +333,20 @@ class ElasticsearchOutputTest < Test::Unit::TestCase
332
333
  }
333
334
  end
334
335
 
336
+ sub_test_case 'Check TLS handshake stuck warning log' do
337
+ test 'warning TLS log' do
338
+ config = %{
339
+ scheme https
340
+ http_backend_excon_nonblock false
341
+ ssl_version TLSv1_2
342
+ @log_level info
343
+ }
344
+ driver(config)
345
+ logs = driver.logs
346
+ assert_logs_include(logs, /TLS handshake will be stucked with block connection.\n Consider to set `http_backend_excon_nonblock` as true\n/)
347
+ end
348
+ end
349
+
335
350
  sub_test_case 'ILM default config' do
336
351
  setup do
337
352
  begin
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-elasticsearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.6
4
+ version: 4.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - diogo
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-03-12 00:00:00.000000000 Z
13
+ date: 2020-03-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: fluentd