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

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: 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: