logstash-output-elasticsearch 6.2.5-java → 6.2.6-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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61e3482785093444d19b07aae664a7f4bdd9d8a8
|
4
|
+
data.tar.gz: 583f5fac5272e56c5aa7f11246d92b2fe521e352
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da95653926bd5c8a3e83b06d9cdaa8f0682018338221959e1c42d02000fea0e2bb9c7f9b3de94053a8bee6c4de1fa9354d90eba355e4f6ffdd28dfcc59901755
|
7
|
+
data.tar.gz: 75fe257a8468a539dbc54e691b8de5f71930e2646107264d664f871d7289a49d745feccc9a465d875bdea7d0786386fc041442de6fc22133662859a05bbe5b85
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## 6.2.6
|
2
|
+
- Fixed: Change how the healthcheck_path is treated: either append it to any existing path (default) or replace any existing path
|
3
|
+
Also ensures that the healthcheck url contains no query parameters regarless of hosts urls contains them or query_params being set. #554
|
4
|
+
|
1
5
|
## 6.2.5
|
2
6
|
- Send the Content-Type: application/json header that proper ES clients should send
|
3
7
|
|
@@ -173,14 +173,21 @@ class LogStash::Outputs::ElasticSearch < LogStash::Outputs::Base
|
|
173
173
|
|
174
174
|
# When a backend is marked down a HEAD request will be sent to this path in the
|
175
175
|
# background to see if it has come back again before it is once again eligible
|
176
|
-
# to service requests. If you have custom firewall rules you may need to change
|
177
|
-
#
|
176
|
+
# to service requests. If you have custom firewall rules you may need to change this
|
177
|
+
# NOTE: any query parameters present in the URL or query_params config option will be removed
|
178
178
|
config :healthcheck_path, :validate => :string, :default => "/"
|
179
|
-
|
180
|
-
#
|
181
|
-
#
|
182
|
-
#
|
179
|
+
|
180
|
+
# When a `healthcheck_path` config is provided, this additional flag can be used to
|
181
|
+
# specify whether the healthcheck_path is appended to the existing path (default)
|
182
|
+
# or is treated as the absolute URL path.
|
183
|
+
#
|
184
|
+
# For example, if hosts url is "http://localhost:9200/es" and healthcheck_path is "/health",
|
185
|
+
# the health check url will be:
|
186
|
+
#
|
187
|
+
# * with `absolute_healthcheck_path: true`: "http://localhost:9200/es/health"
|
188
|
+
# * with `absolute_healthcheck_path: false`: "http://localhost:9200/health"
|
183
189
|
config :absolute_healthcheck_path, :validate => :boolean, :default => false
|
190
|
+
|
184
191
|
# How frequently, in seconds, to wait between resurrection attempts.
|
185
192
|
# Resurrection is the process by which backend endpoints marked 'down' are checked
|
186
193
|
# to see if they have come back to life
|
@@ -231,10 +231,10 @@ module LogStash; module Outputs; class ElasticSearch; class HttpClient;
|
|
231
231
|
@state_mutex.synchronize { @url_info.select {|url,meta| meta[:state] != :alive } }.each do |url,meta|
|
232
232
|
begin
|
233
233
|
path = healthcheck_path
|
234
|
-
healthcheck_url = url
|
234
|
+
healthcheck_url = LogStash::Util::SafeURI.new(url.uri.clone)
|
235
|
+
healthcheck_url.query = nil
|
235
236
|
if @absolute_healthcheck_path
|
236
|
-
healthcheck_url =
|
237
|
-
path = ROOT_URI_PATH
|
237
|
+
healthcheck_url.path = ROOT_URI_PATH
|
238
238
|
end
|
239
239
|
logger.info("Running health check to see if an Elasticsearch connection is working",
|
240
240
|
:healthcheck_url => healthcheck_url, :path => path)
|
@@ -1,7 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
|
-
|
3
2
|
s.name = 'logstash-output-elasticsearch'
|
4
|
-
s.version = '6.2.
|
3
|
+
s.version = '6.2.6'
|
5
4
|
s.licenses = ['apache-2.0']
|
6
5
|
s.summary = "Logstash Output to Elasticsearch"
|
7
6
|
s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
|
@@ -44,22 +44,47 @@ describe LogStash::Outputs::ElasticSearch::HttpClient::Pool do
|
|
44
44
|
sleep(subject.resurrect_delay + 1)
|
45
45
|
end
|
46
46
|
|
47
|
-
describe "
|
48
|
-
let(:
|
49
|
-
let(:
|
50
|
-
|
51
|
-
|
52
|
-
|
47
|
+
describe "healthcheck url handling" do
|
48
|
+
let(:initial_urls) { [::LogStash::Util::SafeURI.new("http://localhost:9200#{path}")] }
|
49
|
+
let(:healthcheck_path) { "/some/other/path" }
|
50
|
+
let(:absolute_healthcheck_path) { false }
|
51
|
+
let(:path) { "/meh" }
|
52
|
+
let(:options) { super.merge(:absolute_healthcheck_path => absolute_healthcheck_path, :path => path, :healthcheck_path => healthcheck_path) }
|
53
|
+
|
54
|
+
context "when using query params in the initial url" do
|
55
|
+
let(:initial_urls) { [::LogStash::Util::SafeURI.new("http://localhost:9200?q=s")] }
|
56
|
+
it "is removed from the healthcheck request" do
|
57
|
+
expect(adapter).to receive(:perform_request) do |url, method, req_path, _, _|
|
58
|
+
expect(method).to eq(:head)
|
59
|
+
expect(url.query).to be_nil
|
60
|
+
end
|
61
|
+
subject.healthcheck!
|
62
|
+
end
|
53
63
|
end
|
54
64
|
|
55
|
-
|
56
|
-
|
57
|
-
|
65
|
+
describe "absolute_healthcheck_path" do
|
66
|
+
context "when enabled" do
|
67
|
+
let(:absolute_healthcheck_path) { true }
|
68
|
+
it "should use the healthcheck_path as the absolute path" do
|
69
|
+
expect(adapter).to receive(:perform_request) do |url, method, req_path, _, _|
|
70
|
+
expect(method).to eq(:head)
|
71
|
+
expect(req_path).to eq(healthcheck_path)
|
72
|
+
expect(url.path).to eq("/")
|
73
|
+
end
|
74
|
+
subject.healthcheck!
|
75
|
+
end
|
76
|
+
end
|
58
77
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
78
|
+
context "when disabled" do
|
79
|
+
let(:absolute_healthcheck_path) { false }
|
80
|
+
it "should use the healthcheck_path as a relative path" do
|
81
|
+
expect(adapter).to receive(:perform_request) do |url, method, req_path, _, _|
|
82
|
+
expect(method).to eq(:head)
|
83
|
+
expect(req_path).to eq(healthcheck_path)
|
84
|
+
expect(url.path).to eq(path)
|
85
|
+
end
|
86
|
+
subject.healthcheck!
|
87
|
+
end
|
63
88
|
end
|
64
89
|
end
|
65
90
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-output-elasticsearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.2.
|
4
|
+
version: 6.2.6
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|