logstash-input-tcp 5.0.8-java → 5.0.9-java

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: 172449656b3d799f06360eac0c9de9b64f255db7fe9484ef5a1baa59d88981f8
4
- data.tar.gz: 8bae19a3515d41e732c55ae26b91018b08590ac215555b099567d744f3243f75
3
+ metadata.gz: 61f75f397819fe7ec52ebe3f7001294b1f9347e116d84ab9136ceb71b9f43694
4
+ data.tar.gz: 8bbf42e0358a82d6fe8cc05c9c87ad7335866a17f7bec046c414b5899cedb06e
5
5
  SHA512:
6
- metadata.gz: 45357603663371f78c8a4962ef9e62aaa8168253a3d41a25948bb7a36ce3a6608fbe87f7d3440b6964d7bac58700ae85bc1c3280ecc113300c7bad543c654d41
7
- data.tar.gz: a9e91dd3fe3587922c7d134dd00309ae5ea89c95c38cfc2c144c2accb446afa9bc950b194a8d859c3c832885a725605fda5ccd38f48649b0b9a3246d77e0cb8b
6
+ metadata.gz: 47e0697536fa5ac5a9bb4b8c0ee218d6d99a79fd0a24141a5f0b8c91e72a88d2e1d5c31153cd3b563e1b1e7fc0759f9da9e109ff6cd2453f98f0e3fd68b05866
7
+ data.tar.gz: d7bd3f0f555f4182753dfa7dbb7d6663b5623c8f10fdff00464a732d9551b0ed89abe7d26f532baaf91f3e94041887e1ea291f8753517113062cfb89c72bd4b7
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 5.0.9
2
+ - New configuration option to set TCP keep-alive [#16](https://github.com/logstash-plugins/logstash-input-tcp/pull/116)
3
+
1
4
  ## 5.0.8
2
5
  - Reorder shut down of the two event loops to prevent RejectedExecutionException
3
6
 
data/docs/index.asciidoc CHANGED
@@ -88,6 +88,7 @@ This plugin supports the following configuration options plus the <<plugins-{typ
88
88
  | <<plugins-{type}s-{plugin}-ssl_key>> |a valid filesystem path|No
89
89
  | <<plugins-{type}s-{plugin}-ssl_key_passphrase>> |<<password,password>>|No
90
90
  | <<plugins-{type}s-{plugin}-ssl_verify>> |<<boolean,boolean>>|No
91
+ | <<plugins-{type}s-{plugin}-tcp_keep_alive>> |<<boolean,boolean>>|No
91
92
  |=======================================================================
92
93
 
93
94
  Also see <<plugins-{type}s-{plugin}-common-options>> for a list of options supported by all
@@ -182,6 +183,13 @@ SSL key passphrase
182
183
  Verify the identity of the other end of the SSL connection against the CA.
183
184
  For input, sets the field `sslsubject` to that of the client certificate.
184
185
 
186
+ [id="plugins-{type}s-{plugin}-tcp_keep_alive"]
187
+ ===== `tcp_keep_alive`
188
+
189
+ * Value type is <<boolean,boolean>>
190
+ * Default value is `false`
191
+
192
+ Instruct the socket to use TCP keep alives. Uses OS defaults for keep alive settings.
185
193
 
186
194
 
187
195
  [id="plugins-{type}s-{plugin}-common-options"]
@@ -105,6 +105,9 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
105
105
  # Useful when the CA chain is not necessary in the system store.
106
106
  config :ssl_extra_chain_certs, :validate => :array, :default => []
107
107
 
108
+ # Instruct the socket to use TCP keep alives. Uses OS defaults for keep alive settings.
109
+ config :tcp_keep_alive, :validate => :boolean, :default => false
110
+
108
111
  HOST_FIELD = "host".freeze
109
112
  HOST_IP_FIELD = "[@metadata][ip_address]".freeze
110
113
  PORT_FIELD = "port".freeze
@@ -140,7 +143,7 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
140
143
  if @ssl_enable
141
144
  self.server_socket = new_server_socket
142
145
  else
143
- @loop = InputLoop.new(@host, @port, DecoderImpl.new(@codec, self))
146
+ @loop = InputLoop.new(@host, @port, DecoderImpl.new(@codec, self), @tcp_keep_alive)
144
147
  end
145
148
  end
146
149
  end
@@ -331,19 +334,26 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
331
334
  def new_server_socket
332
335
  begin
333
336
  socket = TCPServer.new(@host, @port)
337
+ socket.setsockopt(Socket::SOL_SOCKET, Socket::SO_KEEPALIVE, @tcp_keep_alive)
334
338
  rescue Errno::EADDRINUSE
335
339
  @logger.error("Could not start TCP server: Address in use", :host => @host, :port => @port)
336
340
  raise
337
341
  end
338
342
 
339
- @ssl_enable ? OpenSSL::SSL::SSLServer.new(socket, ssl_context) : socket
343
+ if @ssl_enable
344
+ socket = OpenSSL::SSL::SSLServer.new(socket, ssl_context)
345
+ socket.setsockopt(Socket::SOL_SOCKET, Socket::SO_KEEPALIVE, @tcp_keep_alive)
346
+ end
347
+ socket
340
348
  end
341
349
 
342
350
  def new_client_socket
343
351
  socket = TCPSocket.new(@host, @port)
352
+ socket.setsockopt(Socket::SOL_SOCKET, Socket::SO_KEEPALIVE, @tcp_keep_alive)
344
353
 
345
354
  if @ssl_enable
346
355
  socket = OpenSSL::SSL::SSLSocket.new(socket, ssl_context)
356
+ socket.setsockopt(Socket::SOL_SOCKET, Socket::SO_KEEPALIVE, @tcp_keep_alive)
347
357
  socket.connect
348
358
  end
349
359
 
data/version CHANGED
@@ -1 +1 @@
1
- 5.0.8
1
+ 5.0.9
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-tcp
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.8
4
+ version: 5.0.9
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-30 00:00:00.000000000 Z
11
+ date: 2018-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -163,7 +163,7 @@ files:
163
163
  - logstash-input-tcp.gemspec
164
164
  - spec/inputs/tcp_spec.rb
165
165
  - spec/spec_helper.rb
166
- - vendor/jar-dependencies/org/logstash/inputs/logstash-input-tcp/5.0.8/logstash-input-tcp-5.0.8.jar
166
+ - vendor/jar-dependencies/org/logstash/inputs/logstash-input-tcp/5.0.9/logstash-input-tcp-5.0.9.jar
167
167
  - version
168
168
  homepage: http://www.elastic.co/guide/en/logstash/current/index.html
169
169
  licenses: