logstash-output-elasticsearch_java 1.0.0 → 2.0.0.beta5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -0
  3. data/CHANGELOG.md +2 -2
  4. data/Rakefile +1 -0
  5. data/lib/logstash/outputs/elasticsearch_java/protocol.rb +27 -19
  6. data/lib/logstash/outputs/elasticsearch_java.rb +54 -48
  7. data/logstash-output-elasticsearch_java.gemspec +4 -4
  8. data/spec/es_spec_helper.rb +3 -3
  9. data/spec/integration/outputs/index_spec.rb +0 -2
  10. data/spec/integration/outputs/retry_spec.rb +4 -5
  11. data/spec/integration/outputs/routing_spec.rb +0 -1
  12. data/spec/integration/outputs/templates_spec.rb +1 -2
  13. data/spec/integration/outputs/transport_create_spec.rb +1 -8
  14. data/spec/integration/outputs/update_spec.rb +1 -0
  15. data/spec/unit/outputs/elasticsearch/protocol_spec.rb +1 -2
  16. data/spec/unit/outputs/elasticsearch_spec.rb +1 -9
  17. data/vendor/jar-dependencies/runtime-jars/HdrHistogram-2.1.6.jar +0 -0
  18. data/vendor/jar-dependencies/runtime-jars/commons-cli-1.3.1.jar +0 -0
  19. data/vendor/jar-dependencies/runtime-jars/compiler-0.8.13.jar +0 -0
  20. data/vendor/jar-dependencies/runtime-jars/compress-lzf-1.0.2.jar +0 -0
  21. data/vendor/jar-dependencies/runtime-jars/elasticsearch-2.0.0-beta1-SNAPSHOT.jar +0 -0
  22. data/vendor/jar-dependencies/runtime-jars/{groovy-all-2.4.4.jar → groovy-all-2.4.4-indy.jar} +0 -0
  23. data/vendor/jar-dependencies/runtime-jars/guava-18.0.jar +0 -0
  24. data/vendor/jar-dependencies/runtime-jars/hppc-0.7.1.jar +0 -0
  25. data/vendor/jar-dependencies/runtime-jars/jackson-core-2.5.3.jar +0 -0
  26. data/vendor/jar-dependencies/runtime-jars/jackson-dataformat-cbor-2.5.3.jar +0 -0
  27. data/vendor/jar-dependencies/runtime-jars/jackson-dataformat-smile-2.5.3.jar +0 -0
  28. data/vendor/jar-dependencies/runtime-jars/jackson-dataformat-yaml-2.5.3.jar +0 -0
  29. data/vendor/jar-dependencies/runtime-jars/joda-convert-1.2.jar +0 -0
  30. data/vendor/jar-dependencies/runtime-jars/joda-time-2.8.jar +0 -0
  31. data/vendor/jar-dependencies/runtime-jars/jsr166e-1.1.0.jar +0 -0
  32. data/vendor/jar-dependencies/runtime-jars/{lucene-analyzers-common-4.10.4.jar → lucene-analyzers-common-5.2.1.jar} +0 -0
  33. data/vendor/jar-dependencies/runtime-jars/lucene-backward-codecs-5.2.1.jar +0 -0
  34. data/vendor/jar-dependencies/runtime-jars/lucene-core-5.2.1.jar +0 -0
  35. data/vendor/jar-dependencies/runtime-jars/{lucene-expressions-4.10.4.jar → lucene-expressions-5.2.1.jar} +0 -0
  36. data/vendor/jar-dependencies/runtime-jars/lucene-grouping-5.2.1.jar +0 -0
  37. data/vendor/jar-dependencies/runtime-jars/lucene-highlighter-5.2.1.jar +0 -0
  38. data/vendor/jar-dependencies/runtime-jars/lucene-join-5.2.1.jar +0 -0
  39. data/vendor/jar-dependencies/runtime-jars/lucene-memory-5.2.1.jar +0 -0
  40. data/vendor/jar-dependencies/runtime-jars/lucene-misc-5.2.1.jar +0 -0
  41. data/vendor/jar-dependencies/runtime-jars/lucene-queries-5.2.1.jar +0 -0
  42. data/vendor/jar-dependencies/runtime-jars/{lucene-queryparser-4.10.4.jar → lucene-queryparser-5.2.1.jar} +0 -0
  43. data/vendor/jar-dependencies/runtime-jars/lucene-sandbox-5.2.1.jar +0 -0
  44. data/vendor/jar-dependencies/runtime-jars/lucene-spatial-5.2.1.jar +0 -0
  45. data/vendor/jar-dependencies/runtime-jars/lucene-suggest-5.2.1.jar +0 -0
  46. data/vendor/jar-dependencies/runtime-jars/netty-3.10.3.Final.jar +0 -0
  47. data/vendor/jar-dependencies/runtime-jars/snakeyaml-1.12.jar +0 -0
  48. data/vendor/jar-dependencies/runtime-jars/t-digest-3.0.jar +0 -0
  49. metadata +69 -50
  50. data/vendor/jar-dependencies/runtime-jars/elasticsearch-1.7.3.jar +0 -0
  51. data/vendor/jar-dependencies/runtime-jars/lucene-core-4.10.4.jar +0 -0
  52. data/vendor/jar-dependencies/runtime-jars/lucene-grouping-4.10.4.jar +0 -0
  53. data/vendor/jar-dependencies/runtime-jars/lucene-highlighter-4.10.4.jar +0 -0
  54. data/vendor/jar-dependencies/runtime-jars/lucene-join-4.10.4.jar +0 -0
  55. data/vendor/jar-dependencies/runtime-jars/lucene-memory-4.10.4.jar +0 -0
  56. data/vendor/jar-dependencies/runtime-jars/lucene-misc-4.10.4.jar +0 -0
  57. data/vendor/jar-dependencies/runtime-jars/lucene-queries-4.10.4.jar +0 -0
  58. data/vendor/jar-dependencies/runtime-jars/lucene-sandbox-4.10.4.jar +0 -0
  59. data/vendor/jar-dependencies/runtime-jars/lucene-spatial-4.10.4.jar +0 -0
  60. data/vendor/jar-dependencies/runtime-jars/lucene-suggest-4.10.4.jar +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6ca2df36f0c6552c973d3abc54431be44b8800b1
4
- data.tar.gz: 7f5ed63ea8db279bc51be73330741643eba73bd9
3
+ metadata.gz: 9f921261909c00b735dbc91ff20531ae8411d3c9
4
+ data.tar.gz: 29619fedd17dbc1ae24aaf8d99d571bbbd9bc756
5
5
  SHA512:
6
- metadata.gz: fd1207a347bf8f72b9f8f4fd9412973d5e3d17d0b6ed0dc9fa7112851b60fa6129e2d8937f54e9973c8979c71e6de6f33ec1244f43bdce4c22a78da9408d7f1c
7
- data.tar.gz: 8fb170cc1c35392e73b1317f49b98af418f33d1cd1308c5a9fe4c0f428003ae885a6721e4a25754c06d43b22f7c57c99a994435d83353afd8bcea0a11f76010e
6
+ metadata.gz: e6c5796ef190689b9647a4ab081cc7dd00b5f28652d148353d7e306c2e5e385a9f2b121f7bd6859a2e17a9f83649f880c5e3bbb6fe807a59d9b337f598b3867c
7
+ data.tar.gz: 55e2c01e92cbb836494287a1bec07e5f7aab4eebf1fdfab942ec8dad43dbb5ddf5871da078bc3043c5dcb6a66ad3d93959cc048328a1e28e2a6cb29ead1e26d7
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ *.gem
2
+ Gemfile.lock
3
+ .bundle
4
+ .idea
5
+ *~
data/CHANGELOG.md CHANGED
@@ -1,2 +1,2 @@
1
- ## 1.0.0
2
- - Initial Release.
1
+ ## 2.0.0
2
+ - Initial Release. Only supports Node/Transport in ES2.x
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "logstash/devutils/rake"
@@ -14,6 +14,12 @@ module LogStash
14
14
  @logger = Cabin::Channel.get
15
15
  end
16
16
 
17
+ def client
18
+ return @client if @client
19
+ @client = build_client(@options)
20
+ return @client
21
+ end
22
+
17
23
  def template_install(name, template, force=false)
18
24
  if template_exists?(name) && !force
19
25
  @logger.debug("Found existing Elasticsearch template. Skipping template management", :name => name)
@@ -56,7 +62,7 @@ module LogStash
56
62
 
57
63
  def self.clear_client()
58
64
  CLIENT_MUTEX.synchronize {
59
- @client = nil
65
+ @client = null
60
66
  }
61
67
  end
62
68
 
@@ -82,7 +88,7 @@ module LogStash
82
88
  end
83
89
 
84
90
  def setup(options={})
85
- @settings = org.elasticsearch.common.settings.ImmutableSettings.settingsBuilder
91
+ @settings = org.elasticsearch.common.settings.Settings.settingsBuilder()
86
92
  if options[:hosts]
87
93
  @settings.put("discovery.zen.ping.multicast.enabled", false)
88
94
  @settings.put("discovery.zen.ping.unicast.hosts", NodeClient.hosts(options))
@@ -90,6 +96,7 @@ module LogStash
90
96
 
91
97
  @settings.put("node.client", true)
92
98
  @settings.put("http.enabled", false)
99
+ @settings.put("path.home", Dir.pwd)
93
100
 
94
101
  if options[:client_settings]
95
102
  options[:client_settings].each do |key, value|
@@ -207,33 +214,34 @@ module LogStash
207
214
  end # def build_request
208
215
 
209
216
  def template_exists?(name)
210
- request = org.elasticsearch.action.admin.indices.template.get.GetIndexTemplatesRequestBuilder.new(client.admin.indices, name)
211
- response = request.get
212
- return !response.getIndexTemplates.isEmpty
213
- end
217
+ return !client.admin.indices.
218
+ prepareGetTemplates(name).
219
+ execute().
220
+ actionGet().
221
+ getIndexTemplates().
222
+ isEmpty
223
+ end # def template_exists?
214
224
 
215
225
  def template_put(name, template)
216
- request = org.elasticsearch.action.admin.indices.template.put.PutIndexTemplateRequestBuilder.new(client.admin.indices, name)
217
- request.setSource(LogStash::Json.dump(template))
226
+ response = client.admin.indices.
227
+ preparePutTemplate(name).
228
+ setSource(LogStash::Json.dump(template)).
229
+ execute().
230
+ actionGet()
218
231
 
219
- # execute the request and get the response, if it fails, we'll get an exception.
220
- request.get
221
- end
232
+ raise "Could not index template!" unless response.isAcknowledged
233
+ end # template_put
222
234
 
223
235
  public(:initialize, :bulk)
224
236
  end # class NodeClient
225
237
 
226
238
  class TransportClient < NodeClient
227
- def client
228
- return @client if @client
229
- @client = build_client(@options)
230
- return @client
231
- end
232
-
233
-
234
239
  private
235
240
  def build_client(options)
236
- client = org.elasticsearch.client.transport.TransportClient.new(settings.build)
241
+ client = org.elasticsearch.client.transport.TransportClient.
242
+ builder().
243
+ settings((settings.build)).
244
+ build()
237
245
 
238
246
  options[:hosts].each do |host|
239
247
  matches = host.match /(.+)(?:.*)/
@@ -131,7 +131,6 @@ class LogStash::Outputs::ElasticSearchJava < LogStash::Outputs::Base
131
131
  # The name of your cluster if you set it on the Elasticsearch side. Useful
132
132
  # for discovery when using `node` or `transport` protocols.
133
133
  # By default, it looks for a cluster named 'elasticsearch'.
134
- # Equivalent to the Elasticsearch option 'cluster.name'
135
134
  config :cluster, :validate => :string
136
135
 
137
136
  # For the `node` protocol, if you do not specify `host`, it will attempt to use
@@ -175,13 +174,14 @@ class LogStash::Outputs::ElasticSearchJava < LogStash::Outputs::Base
175
174
  # * `protocol => node` - port 9300-9305
176
175
  config :port, :validate => :string, :default => "9300-9305"
177
176
 
178
- # The name/address of the host to bind to for Elasticsearch clustering. Equivalent to the Elasticsearch option 'network.host'
179
- # option.
180
- # This MUST be set for either protocol to work (node or transport)! The internal Elasticsearch node
177
+ # The name/address of the host to bind to for Elasticsearch clustering
178
+ # This MUST be set when the node protocol is used. The internal Elasticsearch node
181
179
  # will bind to this ip. This ip MUST be reachable by all nodes in the Elasticsearch cluster
182
180
  config :network_host, :validate => :string
183
181
 
184
- # This sets the local port to bind to. Equivalent to the Elasticsrearch option 'transport.tcp.port'
182
+ # This is only valid for the 'node' protocol. This sets the port to bind to on 'network_host'
183
+ #
184
+ # The port for the node to listen on.
185
185
  config :transport_tcp_port, :validate => :number
186
186
 
187
187
  # This setting no longer does anything. It exists to keep config validation
@@ -229,7 +229,10 @@ class LogStash::Outputs::ElasticSearchJava < LogStash::Outputs::Base
229
229
  # Elasticsearch cluster to this Logstash server.
230
230
  #
231
231
  # All protocols will use bulk requests when talking to Elasticsearch.
232
- config :protocol, :validate => [ "node", "transport"], :default => "transport"
232
+ #
233
+ # The default `protocol` setting under java/jruby is "node". The default
234
+ # `protocol` on non-java rubies is "http"
235
+ config :protocol, :validate => [ "node", "transport"], :default => "node"
233
236
 
234
237
  # The Elasticsearch action to perform. Valid actions are: `index`, `delete`.
235
238
  #
@@ -270,9 +273,8 @@ class LogStash::Outputs::ElasticSearchJava < LogStash::Outputs::Base
270
273
  # Set the truststore password
271
274
  config :keystore_password, :validate => :password
272
275
 
273
- # Enable cluster sniffing (transport only).
276
+ # Enable cluster sniffing (transport only)
274
277
  # Asks host for the list of all cluster nodes and adds them to the hosts list
275
- # Equivalent to the Elasticsearch option 'client.transport.sniff'
276
278
  config :sniffing, :validate => :boolean, :default => false
277
279
 
278
280
  # Set max retry for each event
@@ -303,11 +305,47 @@ class LogStash::Outputs::ElasticSearchJava < LogStash::Outputs::Base
303
305
  @retry_queue_not_full = ConditionVariable.new
304
306
  @retry_queue = Queue.new
305
307
 
308
+
309
+ if @protocol =='node' && !@network_host
310
+ raise LogStash::ConfigurationError, "network_host MUST be set if the 'node' protocol is in use! If this is set incorrectly Logstash will hang attempting to connect!"
311
+ end
312
+
313
+ client_settings = {}
314
+ client_settings["cluster.name"] = @cluster if @cluster
315
+ client_settings["network.host"] = @network_host if @network_host
316
+ client_settings["transport.tcp.port"] = @transport_tcp_port if @transport_tcp_port
317
+ client_settings["client.transport.sniff"] = @sniffing
318
+
319
+ if @node_name
320
+ client_settings["node.name"] = @node_name
321
+ else
322
+ client_settings["node.name"] = "logstash-#{Socket.gethostname}-#{$$}-#{object_id}"
323
+ end
324
+
325
+ @@plugins.each do |plugin|
326
+ name = plugin.name.split('-')[-1]
327
+ client_settings.merge!(LogStash::Outputs::ElasticSearchJava.const_get(name.capitalize).create_client_config(self))
328
+ end
329
+
306
330
  if (@hosts.nil? || @hosts.empty?) && @protocol != "node" # node can use zen discovery
307
331
  @logger.info("No 'hosts' set in elasticsearch output. Defaulting to localhost")
308
332
  @hosts = ["localhost"]
309
333
  end
310
334
 
335
+ common_options = {
336
+ :protocol => @protocol,
337
+ :client_settings => client_settings,
338
+ :hosts => @hosts,
339
+ :port => @port
340
+ }
341
+
342
+ # Update API setup
343
+ update_options = {
344
+ :upsert => @upsert,
345
+ :doc_as_upsert => @doc_as_upsert
346
+ }
347
+ common_options.merge! update_options if @action == 'update'
348
+
311
349
  client_class = case @protocol
312
350
  when "transport"
313
351
  LogStash::Outputs::ElasticSearchJavaPlugins::Protocols::TransportClient
@@ -315,7 +353,7 @@ class LogStash::Outputs::ElasticSearchJava < LogStash::Outputs::Base
315
353
  LogStash::Outputs::ElasticSearchJavaPlugins::Protocols::NodeClient
316
354
  end
317
355
 
318
- @client = client_class.new(client_options)
356
+ @client = client_class.new(common_options)
319
357
 
320
358
  if @manage_template
321
359
  begin
@@ -325,7 +363,6 @@ class LogStash::Outputs::ElasticSearchJava < LogStash::Outputs::Base
325
363
  @logger.error("Failed to install template",
326
364
  :message => e.message,
327
365
  :error_class => e.class.name,
328
- :backtrace => e.backtrace
329
366
  )
330
367
  end
331
368
  end
@@ -354,41 +391,6 @@ class LogStash::Outputs::ElasticSearchJava < LogStash::Outputs::Base
354
391
  end
355
392
  end # def register
356
393
 
357
- def client_options
358
- client_settings = {}
359
- client_settings["cluster.name"] = @cluster if @cluster
360
- client_settings["network.host"] = @network_host if @network_host
361
- client_settings["transport.tcp.port"] = @transport_tcp_port if @transport_tcp_port
362
- client_settings["client.transport.sniff"] = @sniffing
363
-
364
- if @node_name
365
- client_settings["node.name"] = @node_name
366
- else
367
- client_settings["node.name"] = "logstash-#{Socket.gethostname}-#{$$}-#{object_id}"
368
- end
369
-
370
- @@plugins.each do |plugin|
371
- name = plugin.name.split('-')[-1]
372
- client_settings.merge!(LogStash::Outputs::ElasticSearchJava.const_get(name.capitalize).create_client_config(self))
373
- end
374
-
375
- common_options = {
376
- :protocol => @protocol,
377
- :client_settings => client_settings,
378
- :hosts => @hosts,
379
- :port => @port
380
- }
381
-
382
- # Update API setup
383
- update_options = {
384
- :upsert => @upsert,
385
- :doc_as_upsert => @doc_as_upsert
386
- }
387
- common_options.merge! update_options if @action == 'update'
388
-
389
- common_options
390
- end
391
-
392
394
 
393
395
  public
394
396
  def get_template
@@ -406,7 +408,7 @@ class LogStash::Outputs::ElasticSearchJava < LogStash::Outputs::Base
406
408
 
407
409
  public
408
410
  def receive(event)
409
-
411
+ return unless output?(event)
410
412
 
411
413
  # block until we have not maxed out our
412
414
  # retry queue. This is applying back-pressure
@@ -445,7 +447,7 @@ class LogStash::Outputs::ElasticSearchJava < LogStash::Outputs::Base
445
447
  es_actions = actions.map { |a, doc, event| [a, doc, event.to_hash] }
446
448
  @submit_mutex.lock
447
449
  begin
448
- bulk_response = client.bulk(es_actions)
450
+ bulk_response = @client.bulk(es_actions)
449
451
  ensure
450
452
  @submit_mutex.unlock
451
453
  end
@@ -477,7 +479,11 @@ class LogStash::Outputs::ElasticSearchJava < LogStash::Outputs::Base
477
479
  end # def flush
478
480
 
479
481
  public
480
- def close
482
+ def teardown
483
+ if @cacert # remove temporary jks store created from the cacert
484
+ File.delete(@truststore)
485
+ end
486
+
481
487
  @retry_teardown_requested.make_true
482
488
  # First, make sure retry_timer_thread is stopped
483
489
  # to ensure we do not signal a retry based on
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-output-elasticsearch_java'
3
- s.version = '1.0.0'
3
+ s.version = '2.0.0.beta5'
4
4
  s.licenses = ['apache-2.0']
5
5
  s.summary = "Logstash Output to Elasticsearch using Java node/transport client"
6
6
  s.description = "Output events to elasticsearch using the java client"
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.require_paths = ["lib"]
11
11
 
12
12
  # Files
13
- s.files = Dir['lib/**/*','spec/**/*','vendor/**/*','*.gemspec','*.md','CONTRIBUTORS','Gemfile','LICENSE','NOTICE.TXT']
13
+ s.files = `git ls-files`.split($\)
14
14
 
15
15
  # Tests
16
16
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
@@ -20,10 +20,10 @@ Gem::Specification.new do |s|
20
20
 
21
21
  # Gem dependencies
22
22
  s.add_runtime_dependency 'concurrent-ruby'
23
- s.add_runtime_dependency 'elasticsearch', ['>= 1.0.13', '~> 1.0']
23
+ s.add_runtime_dependency 'elasticsearch', ['>= 1.0.10', '~> 1.0']
24
24
  s.add_runtime_dependency 'stud', ['>= 0.0.17', '~> 0.0']
25
25
  s.add_runtime_dependency 'cabin', ['~> 0.6']
26
- s.add_runtime_dependency "logstash-core", ">= 2.0.0.beta2", "< 3.0.0"
26
+ s.add_runtime_dependency "logstash-core", '>= 1.4.0', '< 2.0.0'
27
27
 
28
28
  s.add_development_dependency 'ftw', '~> 0.0.42'
29
29
  s.add_development_dependency 'logstash-input-generator'
@@ -73,9 +73,9 @@ RSpec.configure do |config|
73
73
  # do nothing
74
74
  end
75
75
  end
76
- end
77
76
 
78
- config.after(:each) do
79
- LogStash::Outputs::ElasticSearchJavaPlugins::Protocols::NodeClient.clear_client()
77
+ config.after(:each) do
78
+ LogStash::Outputs::ElasticSearchJavaPlugins::Protocols::NodeClient.clear_client()
79
+ end
80
80
  end
81
81
  end
@@ -53,7 +53,6 @@ describe "an indexer with custom index_type", :integration => true do
53
53
  output {
54
54
  elasticsearch_java {
55
55
  hosts => "#{get_host()}"
56
- network_host => "#{get_local_host}"
57
56
  port => "#{get_port('transport')}"
58
57
  protocol => "transport"
59
58
  index => "#{index}"
@@ -79,7 +78,6 @@ describe "an indexer with no type value set (default to logs)", :integration =>
79
78
  output {
80
79
  elasticsearch_java {
81
80
  hosts => "#{get_host()}"
82
- network_host => "#{get_local_host}"
83
81
  port => "#{get_port('transport')}"
84
82
  protocol => "transport"
85
83
  index => "#{index}"
@@ -21,7 +21,6 @@ describe "failures in bulk class expected behavior", :integration => true do
21
21
  "manage_template" => true,
22
22
  "index" => "logstash-2014.11.17",
23
23
  "template_overwrite" => true,
24
- "network_host" => get_local_host,
25
24
  "protocol" => 'transport',
26
25
  "hosts" => get_host(),
27
26
  "port" => get_port('transport'),
@@ -61,7 +60,7 @@ describe "failures in bulk class expected behavior", :integration => true do
61
60
  end
62
61
  subject.register
63
62
  subject.receive(event1)
64
- subject.close
63
+ subject.teardown
65
64
  end
66
65
 
67
66
  it "should retry actions with response status of 503" do
@@ -109,7 +108,7 @@ describe "failures in bulk class expected behavior", :integration => true do
109
108
  subject.register
110
109
  subject.receive(invalid_event)
111
110
  expect(subject).not_to receive(:retry_push)
112
- subject.close
111
+ subject.teardown
113
112
 
114
113
  @es.indices.refresh
115
114
  sleep(5)
@@ -123,7 +122,7 @@ describe "failures in bulk class expected behavior", :integration => true do
123
122
  subject.register
124
123
  subject.receive(event1)
125
124
  expect(subject).not_to receive(:retry_push)
126
- subject.close
125
+ subject.teardown
127
126
 
128
127
  @es.indices.refresh
129
128
  sleep(5)
@@ -137,7 +136,7 @@ describe "failures in bulk class expected behavior", :integration => true do
137
136
  subject.register
138
137
  subject.receive(invalid_event)
139
138
  subject.receive(event1)
140
- subject.close
139
+ subject.teardown
141
140
  @es.indices.refresh
142
141
  sleep(5)
143
142
 
@@ -52,7 +52,6 @@ describe "(transport protocol) index events with fieldref in routing value", :in
52
52
  index => "#{index}"
53
53
  flush_size => #{flush_size}
54
54
  routing => "%{message}"
55
- network_host => "#{get_local_host}"
56
55
  }
57
56
  }
58
57
  CONFIG
@@ -11,8 +11,7 @@ describe "index template expected behavior", :integration => true do
11
11
  "template_overwrite" => true,
12
12
  "protocol" => protocol,
13
13
  "hosts" => "#{get_host()}",
14
- "port" => "#{get_port('transport')}",
15
- "network_host" => get_local_host
14
+ "port" => "#{get_port('transport')}"
16
15
  }
17
16
  next LogStash::Outputs::ElasticSearchJava.new(settings)
18
17
  end
@@ -12,8 +12,7 @@ describe "transport client create actions", :integration => true do
12
12
  "protocol" => "transport",
13
13
  "hosts" => get_host(),
14
14
  "port" => get_port('transport'),
15
- "action" => action,
16
- "network_host" => get_local_host
15
+ "action" => action
17
16
  }
18
17
  settings['document_id'] = id unless id.nil?
19
18
  LogStash::Outputs::ElasticSearchJava.new(settings)
@@ -29,12 +28,6 @@ describe "transport client create actions", :integration => true do
29
28
  end
30
29
 
31
30
  context "when action => create" do
32
- it "should instantiate a transport, not node, client" do
33
- subject = get_es_output("create", "id123")
34
- subject.register
35
- expect(subject.client.send(:client).class).to eql(Java::OrgElasticsearchClientTransport::TransportClient)
36
- end
37
-
38
31
  it "should create new documents with or without id" do
39
32
  subject = get_es_output("create", "id123")
40
33
  subject.register
@@ -12,6 +12,7 @@ describe "all protocols update actions", :integration => true do
12
12
  "protocol" => protocol,
13
13
  "hosts" => get_host(),
14
14
  "port" => get_port(protocol),
15
+ "network_host" => get_local_host,
15
16
  "action" => "update"
16
17
  }
17
18
  settings['upsert'] = upsert unless upsert.nil?
@@ -20,13 +20,12 @@ describe LogStash::Outputs::ElasticSearchJavaPlugins::Protocols::NodeClient do
20
20
  context "contains failures" do
21
21
  it "should map correctly" do
22
22
  failure = org.elasticsearch.action.bulk.BulkItemResponse::Failure.new("my_index", "my_type", "my_id", java.lang.IllegalArgumentException.new("bad_request"))
23
- failure_code = failure.get_status.status
24
23
  bulk_item_response_index = org.elasticsearch.action.bulk.BulkItemResponse.new(32, "index", failure)
25
24
  bulk_item_response_update = org.elasticsearch.action.bulk.BulkItemResponse.new(32, "update", failure)
26
25
  bulk_item_response_delete = org.elasticsearch.action.bulk.BulkItemResponse.new(32, "delete", failure)
27
26
  bulk_response = org.elasticsearch.action.bulk.BulkResponse.new([bulk_item_response_index, bulk_item_response_update, bulk_item_response_delete], 0)
28
27
  actual = LogStash::Outputs::ElasticSearchJavaPlugins::Protocols::NodeClient.normalize_bulk_response(bulk_response)
29
- insist { actual } == {"errors" => true, "statuses" => [failure_code, failure_code, failure_code]}
28
+ insist { actual } == {"errors" => true, "statuses" => [400, 400, 400]}
30
29
  end
31
30
  end
32
31
  end
@@ -3,11 +3,7 @@ require_relative "../../../spec/es_spec_helper"
3
3
  describe "outputs/elasticsearch_java" do
4
4
  context "registration" do
5
5
  it "should register" do
6
- output = LogStash::Plugin.lookup("output", "elasticsearch_java").new(
7
- "protocol" => "transport",
8
- "network_host" => get_local_host,
9
- "manage_template" => "false"
10
- )
6
+ output = LogStash::Plugin.lookup("output", "elasticsearch_java").new("protocol" => "transport", "manage_template" => "false")
11
7
  # register will try to load jars and raise if it cannot find jars
12
8
  expect {output.register}.to_not raise_error
13
9
  end
@@ -19,7 +15,6 @@ describe "outputs/elasticsearch_java" do
19
15
  require "logstash/outputs/elasticsearch_java"
20
16
  settings = {
21
17
  "protocol" => "transport",
22
- "network_host" => get_local_host,
23
18
  "node_name" => "mynode"
24
19
  }
25
20
  next LogStash::Outputs::ElasticSearchJava.new(settings)
@@ -32,7 +27,6 @@ describe "outputs/elasticsearch_java" do
32
27
  :protocol => "transport",
33
28
  :client_settings => {
34
29
  "client.transport.sniff" => false,
35
- "network.host" => get_local_host,
36
30
  "node.name" => "mynode"
37
31
  }
38
32
  })
@@ -46,7 +40,6 @@ describe "outputs/elasticsearch_java" do
46
40
  settings = {
47
41
  "hosts" => "node01",
48
42
  "protocol" => "transport",
49
- "network_host" => get_local_host,
50
43
  "sniffing" => true
51
44
  }
52
45
  next LogStash::Outputs::ElasticSearchJava.new(settings)
@@ -68,7 +61,6 @@ describe "outputs/elasticsearch_java" do
68
61
  settings = {
69
62
  "hosts" => "node01",
70
63
  "protocol" => "transport",
71
- "network_host" => get_local_host,
72
64
  "sniffing" => false
73
65
  }
74
66
  next LogStash::Outputs::ElasticSearchJava.new(settings)
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-elasticsearch_java
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0.beta5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-22 00:00:00.000000000 Z
11
+ date: 2015-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - '>='
16
+ - - ">="
17
17
  - !ruby/object:Gem::Version
18
18
  version: '0'
19
19
  name: concurrent-ruby
@@ -21,16 +21,16 @@ dependencies:
21
21
  type: :runtime
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
- - - '>='
30
+ - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.0.13
33
- - - ~>
32
+ version: 1.0.10
33
+ - - "~>"
34
34
  - !ruby/object:Gem::Version
35
35
  version: '1.0'
36
36
  name: elasticsearch
@@ -38,19 +38,19 @@ dependencies:
38
38
  type: :runtime
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - '>='
41
+ - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 1.0.13
44
- - - ~>
43
+ version: 1.0.10
44
+ - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '1.0'
47
47
  - !ruby/object:Gem::Dependency
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
- - - '>='
50
+ - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 0.0.17
53
- - - ~>
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0.0'
56
56
  name: stud
@@ -58,16 +58,16 @@ dependencies:
58
58
  type: :runtime
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - '>='
61
+ - - ">="
62
62
  - !ruby/object:Gem::Version
63
63
  version: 0.0.17
64
- - - ~>
64
+ - - "~>"
65
65
  - !ruby/object:Gem::Version
66
66
  version: '0.0'
67
67
  - !ruby/object:Gem::Dependency
68
68
  requirement: !ruby/object:Gem::Requirement
69
69
  requirements:
70
- - - ~>
70
+ - - "~>"
71
71
  - !ruby/object:Gem::Version
72
72
  version: '0.6'
73
73
  name: cabin
@@ -75,33 +75,33 @@ dependencies:
75
75
  type: :runtime
76
76
  version_requirements: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - ~>
78
+ - - "~>"
79
79
  - !ruby/object:Gem::Version
80
80
  version: '0.6'
81
81
  - !ruby/object:Gem::Dependency
82
82
  requirement: !ruby/object:Gem::Requirement
83
83
  requirements:
84
- - - '>='
84
+ - - ">="
85
85
  - !ruby/object:Gem::Version
86
- version: 2.0.0.beta2
87
- - - <
86
+ version: 1.4.0
87
+ - - "<"
88
88
  - !ruby/object:Gem::Version
89
- version: 3.0.0
89
+ version: 2.0.0
90
90
  name: logstash-core
91
91
  prerelease: false
92
92
  type: :runtime
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - '>='
95
+ - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: 2.0.0.beta2
98
- - - <
97
+ version: 1.4.0
98
+ - - "<"
99
99
  - !ruby/object:Gem::Version
100
- version: 3.0.0
100
+ version: 2.0.0
101
101
  - !ruby/object:Gem::Dependency
102
102
  requirement: !ruby/object:Gem::Requirement
103
103
  requirements:
104
- - - ~>
104
+ - - "~>"
105
105
  - !ruby/object:Gem::Version
106
106
  version: 0.0.42
107
107
  name: ftw
@@ -109,13 +109,13 @@ dependencies:
109
109
  type: :development
110
110
  version_requirements: !ruby/object:Gem::Requirement
111
111
  requirements:
112
- - - ~>
112
+ - - "~>"
113
113
  - !ruby/object:Gem::Version
114
114
  version: 0.0.42
115
115
  - !ruby/object:Gem::Dependency
116
116
  requirement: !ruby/object:Gem::Requirement
117
117
  requirements:
118
- - - '>='
118
+ - - ">="
119
119
  - !ruby/object:Gem::Version
120
120
  version: '0'
121
121
  name: logstash-input-generator
@@ -123,13 +123,13 @@ dependencies:
123
123
  type: :development
124
124
  version_requirements: !ruby/object:Gem::Requirement
125
125
  requirements:
126
- - - '>='
126
+ - - ">="
127
127
  - !ruby/object:Gem::Version
128
128
  version: '0'
129
129
  - !ruby/object:Gem::Dependency
130
130
  requirement: !ruby/object:Gem::Requirement
131
131
  requirements:
132
- - - '>='
132
+ - - ">="
133
133
  - !ruby/object:Gem::Version
134
134
  version: '0'
135
135
  name: logstash-devutils
@@ -137,13 +137,13 @@ dependencies:
137
137
  type: :development
138
138
  version_requirements: !ruby/object:Gem::Requirement
139
139
  requirements:
140
- - - '>='
140
+ - - ">="
141
141
  - !ruby/object:Gem::Version
142
142
  version: '0'
143
143
  - !ruby/object:Gem::Dependency
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  requirements:
146
- - - '>='
146
+ - - ">="
147
147
  - !ruby/object:Gem::Version
148
148
  version: '0'
149
149
  name: longshoreman
@@ -151,7 +151,7 @@ dependencies:
151
151
  type: :development
152
152
  version_requirements: !ruby/object:Gem::Requirement
153
153
  requirements:
154
- - - '>='
154
+ - - ">="
155
155
  - !ruby/object:Gem::Version
156
156
  version: '0'
157
157
  description: Output events to elasticsearch using the java client
@@ -160,12 +160,14 @@ executables: []
160
160
  extensions: []
161
161
  extra_rdoc_files: []
162
162
  files:
163
+ - ".gitignore"
163
164
  - CHANGELOG.md
164
165
  - CONTRIBUTORS
165
166
  - Gemfile
166
167
  - LICENSE
167
168
  - NOTICE.TXT
168
169
  - README.md
170
+ - Rakefile
169
171
  - lib/logstash-output-elasticsearch_java_jars.rb
170
172
  - lib/logstash/outputs/elasticsearch_java.rb
171
173
  - lib/logstash/outputs/elasticsearch_java/elasticsearch-template.json
@@ -182,29 +184,46 @@ files:
182
184
  - spec/integration/outputs/update_spec.rb
183
185
  - spec/unit/outputs/elasticsearch/protocol_spec.rb
184
186
  - spec/unit/outputs/elasticsearch_spec.rb
187
+ - vendor/jar-dependencies/runtime-jars/HdrHistogram-2.1.6.jar
185
188
  - vendor/jar-dependencies/runtime-jars/antlr-runtime-3.5.jar
186
189
  - vendor/jar-dependencies/runtime-jars/apache-log4j-extras-1.2.17.jar
187
190
  - vendor/jar-dependencies/runtime-jars/asm-4.1.jar
188
191
  - vendor/jar-dependencies/runtime-jars/asm-commons-4.1.jar
189
- - vendor/jar-dependencies/runtime-jars/elasticsearch-1.7.3.jar
190
- - vendor/jar-dependencies/runtime-jars/groovy-all-2.4.4.jar
192
+ - vendor/jar-dependencies/runtime-jars/commons-cli-1.3.1.jar
193
+ - vendor/jar-dependencies/runtime-jars/compiler-0.8.13.jar
194
+ - vendor/jar-dependencies/runtime-jars/compress-lzf-1.0.2.jar
195
+ - vendor/jar-dependencies/runtime-jars/elasticsearch-2.0.0-beta1-SNAPSHOT.jar
196
+ - vendor/jar-dependencies/runtime-jars/groovy-all-2.4.4-indy.jar
197
+ - vendor/jar-dependencies/runtime-jars/guava-18.0.jar
198
+ - vendor/jar-dependencies/runtime-jars/hppc-0.7.1.jar
199
+ - vendor/jar-dependencies/runtime-jars/jackson-core-2.5.3.jar
200
+ - vendor/jar-dependencies/runtime-jars/jackson-dataformat-cbor-2.5.3.jar
201
+ - vendor/jar-dependencies/runtime-jars/jackson-dataformat-smile-2.5.3.jar
202
+ - vendor/jar-dependencies/runtime-jars/jackson-dataformat-yaml-2.5.3.jar
191
203
  - vendor/jar-dependencies/runtime-jars/jna-4.1.0.jar
204
+ - vendor/jar-dependencies/runtime-jars/joda-convert-1.2.jar
205
+ - vendor/jar-dependencies/runtime-jars/joda-time-2.8.jar
206
+ - vendor/jar-dependencies/runtime-jars/jsr166e-1.1.0.jar
192
207
  - vendor/jar-dependencies/runtime-jars/jts-1.13.jar
193
208
  - vendor/jar-dependencies/runtime-jars/log4j-1.2.17.jar
194
- - vendor/jar-dependencies/runtime-jars/lucene-analyzers-common-4.10.4.jar
195
- - vendor/jar-dependencies/runtime-jars/lucene-core-4.10.4.jar
196
- - vendor/jar-dependencies/runtime-jars/lucene-expressions-4.10.4.jar
197
- - vendor/jar-dependencies/runtime-jars/lucene-grouping-4.10.4.jar
198
- - vendor/jar-dependencies/runtime-jars/lucene-highlighter-4.10.4.jar
199
- - vendor/jar-dependencies/runtime-jars/lucene-join-4.10.4.jar
200
- - vendor/jar-dependencies/runtime-jars/lucene-memory-4.10.4.jar
201
- - vendor/jar-dependencies/runtime-jars/lucene-misc-4.10.4.jar
202
- - vendor/jar-dependencies/runtime-jars/lucene-queries-4.10.4.jar
203
- - vendor/jar-dependencies/runtime-jars/lucene-queryparser-4.10.4.jar
204
- - vendor/jar-dependencies/runtime-jars/lucene-sandbox-4.10.4.jar
205
- - vendor/jar-dependencies/runtime-jars/lucene-spatial-4.10.4.jar
206
- - vendor/jar-dependencies/runtime-jars/lucene-suggest-4.10.4.jar
209
+ - vendor/jar-dependencies/runtime-jars/lucene-analyzers-common-5.2.1.jar
210
+ - vendor/jar-dependencies/runtime-jars/lucene-backward-codecs-5.2.1.jar
211
+ - vendor/jar-dependencies/runtime-jars/lucene-core-5.2.1.jar
212
+ - vendor/jar-dependencies/runtime-jars/lucene-expressions-5.2.1.jar
213
+ - vendor/jar-dependencies/runtime-jars/lucene-grouping-5.2.1.jar
214
+ - vendor/jar-dependencies/runtime-jars/lucene-highlighter-5.2.1.jar
215
+ - vendor/jar-dependencies/runtime-jars/lucene-join-5.2.1.jar
216
+ - vendor/jar-dependencies/runtime-jars/lucene-memory-5.2.1.jar
217
+ - vendor/jar-dependencies/runtime-jars/lucene-misc-5.2.1.jar
218
+ - vendor/jar-dependencies/runtime-jars/lucene-queries-5.2.1.jar
219
+ - vendor/jar-dependencies/runtime-jars/lucene-queryparser-5.2.1.jar
220
+ - vendor/jar-dependencies/runtime-jars/lucene-sandbox-5.2.1.jar
221
+ - vendor/jar-dependencies/runtime-jars/lucene-spatial-5.2.1.jar
222
+ - vendor/jar-dependencies/runtime-jars/lucene-suggest-5.2.1.jar
223
+ - vendor/jar-dependencies/runtime-jars/netty-3.10.3.Final.jar
224
+ - vendor/jar-dependencies/runtime-jars/snakeyaml-1.12.jar
207
225
  - vendor/jar-dependencies/runtime-jars/spatial4j-0.4.1.jar
226
+ - vendor/jar-dependencies/runtime-jars/t-digest-3.0.jar
208
227
  homepage: http://logstash.net/
209
228
  licenses:
210
229
  - apache-2.0
@@ -217,14 +236,14 @@ require_paths:
217
236
  - lib
218
237
  required_ruby_version: !ruby/object:Gem::Requirement
219
238
  requirements:
220
- - - '>='
239
+ - - ">="
221
240
  - !ruby/object:Gem::Version
222
241
  version: '0'
223
242
  required_rubygems_version: !ruby/object:Gem::Requirement
224
243
  requirements:
225
- - - '>='
244
+ - - ">"
226
245
  - !ruby/object:Gem::Version
227
- version: '0'
246
+ version: 1.3.1
228
247
  requirements: []
229
248
  rubyforge_project:
230
249
  rubygems_version: 2.4.8