fluent-plugin-groonga 1.1.5 → 1.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ea2a0b3df8c435d0718ecd86a87c339b45215056
4
- data.tar.gz: e74d7f566d5750d323e2127bba23464b09623123
3
+ metadata.gz: dc768884f9ce10fdc73cc18f8d2cddae575b75a9
4
+ data.tar.gz: ee2ed4d2717c46d0aa5b52425591598e20971f80
5
5
  SHA512:
6
- metadata.gz: 075b61389fa8e9177974cab39d3149844083e69c15a3fbf462ec22b84c5db145d7416b81c70d3b95bccc9c41efb1b9e66cfb4869bd667b2aa795a4743bdeac6f
7
- data.tar.gz: 75400616911dc6935434a7bac18a366364e7eca2aef19816648902ed38fef98d94e9d92cf6876af2b4f6b0eb80d7d6a73564b418baa60aa41d85877bee93fb21
6
+ metadata.gz: b4dbd683a4cbe10a7477bbe08ce8e2a15aa3bd090fff6cc4f9e4810f04e0a46b212e96cacfb176fb9dcf5cf8efc952ca06862d0d9d6b1fe78107ee9bdcc94250
7
+ data.tar.gz: ae2d76e50c1c8cdfce5133bfa9c6bd708bd1725d4ce73c90f16e8b6a39452b68d59f462009f9dfa4368288ebb3c94523f201d10c6a07b796ebabba0a6130d459
data/doc/text/news.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  # News
4
4
 
5
+ ## 1.1.6: 2016-10-03
6
+
7
+ ### Improvements
8
+
9
+ * Supported "100-continue" case.
10
+ HTTP response shouldn't be finished when a HTTP client requests
11
+ "100-continue". curl, PHP HTTP client and so on use "100-continue"
12
+ when they send a large POST data. The input groonga plugin should
13
+ support "100-conitnue".
14
+ * Ignored invalid JSON.
15
+ * Added more information to logs.
16
+
5
17
  ## 1.1.5: 2016-09-28
6
18
 
7
19
  ### Improvements
@@ -17,7 +17,7 @@
17
17
 
18
18
  Gem::Specification.new do |spec|
19
19
  spec.name = "fluent-plugin-groonga"
20
- spec.version = "1.1.5"
20
+ spec.version = "1.1.6"
21
21
  spec.authors = ["Kouhei Sutou"]
22
22
  spec.email = ["kou@clear-code.com"]
23
23
  spec.summary = "Fluentd plugin to store data into Groonga and implement Groonga replication system."
@@ -182,7 +182,8 @@ module Fluent
182
182
  def run
183
183
  @loop.run
184
184
  rescue
185
- $log.error "unexpected error", :error => $!.to_s
185
+ $log.error("[input][groonga][error] unexpected error",
186
+ :error => "#{$!.class}: #{$!}")
186
187
  $log.error_backtrace
187
188
  end
188
189
 
@@ -213,7 +214,7 @@ module Fluent
213
214
  def on_connect
214
215
  @repeater = @input.create_repeater(self)
215
216
  @repeater.on_connect_failed do
216
- $log.error("[input][groonga][error] " +
217
+ $log.error("[input][groonga][connect][error] " +
217
218
  "failed to connect to Groonga:",
218
219
  :real_host => @input.real_host,
219
220
  :real_port => @input.real_port)
@@ -227,13 +228,13 @@ module Fluent
227
228
  begin
228
229
  @request_handler << data
229
230
  rescue HTTP::Parser::Error, URI::InvalidURIError
230
- $log.error("[input][groonga][error] " +
231
+ $log.error("[input][groonga][request][error] " +
231
232
  "failed to parse HTTP request:",
232
233
  :error => "#{$!.class}: #{$!}")
233
234
  $log.error_backtrace
234
235
  reply_error_response("400 Bad Request")
235
236
  rescue
236
- $log.error("[input][groonga][error] " +
237
+ $log.error("[input][groonga][request][error] " +
237
238
  "failed to handle HTTP request:",
238
239
  :error => "#{$!.class}: #{$!}")
239
240
  $log.error_backtrace
@@ -242,7 +243,16 @@ module Fluent
242
243
  end
243
244
 
244
245
  def write_back(data)
245
- @response_handler << data
246
+ begin
247
+ @response_handler << data
248
+ rescue
249
+ $log.error("[input][groonga][response][error] " +
250
+ "failed to handle HTTP response from Groonga:",
251
+ :error => "#{$!.class}: #{$!}")
252
+ $log.error_backtrace
253
+ reply_error_response("500 Internal Server Error")
254
+ return
255
+ end
246
256
  write(data)
247
257
  end
248
258
 
@@ -372,15 +382,30 @@ module Fluent
372
382
  end
373
383
 
374
384
  def on_message_complete
385
+ return if @parser.status_code == 100
386
+
387
+ response = nil
375
388
  case @content_type
376
- when /\Aapplication\/json\z/
377
- response = JSON.parse(@body)
378
- when /\Aapplication\/x-msgpack\z/
379
- response = MessagePack.unpack(@body)
380
- when /\Atext\/x-groonga-command-list/
389
+ when /\Aapplication\/json\z/i
390
+ begin
391
+ response = JSON.parse(@body)
392
+ rescue JSON::ParserError
393
+ $log.warn("[input][groonga][response][warn] " +
394
+ "failed to parse response JSON:",
395
+ :error => "#{$!.class}: #{$!}",
396
+ :json => @body)
397
+ end
398
+ when /\Aapplication\/x-msgpack\z/i
399
+ begin
400
+ response = MessagePack.unpack(@body)
401
+ rescue MessagePack::UnpackError, EOFError
402
+ $log.warn("[input][groonga][response][warn] " +
403
+ "failed to parse response MessagePack",
404
+ :error => "#{$!.class}: #{$!}",
405
+ :msgpack => @body)
406
+ end
407
+ when /\Atext\/x-groonga-command-list\z/i
381
408
  response = @body
382
- else
383
- response = nil
384
409
  end
385
410
  @handler.on_response_complete(response)
386
411
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-groonga
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-28 00:00:00.000000000 Z
11
+ date: 2016-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd