logstash-input-kafka 3.0.0.beta4 → 3.0.0.beta5

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: 6bf0dff64749f974cfa649f10033a2ef9642d24f
4
- data.tar.gz: 4f80203ce5e0244706d5fbaa4cd4edcfaff97b26
3
+ metadata.gz: ede94bdee56512bb6ab54d8dc1f66dccd4b71d78
4
+ data.tar.gz: 7473063725d735c21955cb85b5dd42c0a602c802
5
5
  SHA512:
6
- metadata.gz: 0fe320217c7de713222de88f83aee68e87406e4dc5a5bed4a097db6647471247c62e88dbacbccaf786fad0f6c5e7fd32a9a42570b0a02e21e57536b91b0e465f
7
- data.tar.gz: ac4692dcc79842c6cf7c1c010f972577d631a237951f3c3baf8190de4f0769adf405c29a63c2ec993b74767bea92bb589e08cc5e8215cf18a24dae0fe47d9c54
6
+ metadata.gz: fb255496bee1cd0ec990852b65f10f992b3dab7fa232bd1e721cc2ea09dce1ebcb903045017a22f8afb68807d2445bbe66215d41db492667a95afa455081ac86
7
+ data.tar.gz: 08cb1d08a5da9087513bbf394ad6ed47a673da957fff20cc2ac013eb783bac3d776d388cc5105dd66657be00d8db2f84e9fe924803fbd7aee0d2ebc2eb40bcfa
@@ -1,3 +1,14 @@
1
+ # 3.0.0.beta4
2
+ - Internal: Use jar dependency
3
+ - Fixed issue with snappy compression
4
+
5
+ # 3.0.0.beta3 and 3.0.0.beta4
6
+ - Internal: Update gemspec dependency
7
+
8
+ # 3.0.0.beta2
9
+ - internal: Use jar dependencies library instead of manually downloading jars
10
+ - Fixes "java.lang.ClassNotFoundException: org.xerial.snappy.SnappyOutputStream" issue (#50)
11
+
1
12
  # 3.0.0.beta2
2
13
  - Added SSL/TLS connection support to Kafka
3
14
  - Breaking: Changed default codec to plain instead of SSL. Json codec is really slow when used
@@ -157,6 +157,7 @@ class LogStash::Inputs::Kafka < LogStash::Inputs::Base
157
157
  records = consumer.poll(poll_timeout_ms);
158
158
  for record in records do
159
159
  @codec.decode(record.value.to_s) do |event|
160
+ decorate(event)
160
161
  logstash_queue << event
161
162
  end
162
163
  end
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-input-kafka'
4
- s.version = '3.0.0.beta4'
4
+ s.version = '3.0.0.beta5'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = 'This input will read events from a Kafka topic. It uses the high level consumer API provided by Kafka to read messages from the broker'
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/plugin install gemname. This gem is not a stand-alone program"
@@ -19,8 +19,13 @@ Gem::Specification.new do |s|
19
19
  # Special flag to let us know this is actually a logstash plugin
20
20
  s.metadata = { 'logstash_plugin' => 'true', 'group' => 'input'}
21
21
 
22
+ s.requirements << "jar 'org.apache.kafka:kafka-clients', '0.9.0.1'"
23
+ s.requirements << "jar 'org.slf4j:slf4j-log4j12', '1.7.13'"
24
+
25
+ s.add_development_dependency 'jar-dependencies', '~> 0.3.2'
26
+
22
27
  # Gem dependencies
23
- s.add_runtime_dependency "logstash-core-plugin-api", "~> 1.0"
28
+ s.add_runtime_dependency 'logstash-core', ">= 2.0.0", "< 3.0.0"
24
29
  s.add_runtime_dependency 'logstash-codec-json'
25
30
  s.add_runtime_dependency 'logstash-codec-plain'
26
31
  s.add_runtime_dependency 'stud', '>= 0.0.22', '< 0.1.0'
@@ -5,25 +5,29 @@ require "digest"
5
5
 
6
6
  describe "input/kafka", :integration => true do
7
7
  let(:partition3_config) { { 'topics' => ['topic3'], 'codec' => 'plain', 'auto_offset_reset' => 'earliest'} }
8
+ let(:snappy_config) { { 'topics' => ['snappy_topic'], 'codec' => 'plain', 'auto_offset_reset' => 'earliest'} }
9
+ let(:lz4_config) { { 'topics' => ['lz4_topic'], 'codec' => 'plain', 'auto_offset_reset' => 'earliest'} }
8
10
 
9
11
  let(:tries) { 60 }
10
12
  let(:num_events) { 103 }
11
13
 
12
- def wait_until_count(queue)
13
- num_tries = tries
14
- while (num_tries > 0)
15
- break if queue.size == num_events
16
- num_tries -= 1
17
- sleep 1
18
- end
19
- end
20
-
21
14
  def thread_it(kafka_input, queue)
22
15
  Thread.new do
23
16
  begin
24
17
  kafka_input.run(queue)
25
18
  end
26
19
  end
20
+ end
21
+
22
+ def wait_for_events(queue, num_events)
23
+ begin
24
+ timeout(30) do
25
+ until queue.length == num_events do
26
+ sleep 1
27
+ next
28
+ end
29
+ end
30
+ end
27
31
  end
28
32
 
29
33
  it "should consume all messages from 3-partition topic" do
@@ -31,10 +35,26 @@ describe "input/kafka", :integration => true do
31
35
  queue = Array.new
32
36
  t = thread_it(kafka_input, queue)
33
37
  t.run
34
-
35
- wait_until_count(queue)
36
-
38
+ wait_for_events(queue, num_events)
39
+ expect(queue.size).to eq(num_events)
40
+ end
41
+
42
+ it "should consume all messages from snappy 3-partition topic" do
43
+ kafka_input = LogStash::Inputs::Kafka.new(snappy_config)
44
+ queue = Array.new
45
+ t = thread_it(kafka_input, queue)
46
+ t.run
47
+ wait_for_events(queue, num_events)
37
48
  expect(queue.size).to eq(num_events)
38
49
  end
39
50
 
51
+ it "should consume all messages from lz4 3-partition topic" do
52
+ kafka_input = LogStash::Inputs::Kafka.new(lz4_config)
53
+ queue = Array.new
54
+ t = thread_it(kafka_input, queue)
55
+ t.run
56
+ wait_for_events(queue, num_events)
57
+ expect(queue.size).to eq(num_events)
58
+ end
59
+
40
60
  end
metadata CHANGED
@@ -1,29 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-kafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.beta4
4
+ version: 3.0.0.beta5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elasticsearch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-31 00:00:00.000000000 Z
11
+ date: 2016-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - ~>
17
17
  - !ruby/object:Gem::Version
18
- version: '1.0'
19
- name: logstash-core-plugin-api
18
+ version: 0.3.2
19
+ name: jar-dependencies
20
20
  prerelease: false
21
- type: :runtime
21
+ type: :development
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: 0.3.2
27
+ - !ruby/object:Gem::Dependency
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 2.0.0
33
+ - - <
34
+ - !ruby/object:Gem::Version
35
+ version: 3.0.0
36
+ name: logstash-core
37
+ prerelease: false
38
+ type: :runtime
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - '>='
42
+ - !ruby/object:Gem::Version
43
+ version: 2.0.0
44
+ - - <
45
+ - !ruby/object:Gem::Version
46
+ version: 3.0.0
27
47
  - !ruby/object:Gem::Dependency
28
48
  requirement: !ruby/object:Gem::Requirement
29
49
  requirements:
@@ -105,8 +125,11 @@ files:
105
125
  - spec/integration/inputs/kafka_spec.rb
106
126
  - spec/unit/inputs/kafka_spec.rb
107
127
  - vendor/jar-dependencies/runtime-jars/kafka-clients-0.9.0.1.jar
108
- - vendor/jar-dependencies/runtime-jars/slf4j-api-1.7.13.jar
109
- - vendor/jar-dependencies/runtime-jars/slf4j-noop-1.7.13.jar
128
+ - vendor/jar-dependencies/runtime-jars/log4j-1.2.17.jar
129
+ - vendor/jar-dependencies/runtime-jars/lz4-1.2.0.jar
130
+ - vendor/jar-dependencies/runtime-jars/slf4j-api-1.7.6.jar
131
+ - vendor/jar-dependencies/runtime-jars/slf4j-log4j12-1.7.13.jar
132
+ - vendor/jar-dependencies/runtime-jars/snappy-java-1.1.1.7.jar
110
133
  homepage: http://www.elastic.co/guide/en/logstash/current/index.html
111
134
  licenses:
112
135
  - Apache License (2.0)
@@ -127,7 +150,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
150
  - - '>'
128
151
  - !ruby/object:Gem::Version
129
152
  version: 1.3.1
130
- requirements: []
153
+ requirements:
154
+ - jar 'org.apache.kafka:kafka-clients', '0.9.0.1'
155
+ - jar 'org.slf4j:slf4j-log4j12', '1.7.13'
131
156
  rubyforge_project:
132
157
  rubygems_version: 2.4.5
133
158
  signing_key: