logstash-output-jdbc 0.2.9 → 0.2.10

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: 41dff0734cecd8b90c11c38fa3b73de4f43d567a
4
- data.tar.gz: 2545f0178b9c31b099a9d57ce8dc8e3e67dfce0a
3
+ metadata.gz: 42d30ecc15a727d77d8524f69d4e0a72609aee39
4
+ data.tar.gz: 92cda3714612b6cfea4bf7b29626456a16bb0bf1
5
5
  SHA512:
6
- metadata.gz: 8252e3b02295b692bec722cd6c151ba2ab9e1f7b8119b8f483ee415bc3213eee4dd6f9b6b3fb5adc81d50308ad486a747322aded3affb740136952bbe0280633
7
- data.tar.gz: 5ec626918c6bfb5b8bd13b8b1b781a84e0ae218d49d3cff790c511157b1711e39419fdef4660c6121d0488aed8c531ee66b686408a7d26070a301c18623066ff
6
+ metadata.gz: 2dd985a6dc5042ac302d4f5d0623f3c252c3de98f2c3c41ab6da69fff1156a6cf65d2e3a6e4412a02cf63b8eab1f3392a5a39b0f8d30b28a15a53a76b87afef7
7
+ data.tar.gz: 91c071c056330b22461f96b8874bc8fb9a0c2065d34d52b66622d74d6f791ea0f462be65a09e33eb4dbc9da707dd26442c591530b4ee0550454c9262e1e7721e
@@ -286,10 +286,19 @@ class LogStash::Outputs::Jdbc < LogStash::Outputs::Base
286
286
 
287
287
  def add_statement_event_params(statement, event)
288
288
  @statement[1..-1].each_with_index do |i, idx|
289
- case event[i]
289
+ if i.is_a? String
290
+ value = event[i]
291
+ if value.nil? and i =~ /%\{/
292
+ value = event.sprintf(i)
293
+ end
294
+ else
295
+ value = i
296
+ end
297
+
298
+ case value
290
299
  when Time
291
300
  # See LogStash::Timestamp, below, for the why behind strftime.
292
- statement.setString(idx + 1, event[i].strftime(STRFTIME_FMT))
301
+ statement.setString(idx + 1, value.strftime(STRFTIME_FMT))
293
302
  when LogStash::Timestamp
294
303
  # XXX: Using setString as opposed to setTimestamp, because setTimestamp
295
304
  # doesn't behave correctly in some drivers (Known: sqlite)
@@ -298,44 +307,44 @@ class LogStash::Outputs::Jdbc < LogStash::Outputs::Base
298
307
  # choke on the 'T' in the string (Known: Derby).
299
308
  #
300
309
  # strftime appears to be the most reliable across drivers.
301
- statement.setString(idx + 1, event[i].time.strftime(STRFTIME_FMT))
310
+ statement.setString(idx + 1, value.time.strftime(STRFTIME_FMT))
302
311
  when Fixnum, Integer
303
- statement.setInt(idx + 1, event[i])
312
+ statement.setInt(idx + 1, value)
304
313
  when Float
305
- statement.setFloat(idx + 1, event[i])
314
+ statement.setFloat(idx + 1, value)
306
315
  when String
307
- statement.setString(idx + 1, event[i])
308
- when true
309
- statement.setBoolean(idx + 1, true)
310
- when false
311
- statement.setBoolean(idx + 1, false)
316
+ statement.setString(idx + 1, value)
317
+ when true, false
318
+ statement.setBoolean(idx + 1, value)
312
319
  else
313
- if event[i].nil? and i =~ /%\{/
314
- statement.setString(idx + 1, event.sprintf(i))
315
- else
316
- statement.setString(idx + 1, nil)
317
- end
320
+ statement.setString(idx + 1, nil)
318
321
  end
319
322
  end
320
323
 
321
324
  statement
322
325
  end
323
326
 
327
+
324
328
  def log_jdbc_exception(exception, retrying)
325
329
  current_exception = exception
330
+ log_text = 'JDBC - Exception. ' + (retrying ? 'Retrying' : 'Not retrying') + '.'
331
+ log_method = (retrying ? 'warn' : 'error')
332
+
326
333
  loop do
327
- if retrying
328
- @logger.error("JDBC Exception. Retrying.", :exception => current_exception)
334
+ @logger.send(log_method, log_text, :exception => current_exception, :backtrace => current_exception.backtrace)
335
+
336
+ if current_exception.respond_to? 'getNextException'
337
+ current_exception = current_exception.getNextException()
329
338
  else
330
- @logger.error("JDBC Exception. No retry.", :exception => current_exception)
339
+ current_exception = nil
331
340
  end
332
- current_exception = current_exception.getNextException()
341
+
333
342
  break if current_exception == nil
334
343
  end
335
344
  end
336
345
 
337
346
  def retry_exception?(exception)
338
- retrying = (exception.respond_to? 'getSQLState' and RETRYABLE_SQLSTATE_CLASSES.include?(exception.getSQLState[0,2]))
347
+ retrying = (exception.respond_to? 'getSQLState' and RETRYABLE_SQLSTATE_CLASSES.include?(exception.getSQLState.to_s[0,2]))
339
348
  log_jdbc_exception(exception, retrying)
340
349
 
341
350
  retrying
metadata CHANGED
@@ -1,49 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-jdbc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
4
+ version: 0.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - the_angry_angel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-29 00:00:00.000000000 Z
11
+ date: 2016-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: logstash-core
14
+ name: stud
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - '>='
18
18
  - !ruby/object:Gem::Version
19
- version: 2.0.0.beta2
20
- - - <
21
- - !ruby/object:Gem::Version
22
- version: 3.0.0
19
+ version: '0'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - '>='
28
25
  - !ruby/object:Gem::Version
29
- version: 2.0.0.beta2
30
- - - <
31
- - !ruby/object:Gem::Version
32
- version: 3.0.0
26
+ version: '0'
33
27
  - !ruby/object:Gem::Dependency
34
- name: stud
28
+ name: logstash-core
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - '>='
38
32
  - !ruby/object:Gem::Version
39
- version: '0'
33
+ version: 2.0.0
34
+ - - <
35
+ - !ruby/object:Gem::Version
36
+ version: 3.0.0
40
37
  type: :runtime
41
38
  prerelease: false
42
39
  version_requirements: !ruby/object:Gem::Requirement
43
40
  requirements:
44
41
  - - '>='
45
42
  - !ruby/object:Gem::Version
46
- version: '0'
43
+ version: 2.0.0
44
+ - - <
45
+ - !ruby/object:Gem::Version
46
+ version: 3.0.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: logstash-codec-plain
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -62,16 +62,16 @@ dependencies:
62
62
  name: logstash-devutils
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - '>='
65
+ - - '='
66
66
  - !ruby/object:Gem::Version
67
- version: '0'
67
+ version: 0.0.18
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - '>='
72
+ - - '='
73
73
  - !ruby/object:Gem::Version
74
- version: '0'
74
+ version: 0.0.18
75
75
  description: This gem is a logstash plugin required to be installed on top of the
76
76
  Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not
77
77
  a stand-alone program
@@ -81,17 +81,21 @@ extensions: []
81
81
  extra_rdoc_files: []
82
82
  files:
83
83
  - lib/com/zaxxer/HikariCP/2.4.2/HikariCP-2.4.2.jar
84
+ - lib/com/zaxxer/HikariCP/2.4.6/HikariCP-2.4.6.jar
84
85
  - lib/log4j/log4j/1.2.17/log4j-1.2.17.jar
85
86
  - lib/logstash/outputs/jdbc.rb
86
87
  - lib/logstash-output-jdbc_jars.rb
87
88
  - lib/logstash-output-jdbc_ring-buffer.rb
88
89
  - lib/org/slf4j/slf4j-api/1.7.12/slf4j-api-1.7.12.jar
90
+ - lib/org/slf4j/slf4j-api/1.7.16/slf4j-api-1.7.16.jar
89
91
  - lib/org/slf4j/slf4j-log4j12/1.7.13/slf4j-log4j12-1.7.13.jar
92
+ - lib/org/slf4j/slf4j-log4j12/1.7.21/slf4j-log4j12-1.7.21.jar
90
93
  - vendor/jar-dependencies/runtime-jars/HikariCP-2.4.2.jar
94
+ - vendor/jar-dependencies/runtime-jars/HikariCP-2.4.6.jar
91
95
  - vendor/jar-dependencies/runtime-jars/log4j-1.2.17.jar
92
- - vendor/jar-dependencies/runtime-jars/slf4j-api-1.7.12.jar
93
96
  - vendor/jar-dependencies/runtime-jars/slf4j-api-1.7.13.jar
94
- - vendor/jar-dependencies/runtime-jars/slf4j-log4j12-1.7.13.jar
97
+ - vendor/jar-dependencies/runtime-jars/slf4j-api-1.7.16.jar
98
+ - vendor/jar-dependencies/runtime-jars/slf4j-log4j12-1.7.21.jar
95
99
  - vendor/jar-dependencies/runtime-jars/slf4j-nop-1.7.13.jar
96
100
  - spec/outputs/jdbc_spec.rb
97
101
  - LICENSE.txt
@@ -102,8 +106,7 @@ licenses:
102
106
  metadata:
103
107
  logstash_plugin: 'true'
104
108
  logstash_group: output
105
- post_install_message: logstash-output-jdbc 0.2.0 introduces several new features -
106
- please ensure you check the documentation in the README file
109
+ post_install_message:
107
110
  rdoc_options: []
108
111
  require_paths:
109
112
  - lib