logstash-output-elasticsearch 3.0.1-java → 3.0.2-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: f948e5caa196ea3ba4eb76f706c65f81670189b4
4
- data.tar.gz: e8a600c78977584ce8a19f881f1dc462e1340ba5
3
+ metadata.gz: 7b8baebc24fbd14637d41ef87a5a0eeff7daf94f
4
+ data.tar.gz: e1ebb6428b9f00175f1cd816dc19d0c0ed4c36d9
5
5
  SHA512:
6
- metadata.gz: 1c167b9448ec63baecb93bacecbdac5fbef4f005d39121700a51579a51f742e6827f93f12552c36c2ee2b18f3bb5033c4be3ab1b0f8b242e71c27b14088b040d
7
- data.tar.gz: f579359b3b18ecbf4fbdc86559a077ce306df472bd9c0e961882fc604c32ef0e2d3b7c28386af37c14687529e8fc8f03aa34f00a36d980c550f876efa8465d2f
6
+ metadata.gz: ccb0eec4af4e4dcadcf39f3db0ee986799887f202627722c3eb88677d5a1c7996e4338ce60ad123ebbeca44d90cc235d23a95885eda47e6ac0b3c5115853d053
7
+ data.tar.gz: 534769a76b11249b73a91622928271aa9a7c8f1ab2ebde6d50bc117e0d0046356655f4652825110c7a88ab57ae75e8c896ea17f51ecadc200f8ed57dddd8c8ed
data/CHANGELOG.md CHANGED
@@ -1,3 +1,5 @@
1
+ ## 3.0.2
2
+ - Fix issues where URI based paths in 'hosts' would not function correctly
1
3
  ## 3.0.1
2
4
  - Republish all the gems under jruby.
3
5
  ## 3.0.0
@@ -10,12 +12,12 @@
10
12
 
11
13
  ## 2.6.1
12
14
  - Add 'retry_on_conflict' configuration option which should have been here from the beginning
13
-
15
+
14
16
  ## 2.5.2
15
17
  - Fix bug with update document with doc_as_upsert and scripting (#364, #359)
16
18
  - Make error messages more verbose and easier to parse by humans
17
19
  - Retryable failures are now logged at the info level instead of warning. (issue #372)
18
-
20
+
19
21
  ## 2.5.1
20
22
  - Fix bug where SSL would sometimes not be enabled
21
23
 
@@ -79,7 +79,9 @@ class LogStash::Outputs::ElasticSearch < LogStash::Outputs::Base
79
79
 
80
80
  # HTTP Path at which the Elasticsearch server lives. Use this if you must run Elasticsearch behind a proxy that remaps
81
81
  # the root path for the Elasticsearch HTTP API lives.
82
- config :path, :validate => :string, :default => "/"
82
+ # Note that if you use paths as components of URLs in the 'hosts' field you may
83
+ # not also set this field. That will raise an error at startup
84
+ config :path, :validate => :string
83
85
 
84
86
  # Enable SSL/TLS secured communication to Elasticsearch cluster. Leaving this unspecified will use whatever scheme
85
87
  # is specified in the URLs listed in 'hosts'. If no explicit protocol is specified plain HTTP will be used.
@@ -10,7 +10,11 @@ module LogStash; module Outputs; class ElasticSearch;
10
10
  }
11
11
 
12
12
  common_options[:timeout] = params["timeout"] if params["timeout"]
13
- client_settings[:path] = "/#{params["path"]}/".gsub(/\/+/, "/") # Normalize slashes
13
+
14
+ if params["path"]
15
+ client_settings[:path] = "/#{params["path"]}/".gsub(/\/+/, "/") # Normalize slashes
16
+ end
17
+
14
18
  logger.debug? && logger.debug("Normalizing http path", :path => params["path"], :normalized => client_settings[:path])
15
19
 
16
20
  client_settings.merge! setup_ssl(logger, params)
@@ -103,4 +107,4 @@ module LogStash; module Outputs; class ElasticSearch;
103
107
  }
104
108
  end
105
109
  end
106
- end; end; end
110
+ end; end; end
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-output-elasticsearch'
4
- s.version = '3.0.1'
4
+ s.version = '3.0.2'
5
5
  s.licenses = ['apache-2.0']
6
6
  s.summary = "Logstash Output to Elasticsearch"
7
7
  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"
@@ -18,10 +18,12 @@ describe "outputs/elasticsearch" do
18
18
  eso.client.send(:client).transport.options[:hosts].first
19
19
  }
20
20
 
21
+ let(:do_register) { true }
22
+
21
23
  around(:each) do |block|
22
- eso.register
24
+ eso.register if do_register
23
25
  block.call()
24
- eso.close
26
+ eso.close if do_register
25
27
  end
26
28
 
27
29
  describe "getting a document type" do
@@ -78,6 +80,56 @@ describe "outputs/elasticsearch" do
78
80
  expect(manticore_host).to include(options["path"])
79
81
  end
80
82
  end
83
+
84
+ context "with a URI based path" do
85
+ let(:options) do
86
+ o = super()
87
+ o.delete("path")
88
+ o["hosts"] = ["http://localhost:9200/mypath/"]
89
+ o
90
+ end
91
+ let(:client_host_path) { URI.parse(eso.client.client_options[:hosts].first).path }
92
+
93
+ it "should initialize without error" do
94
+ expect { eso }.not_to raise_error
95
+ end
96
+
97
+ it "should use the URI path" do
98
+ expect(client_host_path).to eql("/mypath/")
99
+ end
100
+
101
+ context "with a path option but no URL path" do
102
+ let(:options) do
103
+ o = super()
104
+ o["path"] = "/override/"
105
+ o["hosts"] = ["http://localhost:9200"]
106
+ o
107
+ end
108
+
109
+ it "should initialize without error" do
110
+ expect { eso }.not_to raise_error
111
+ end
112
+
113
+ it "should use the option path" do
114
+ expect(client_host_path).to eql("/override/")
115
+ end
116
+ end
117
+
118
+ # If you specify the path in two spots that is an error!
119
+ context "with a path option and a URL path" do
120
+ let(:do_register) { false } # Register will fail
121
+ let(:options) do
122
+ o = super()
123
+ o["path"] = "/override"
124
+ o["hosts"] = ["http://localhost:9200/mypath/"]
125
+ o
126
+ end
127
+
128
+ it "should initialize with an error" do
129
+ expect { eso.register }.to raise_error(LogStash::ConfigurationError)
130
+ end
131
+ end
132
+ end
81
133
  end
82
134
  describe "without a port specified" do
83
135
  it "should properly set the default port (9200) on the HTTP client" do
metadata CHANGED
@@ -1,187 +1,187 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-elasticsearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.2
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-09 00:00:00.000000000 Z
11
+ date: 2016-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: concurrent-ruby
15
+ version_requirements: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
14
20
  requirement: !ruby/object:Gem::Requirement
15
21
  requirements:
16
- - - ">="
22
+ - - '>='
17
23
  - !ruby/object:Gem::Version
18
24
  version: '0'
19
- name: concurrent-ruby
20
25
  prerelease: false
21
26
  type: :runtime
27
+ - !ruby/object:Gem::Dependency
28
+ name: elasticsearch
22
29
  version_requirements: !ruby/object:Gem::Requirement
23
30
  requirements:
24
- - - ">="
31
+ - - '>='
25
32
  - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
33
+ version: 1.0.13
34
+ - - ~>
35
+ - !ruby/object:Gem::Version
36
+ version: '1.0'
28
37
  requirement: !ruby/object:Gem::Requirement
29
38
  requirements:
30
- - - ">="
39
+ - - '>='
31
40
  - !ruby/object:Gem::Version
32
41
  version: 1.0.13
33
- - - "~>"
42
+ - - ~>
34
43
  - !ruby/object:Gem::Version
35
44
  version: '1.0'
36
- name: elasticsearch
37
45
  prerelease: false
38
46
  type: :runtime
47
+ - !ruby/object:Gem::Dependency
48
+ name: stud
39
49
  version_requirements: !ruby/object:Gem::Requirement
40
50
  requirements:
41
- - - ">="
51
+ - - '>='
42
52
  - !ruby/object:Gem::Version
43
- version: 1.0.13
44
- - - "~>"
53
+ version: 0.0.17
54
+ - - ~>
45
55
  - !ruby/object:Gem::Version
46
- version: '1.0'
47
- - !ruby/object:Gem::Dependency
56
+ version: '0.0'
48
57
  requirement: !ruby/object:Gem::Requirement
49
58
  requirements:
50
- - - ">="
59
+ - - '>='
51
60
  - !ruby/object:Gem::Version
52
61
  version: 0.0.17
53
- - - "~>"
62
+ - - ~>
54
63
  - !ruby/object:Gem::Version
55
64
  version: '0.0'
56
- name: stud
57
65
  prerelease: false
58
66
  type: :runtime
67
+ - !ruby/object:Gem::Dependency
68
+ name: cabin
59
69
  version_requirements: !ruby/object:Gem::Requirement
60
70
  requirements:
61
- - - ">="
71
+ - - ~>
62
72
  - !ruby/object:Gem::Version
63
- version: 0.0.17
64
- - - "~>"
65
- - !ruby/object:Gem::Version
66
- version: '0.0'
67
- - !ruby/object:Gem::Dependency
73
+ version: '0.6'
68
74
  requirement: !ruby/object:Gem::Requirement
69
75
  requirements:
70
- - - "~>"
76
+ - - ~>
71
77
  - !ruby/object:Gem::Version
72
78
  version: '0.6'
73
- name: cabin
74
79
  prerelease: false
75
80
  type: :runtime
81
+ - !ruby/object:Gem::Dependency
82
+ name: logstash-core-plugin-api
76
83
  version_requirements: !ruby/object:Gem::Requirement
77
84
  requirements:
78
- - - "~>"
85
+ - - ~>
79
86
  - !ruby/object:Gem::Version
80
- version: '0.6'
81
- - !ruby/object:Gem::Dependency
87
+ version: '2.0'
82
88
  requirement: !ruby/object:Gem::Requirement
83
89
  requirements:
84
- - - "~>"
90
+ - - ~>
85
91
  - !ruby/object:Gem::Version
86
92
  version: '2.0'
87
- name: logstash-core-plugin-api
88
93
  prerelease: false
89
94
  type: :runtime
95
+ - !ruby/object:Gem::Dependency
96
+ name: ftw
90
97
  version_requirements: !ruby/object:Gem::Requirement
91
98
  requirements:
92
- - - "~>"
99
+ - - ~>
93
100
  - !ruby/object:Gem::Version
94
- version: '2.0'
95
- - !ruby/object:Gem::Dependency
101
+ version: 0.0.42
96
102
  requirement: !ruby/object:Gem::Requirement
97
103
  requirements:
98
- - - "~>"
104
+ - - ~>
99
105
  - !ruby/object:Gem::Version
100
106
  version: 0.0.42
101
- name: ftw
102
107
  prerelease: false
103
108
  type: :development
109
+ - !ruby/object:Gem::Dependency
110
+ name: logstash-codec-plain
104
111
  version_requirements: !ruby/object:Gem::Requirement
105
112
  requirements:
106
- - - "~>"
113
+ - - '>='
107
114
  - !ruby/object:Gem::Version
108
- version: 0.0.42
109
- - !ruby/object:Gem::Dependency
115
+ version: '0'
110
116
  requirement: !ruby/object:Gem::Requirement
111
117
  requirements:
112
- - - ">="
118
+ - - '>='
113
119
  - !ruby/object:Gem::Version
114
120
  version: '0'
115
- name: logstash-codec-plain
116
121
  prerelease: false
117
122
  type: :development
123
+ - !ruby/object:Gem::Dependency
124
+ name: manticore
118
125
  version_requirements: !ruby/object:Gem::Requirement
119
126
  requirements:
120
- - - ">="
127
+ - - '>='
121
128
  - !ruby/object:Gem::Version
122
- version: '0'
123
- - !ruby/object:Gem::Dependency
129
+ version: 0.5.4
130
+ - - <
131
+ - !ruby/object:Gem::Version
132
+ version: 1.0.0
124
133
  requirement: !ruby/object:Gem::Requirement
125
134
  requirements:
126
- - - ">="
135
+ - - '>='
127
136
  - !ruby/object:Gem::Version
128
137
  version: 0.5.4
129
- - - "<"
138
+ - - <
130
139
  - !ruby/object:Gem::Version
131
140
  version: 1.0.0
132
- name: manticore
133
141
  prerelease: false
134
142
  type: :runtime
143
+ - !ruby/object:Gem::Dependency
144
+ name: logstash-devutils
135
145
  version_requirements: !ruby/object:Gem::Requirement
136
146
  requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- version: 0.5.4
140
- - - "<"
147
+ - - '>='
141
148
  - !ruby/object:Gem::Version
142
- version: 1.0.0
143
- - !ruby/object:Gem::Dependency
149
+ version: '0'
144
150
  requirement: !ruby/object:Gem::Requirement
145
151
  requirements:
146
- - - ">="
152
+ - - '>='
147
153
  - !ruby/object:Gem::Version
148
154
  version: '0'
149
- name: logstash-devutils
150
155
  prerelease: false
151
156
  type: :development
157
+ - !ruby/object:Gem::Dependency
158
+ name: longshoreman
152
159
  version_requirements: !ruby/object:Gem::Requirement
153
160
  requirements:
154
- - - ">="
161
+ - - '>='
155
162
  - !ruby/object:Gem::Version
156
163
  version: '0'
157
- - !ruby/object:Gem::Dependency
158
164
  requirement: !ruby/object:Gem::Requirement
159
165
  requirements:
160
- - - ">="
166
+ - - '>='
161
167
  - !ruby/object:Gem::Version
162
168
  version: '0'
163
- name: longshoreman
164
169
  prerelease: false
165
170
  type: :development
171
+ - !ruby/object:Gem::Dependency
172
+ name: flores
166
173
  version_requirements: !ruby/object:Gem::Requirement
167
174
  requirements:
168
- - - ">="
175
+ - - '>='
169
176
  - !ruby/object:Gem::Version
170
177
  version: '0'
171
- - !ruby/object:Gem::Dependency
172
178
  requirement: !ruby/object:Gem::Requirement
173
179
  requirements:
174
- - - ">="
180
+ - - '>='
175
181
  - !ruby/object:Gem::Version
176
182
  version: '0'
177
- name: flores
178
183
  prerelease: false
179
184
  type: :development
180
- version_requirements: !ruby/object:Gem::Requirement
181
- requirements:
182
- - - ">="
183
- - !ruby/object:Gem::Version
184
- version: '0'
185
185
  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
186
186
  email: info@elastic.co
187
187
  executables: []
@@ -234,12 +234,12 @@ require_paths:
234
234
  - lib
235
235
  required_ruby_version: !ruby/object:Gem::Requirement
236
236
  requirements:
237
- - - ">="
237
+ - - '>='
238
238
  - !ruby/object:Gem::Version
239
239
  version: '0'
240
240
  required_rubygems_version: !ruby/object:Gem::Requirement
241
241
  requirements:
242
- - - ">="
242
+ - - '>='
243
243
  - !ruby/object:Gem::Version
244
244
  version: '0'
245
245
  requirements: []