logstash-integration-jdbc 5.1.6 → 5.1.7
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 +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/logstash/plugin_mixins/jdbc/common.rb +12 -1
- data/logstash-integration-jdbc.gemspec +1 -1
- data/spec/inputs/jdbc_spec.rb +19 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 631bf72cc9e0bb40840f5e7537919e0501a766ddc020a970508004dbebe19d9e
|
4
|
+
data.tar.gz: d712fc0933239f37b56c88b3cfb7de121452ea07901ed7a17ce6339b0f351fc5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 304d561709459feb36273bfb95cfb8dcc50aa86f2fe39d9f0af7153cdef5dbdbe91c934d8bf5c015f2c7b16ccba679042e8713f6460101b626bce79c7d2d1d3a
|
7
|
+
data.tar.gz: 220f00788a142ec81d5b00b0fd370ae15a02709553a28679351e04d1551252c080f2a6f62a11d1a61fe832f2e77ca0259d31b570834242277d18a09670ee38c3
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
## 5.1.7
|
2
|
+
- Normalize jdbc_driver_class loading to support any top-level java packages [#86](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/86)
|
3
|
+
|
1
4
|
## 5.1.6
|
2
5
|
- Fix, serialize the JDBC driver loading steps to avoid concurrency issues [#84](https://github.com/logstash-plugins/logstash-integration-jdbc/pull/84)
|
3
6
|
|
@@ -30,7 +30,7 @@ module LogStash module PluginMixins module Jdbc
|
|
30
30
|
begin
|
31
31
|
load_driver_jars
|
32
32
|
begin
|
33
|
-
@driver_impl = Sequel::JDBC.load_driver(
|
33
|
+
@driver_impl = Sequel::JDBC.load_driver(normalized_driver_class)
|
34
34
|
rescue Sequel::AdapterNotFound => e # Sequel::AdapterNotFound, "#{@jdbc_driver_class} not loaded"
|
35
35
|
# fix this !!!
|
36
36
|
message = if jdbc_driver_library_set?
|
@@ -71,5 +71,16 @@ module LogStash module PluginMixins module Jdbc
|
|
71
71
|
!@jdbc_driver_library.nil? && !@jdbc_driver_library.empty?
|
72
72
|
end
|
73
73
|
|
74
|
+
# normalizing the class name to always have a Java:: prefix
|
75
|
+
# is helpful since JRuby is only able to directly load class names
|
76
|
+
# whose top-level package is com, org, java, javax
|
77
|
+
# There are many jdbc drivers that use cc, io, net, etc.
|
78
|
+
def normalized_driver_class
|
79
|
+
if @jdbc_driver_class.start_with?("Java::", "Java.")
|
80
|
+
@jdbc_driver_class
|
81
|
+
else
|
82
|
+
"Java::#{@jdbc_driver_class}"
|
83
|
+
end
|
84
|
+
end
|
74
85
|
end
|
75
86
|
end end end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'logstash-integration-jdbc'
|
3
|
-
s.version = '5.1.
|
3
|
+
s.version = '5.1.7'
|
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"
|
data/spec/inputs/jdbc_spec.rb
CHANGED
@@ -14,10 +14,11 @@ require "date"
|
|
14
14
|
|
15
15
|
describe LogStash::Inputs::Jdbc do
|
16
16
|
let(:connection_string) { "jdbc:derby:memory:testdb;create=true" }
|
17
|
+
let(:jdbc_driver_class) { "org.apache.derby.jdbc.EmbeddedDriver" }
|
17
18
|
let(:mixin_settings) do
|
18
19
|
{
|
19
20
|
"jdbc_user" => ENV['USER'],
|
20
|
-
"jdbc_driver_class" =>
|
21
|
+
"jdbc_driver_class" => jdbc_driver_class,
|
21
22
|
"jdbc_connection_string" => connection_string
|
22
23
|
}
|
23
24
|
end
|
@@ -1619,4 +1620,21 @@ describe LogStash::Inputs::Jdbc do
|
|
1619
1620
|
end
|
1620
1621
|
end
|
1621
1622
|
end
|
1623
|
+
|
1624
|
+
describe "jdbc_driver_class" do
|
1625
|
+
context "when not prefixed with Java::" do
|
1626
|
+
let(:jdbc_driver_class) { "org.apache.derby.jdbc.EmbeddedDriver" }
|
1627
|
+
it "loads the class prefixed with Java::" do
|
1628
|
+
expect(Sequel::JDBC).to receive(:load_driver).with(/^Java::/)
|
1629
|
+
plugin.send(:load_driver)
|
1630
|
+
end
|
1631
|
+
end
|
1632
|
+
context "when prefixed with Java::" do
|
1633
|
+
let(:jdbc_driver_class) { "Java::org.apache.derby.jdbc.EmbeddedDriver" }
|
1634
|
+
it "loads the class as-is" do
|
1635
|
+
expect(Sequel::JDBC).to receive(:load_driver).with(jdbc_driver_class)
|
1636
|
+
plugin.send(:load_driver)
|
1637
|
+
end
|
1638
|
+
end
|
1639
|
+
end
|
1622
1640
|
end
|
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.1.
|
4
|
+
version: 5.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-10-
|
11
|
+
date: 2021-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|