logstash-integration-jdbc 5.4.10 → 5.4.11

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
  SHA256:
3
- metadata.gz: 8b3c2ba844927de3fe8fd1ea8a23fe09af8da74835eb8c87a83e4de9f67b3d21
4
- data.tar.gz: 401acb665aacbf8e9f75b6d5092985998d766217619fcc2d26c7d078f0d4f82f
3
+ metadata.gz: 7604bb8967c9d63f585d14622ab18b70bc0d9e9b34e43bca6b6c59c9d05a6b76
4
+ data.tar.gz: 2e9d142376d12bbd1313142e79174d540d53e098e481330262e784c8177e4898
5
5
  SHA512:
6
- metadata.gz: c68b79a3bdb9d0529dbff7b1c0e80dcd0e840d57f6c760c056fbbd5525be295bfedb8ddf7b2450ab125eee14c039cf61a7ea38aca81e597a98ea815b51955bab
7
- data.tar.gz: eb872090eb0dfc7bb073aa8c3f992679ecfcb66979c2de6f6838ff17f6acc297d82140cb60ef71a55dc910ad17c9ecab921e62e9d899a4943949ba3003b38a7a
6
+ metadata.gz: 165749e33fed7d98b9635f6a1d74cdb05623563a3942d34c093ef761cd8e4f4784e6eb467a699909e5420ceef8fb4779c00e1b154845838052aa278a592ddc2a
7
+ data.tar.gz: b9a4e7822ea60c3dde25edd6a1a6e72837069a993046a050a05aa32e92172d4689624df12e85c31b79f62c40fd0f45f98700e07a678a7ea2656d9730f2f14a8e
data/CHANGELOG.md CHANGED
@@ -1,6 +1,10 @@
1
+ ## 5.4.11
2
+ - Fixes an issue in which any one instance of a JDBC input plugin using `jdbc_default_timezone` changes the behaviour of plugin instances that do _not_ use `jdbc_default_timezone`, ensuring that timezone offsets remain consistent for each instance of the plugin _as configured_ [#151](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/151)
3
+ - Fixes an exception that could occur while reloading `jdbc_static` databases when the underlying connection to the remote has been broken [#165](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/165)
4
+
1
5
  ## 5.4.10
2
- - Adds retry mechanism when checkout Derby from SVN repository [#158](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/158)
3
- - [DOC] add known limitations and settings for connection issue [#167](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/167)
6
+ - Adds retry mechanism when checkout Derby from SVN repository [#158](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/158)
7
+ - [DOC] add known limitations and settings for connection issue [#167](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/167)
4
8
 
5
9
  ## 5.4.9
6
10
  - Fix Derby missed driver classes when built locally for version 10.15 [#160](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/160)
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  require "fileutils"
3
- require "sequel"
3
+ require "logstash/plugin_mixins/jdbc/sequel_bootstrap"
4
4
  require "sequel/adapters/jdbc"
5
5
  require "java"
6
6
  require "logstash/util/loggable"
@@ -12,7 +12,7 @@ module LogStash module Filters module Jdbc
12
12
  if connected?
13
13
  result = @db[statement].count
14
14
  else
15
- debug_log_messages.concat("and there is no connection to the remote db at this time")
15
+ debug_log_messages << "and there is no connection to the remote db at this time"
16
16
  end
17
17
  rescue ::Sequel::Error => err
18
18
  # a fatal issue
@@ -32,7 +32,7 @@ module LogStash module Filters module Jdbc
32
32
  if connected?
33
33
  result = @db[statement].all
34
34
  else
35
- debug_log_messages.concat("and there is no connection to the remote db at this time")
35
+ debug_log_messages << "and there is no connection to the remote db at this time"
36
36
  end
37
37
  rescue ::Sequel::Error => err
38
38
  # a fatal issue
@@ -24,7 +24,8 @@ module LogStash module PluginMixins module Jdbc
24
24
  return @driver_impl if @driver_impl ||= nil
25
25
 
26
26
  require "java"
27
- require "sequel"
27
+
28
+ require_relative "sequel_bootstrap"
28
29
  require "sequel/adapters/jdbc"
29
30
 
30
31
  # execute all the driver loading related duties in a serial fashion to avoid
@@ -0,0 +1,21 @@
1
+ # encoding: utf-8
2
+
3
+ require "sequel"
4
+
5
+ # prevent Sequel's datetime_class from being modified,
6
+ # and ensure behaviour is restored to the library's default
7
+ # if something else in the Ruby VM has already changed it.
8
+ Sequel.synchronize do
9
+ def Sequel.datetime_class=(klass)
10
+ # noop
11
+ end
12
+ def Sequel.datetime_class
13
+ ::Time
14
+ end
15
+ end
16
+
17
+ # load the named_timezones extension, which will attempt to
18
+ # override the global Sequel::datetime_class; for safety,
19
+ # we reset it once more.
20
+ Sequel.extension(:named_timezones)
21
+ Sequel.datetime_class = ::Time
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-integration-jdbc'
3
- s.version = '5.4.10'
3
+ s.version = '5.4.11'
4
4
  s.licenses = ['Apache License (2.0)']
5
5
  s.summary = "Integration with JDBC - input and filter plugins"
6
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"
@@ -601,6 +601,33 @@ describe LogStash::Inputs::Jdbc do
601
601
  # With no timezone set, no change should occur
602
602
  expect(event.get("custom_time").time).to eq(Time.iso8601("2015-01-01T12:00:00Z"))
603
603
  end
604
+
605
+ %w(
606
+ Etc/UTC
607
+ America/Los_Angeles
608
+ Europe/Berlin
609
+ Asia/Tokyo
610
+ ).each do |local_timezone|
611
+ context "when host machine has timezone `#{local_timezone}`" do
612
+ around(:each) do |example|
613
+ begin
614
+ previous_tz = ENV['TZ']
615
+ ENV['TZ'] = local_timezone
616
+ example.call
617
+ ensure
618
+ ENV['TZ'] = previous_tz
619
+ end
620
+ end
621
+
622
+ let(:tz) { TZInfo::Timezone.get(local_timezone) }
623
+
624
+ it "converts the time using the machine's local timezone" do
625
+ plugin.run(queue)
626
+ event = queue.pop
627
+ expect(event.get("custom_time").time).to eq(Time.new(2015,1,1,12,0,0,tz))
628
+ end
629
+ end
630
+ end
604
631
  end
605
632
 
606
633
  context "when iteratively running plugin#run" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-integration-jdbc
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.4.10
4
+ version: 5.4.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-08 00:00:00.000000000 Z
11
+ date: 2024-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -17,8 +17,8 @@ dependencies:
17
17
  - !ruby/object:Gem::Version
18
18
  version: '0.3'
19
19
  name: jar-dependencies
20
- prerelease: false
21
20
  type: :development
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
@@ -34,8 +34,8 @@ dependencies:
34
34
  - !ruby/object:Gem::Version
35
35
  version: '2.99'
36
36
  name: logstash-core-plugin-api
37
- prerelease: false
38
37
  type: :runtime
38
+ prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - ">="
@@ -51,8 +51,8 @@ dependencies:
51
51
  - !ruby/object:Gem::Version
52
52
  version: 6.5.0
53
53
  name: logstash-core
54
- prerelease: false
55
54
  type: :runtime
55
+ prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
@@ -65,8 +65,8 @@ dependencies:
65
65
  - !ruby/object:Gem::Version
66
66
  version: '0'
67
67
  name: logstash-codec-plain
68
- prerelease: false
69
68
  type: :runtime
69
+ prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - ">="
@@ -79,8 +79,8 @@ dependencies:
79
79
  - !ruby/object:Gem::Version
80
80
  version: 5.74.0
81
81
  name: sequel
82
- prerelease: false
83
82
  type: :runtime
83
+ prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="
@@ -93,8 +93,8 @@ dependencies:
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0'
95
95
  name: lru_redux
96
- prerelease: false
97
96
  type: :runtime
97
+ prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - ">="
@@ -107,8 +107,8 @@ dependencies:
107
107
  - !ruby/object:Gem::Version
108
108
  version: '0'
109
109
  name: tzinfo
110
- prerelease: false
111
110
  type: :runtime
111
+ prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - ">="
@@ -121,8 +121,8 @@ dependencies:
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
123
  name: tzinfo-data
124
- prerelease: false
125
124
  type: :runtime
125
+ prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - ">="
@@ -135,8 +135,8 @@ dependencies:
135
135
  - !ruby/object:Gem::Version
136
136
  version: '1.3'
137
137
  name: logstash-mixin-ecs_compatibility_support
138
- prerelease: false
139
138
  type: :runtime
139
+ prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - "~>"
@@ -149,8 +149,8 @@ dependencies:
149
149
  - !ruby/object:Gem::Version
150
150
  version: '1.0'
151
151
  name: logstash-mixin-validator_support
152
- prerelease: false
153
152
  type: :runtime
153
+ prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
@@ -163,8 +163,8 @@ dependencies:
163
163
  - !ruby/object:Gem::Version
164
164
  version: '1.0'
165
165
  name: logstash-mixin-event_support
166
- prerelease: false
167
166
  type: :runtime
167
+ prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
@@ -177,8 +177,8 @@ dependencies:
177
177
  - !ruby/object:Gem::Version
178
178
  version: '1.0'
179
179
  name: logstash-mixin-scheduler
180
- prerelease: false
181
180
  type: :runtime
181
+ prerelease: false
182
182
  version_requirements: !ruby/object:Gem::Requirement
183
183
  requirements:
184
184
  - - "~>"
@@ -191,8 +191,8 @@ dependencies:
191
191
  - !ruby/object:Gem::Version
192
192
  version: '0'
193
193
  name: childprocess
194
- prerelease: false
195
194
  type: :development
195
+ prerelease: false
196
196
  version_requirements: !ruby/object:Gem::Requirement
197
197
  requirements:
198
198
  - - ">="
@@ -205,8 +205,8 @@ dependencies:
205
205
  - !ruby/object:Gem::Version
206
206
  version: '2.3'
207
207
  name: logstash-devutils
208
- prerelease: false
209
208
  type: :development
209
+ prerelease: false
210
210
  version_requirements: !ruby/object:Gem::Requirement
211
211
  requirements:
212
212
  - - ">="
@@ -219,8 +219,8 @@ dependencies:
219
219
  - !ruby/object:Gem::Version
220
220
  version: '0'
221
221
  name: timecop
222
- prerelease: false
223
222
  type: :development
223
+ prerelease: false
224
224
  version_requirements: !ruby/object:Gem::Requirement
225
225
  requirements:
226
226
  - - ">="
@@ -263,6 +263,7 @@ files:
263
263
  - lib/logstash/inputs/tzinfo_jruby_patch.rb
264
264
  - lib/logstash/plugin_mixins/jdbc/common.rb
265
265
  - lib/logstash/plugin_mixins/jdbc/jdbc.rb
266
+ - lib/logstash/plugin_mixins/jdbc/sequel_bootstrap.rb
266
267
  - lib/logstash/plugin_mixins/jdbc/statement_handler.rb
267
268
  - lib/logstash/plugin_mixins/jdbc/timezone_proxy.rb
268
269
  - lib/logstash/plugin_mixins/jdbc/value_tracking.rb
@@ -322,7 +323,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
322
323
  - !ruby/object:Gem::Version
323
324
  version: '0'
324
325
  requirements: []
325
- rubygems_version: 3.2.33
326
+ rubygems_version: 3.3.26
326
327
  signing_key:
327
328
  specification_version: 4
328
329
  summary: Integration with JDBC - input and filter plugins