logstash-output-kafka 2.0.4 → 2.0.5

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: 6a35674ec070d791b3ad239648717d2beaa06ec8
4
- data.tar.gz: 74e8c4d77a987a8ccc8b8cc5881fdfade757a249
3
+ metadata.gz: 7b5b8efdd636a8bb4e471b679485d416f945db02
4
+ data.tar.gz: c01e2b497f395cbbcba1337f27b84bb018ad3aea
5
5
  SHA512:
6
- metadata.gz: b980f514c78301c9135f0558e5a7eeaae2b0c793b3cc9eaeaed67cf5d99ac90b77ffadfe55009a42c644acecf2f79b8058630e732c68c75b7b8721e58ba2b773
7
- data.tar.gz: 159fbe47375d3f53bfb8c87e7cd85e4cf7e264d43319d57fab2d4e518735f39d8cb4d90dc81dabf5da53362f82170b42054af9d6b19a775039a8630741b62e5e
6
+ metadata.gz: a856a0c4fe61dead3491d53fd10eaae3bd9582efbb77392f4649a01b88e08934e765cb7eb0dfb55486f3e832af7fc5c248770dfcaa5226bc47d4485fd1cca999
7
+ data.tar.gz: 261084bc6d8b42e46e202e50b7f419515be42206d57415d00b9f9e00ede642c238ec8154c6348a14d0313d1d82646d0d44ad5e9df63cdbadc5996931186f2178
@@ -38,7 +38,10 @@ class LogStash::Outputs::Kafka < LogStash::Outputs::Base
38
38
  config :key_serializer, :validate => :string, :default => 'org.apache.kafka.common.serialization.StringSerializer'
39
39
  # Serializer class for the value of the message
40
40
  config :value_serializer, :validate => :string, :default => 'org.apache.kafka.common.serialization.StringSerializer'
41
- # The key for the message
41
+ # The key that will be included with the record
42
+ #
43
+ # If a `message_key` is present, a partition will be chosen using a hash of the key.
44
+ # If not present, a partition for the message will be assigned in a round-robin fashion.
42
45
  config :message_key, :validate => :string
43
46
  # The number of acknowledgments the producer requires the leader to have received
44
47
  # before considering a request complete.
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-output-kafka'
4
- s.version = '2.0.4'
4
+ s.version = '2.0.5'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = 'Output events to a Kafka topic. This uses the Kafka Producer API to write messages to a topic on 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"
@@ -24,9 +24,8 @@ Gem::Specification.new do |s|
24
24
  s.add_runtime_dependency 'logstash-codec-plain'
25
25
  s.add_runtime_dependency 'logstash-codec-json'
26
26
 
27
- s.add_runtime_dependency 'jruby-kafka', '1.6.0'
27
+ s.add_runtime_dependency 'jruby-kafka', '1.5.0'
28
28
 
29
29
  s.add_development_dependency 'logstash-devutils'
30
30
  s.add_development_dependency 'poseidon'
31
- s.add_development_dependency 'longshoreman'
32
31
  end
@@ -2,55 +2,20 @@
2
2
 
3
3
  require "logstash/devutils/rspec/spec_helper"
4
4
  require 'logstash/outputs/kafka'
5
- require 'longshoreman'
6
5
  require 'jruby-kafka'
7
6
  require 'json'
8
7
  require 'poseidon'
9
8
 
10
- CONTAINER_NAME = "kafka-#{rand(999).to_s}"
11
- IMAGE_NAME = 'spotify/kafka'
12
- IMAGE_TAG = 'latest'
13
- KAFKA_PORT = 9092
14
- KAFKA_VERSION = "0.8.2.1"
15
- KAFKA_SCALA_VERSION = "2.11"
16
-
17
- RSpec.configure do |config|
18
- config.before(:all, :integration => true) do
19
- @ls = begin
20
- ls = Longshoreman.new
21
- ls.container.get(CONTAINER_NAME)
22
- ls
23
- rescue Docker::Error::NotFoundError
24
- Longshoreman.pull_image(IMAGE_NAME, IMAGE_TAG)
25
- Longshoreman.new("#{IMAGE_NAME}:#{IMAGE_TAG}", CONTAINER_NAME,
26
- { "ENV" => [ "ADVERTISED_HOST=#{Longshoreman.new.get_host_ip}", "ADVERTISED_PORT=#{KAFKA_PORT}"],
27
- "PortBindings" => { "#{KAFKA_PORT}/tcp" => [{ "HostPort" => "#{KAFKA_PORT}" }]}})
28
- end
29
- @kafka_host = @ls.get_host_ip
30
- @kafka_port = @ls.container.rport(9092)
31
- @zk_port = @ls.container.rport(2181)
32
- end
33
-
34
- config.after(:suite) do
35
- begin
36
- ls = Longshoreman::new
37
- ls.container.get(CONTAINER_NAME)
38
- ls.cleanup
39
- rescue Docker::Error::NotFoundError, Excon::Errors::SocketError
40
- end
41
- end
42
- end
43
-
44
9
  describe "outputs/kafka", :integration => true do
45
10
  let(:test_topic) { 'test' }
46
- let(:base_config) { {'client_id' => 'spectest', 'bootstrap_servers' => "#{@kafka_host}:#{@kafka_port}"} }
11
+ let(:base_config) { {'client_id' => 'spectest' } }
47
12
  let(:event) { LogStash::Event.new({'message' => 'hello', '@timestamp' => LogStash::Timestamp.at(0) }) }
48
13
 
49
14
 
50
15
  context 'when outputting messages' do
51
16
  let(:num_events) { 3 }
52
17
  let(:consumer) do
53
- Poseidon::PartitionConsumer.new("my_test_consumer", @kafka_host, @kafka_port,
18
+ Poseidon::PartitionConsumer.new("my_test_consumer", "localhost", 9092,
54
19
  test_topic, 0, :earliest_offset)
55
20
  end
56
21
  subject do
@@ -77,18 +42,15 @@ describe "outputs/kafka", :integration => true do
77
42
  let(:num_events) { 10 }
78
43
  let(:test_topic) { 'test2' }
79
44
  let!(:consumer0) do
80
- Poseidon::PartitionConsumer.new("my_test_consumer", @kafka_host, @kafka_port,
45
+ Poseidon::PartitionConsumer.new("my_test_consumer2", "localhost", 9092,
81
46
  test_topic, 0, :earliest_offset)
82
47
  end
83
48
  let!(:consumer1) do
84
- Poseidon::PartitionConsumer.new("my_test_consumer", @kafka_host, @kafka_port,
49
+ Poseidon::PartitionConsumer.new("my_test_consumer2", "localhost", 9092,
85
50
  test_topic, 1, :earliest_offset)
86
51
  end
87
52
 
88
53
  before :each do
89
- command = ["/opt/kafka_#{KAFKA_SCALA_VERSION}-#{KAFKA_VERSION}/bin/kafka-topics.sh", "--create", "--topic", "#{test_topic}", "--partitions", "2", "--zookeeper", "#{@kafka_host}:#{@zk_port}", "--replication-factor", "1"]
90
- @ls.container.raw.exec(command)
91
-
92
54
  config = base_config.merge({"topic_id" => test_topic, "message_key" => "static_key"})
93
55
  kafka = LogStash::Outputs::Kafka.new(config)
94
56
  kafka.register
metadata CHANGED
@@ -1,113 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-kafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elasticsearch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-19 00:00:00.000000000 Z
11
+ date: 2016-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- requirement: !ruby/object:Gem::Requirement
15
- requirements:
16
- - - ~>
17
- - !ruby/object:Gem::Version
18
- version: '1.0'
19
14
  name: logstash-core-plugin-api
20
- prerelease: false
21
- type: :runtime
22
15
  version_requirements: !ruby/object:Gem::Requirement
23
16
  requirements:
24
17
  - - ~>
25
18
  - !ruby/object:Gem::Version
26
19
  version: '1.0'
27
- - !ruby/object:Gem::Dependency
28
20
  requirement: !ruby/object:Gem::Requirement
29
21
  requirements:
30
- - - '>='
22
+ - - ~>
31
23
  - !ruby/object:Gem::Version
32
- version: '0'
33
- name: logstash-codec-plain
24
+ version: '1.0'
34
25
  prerelease: false
35
26
  type: :runtime
27
+ - !ruby/object:Gem::Dependency
28
+ name: logstash-codec-plain
36
29
  version_requirements: !ruby/object:Gem::Requirement
37
30
  requirements:
38
31
  - - '>='
39
32
  - !ruby/object:Gem::Version
40
33
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
34
  requirement: !ruby/object:Gem::Requirement
43
35
  requirements:
44
36
  - - '>='
45
37
  - !ruby/object:Gem::Version
46
38
  version: '0'
47
- name: logstash-codec-json
48
39
  prerelease: false
49
40
  type: :runtime
41
+ - !ruby/object:Gem::Dependency
42
+ name: logstash-codec-json
50
43
  version_requirements: !ruby/object:Gem::Requirement
51
44
  requirements:
52
45
  - - '>='
53
46
  - !ruby/object:Gem::Version
54
47
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
48
  requirement: !ruby/object:Gem::Requirement
57
49
  requirements:
58
- - - '='
50
+ - - '>='
59
51
  - !ruby/object:Gem::Version
60
- version: 1.6.0
61
- name: jruby-kafka
52
+ version: '0'
62
53
  prerelease: false
63
54
  type: :runtime
55
+ - !ruby/object:Gem::Dependency
56
+ name: jruby-kafka
64
57
  version_requirements: !ruby/object:Gem::Requirement
65
58
  requirements:
66
59
  - - '='
67
60
  - !ruby/object:Gem::Version
68
- version: 1.6.0
69
- - !ruby/object:Gem::Dependency
61
+ version: 1.5.0
70
62
  requirement: !ruby/object:Gem::Requirement
71
63
  requirements:
72
- - - '>='
64
+ - - '='
73
65
  - !ruby/object:Gem::Version
74
- version: '0'
75
- name: logstash-devutils
66
+ version: 1.5.0
76
67
  prerelease: false
77
- type: :development
68
+ type: :runtime
69
+ - !ruby/object:Gem::Dependency
70
+ name: logstash-devutils
78
71
  version_requirements: !ruby/object:Gem::Requirement
79
72
  requirements:
80
73
  - - '>='
81
74
  - !ruby/object:Gem::Version
82
75
  version: '0'
83
- - !ruby/object:Gem::Dependency
84
76
  requirement: !ruby/object:Gem::Requirement
85
77
  requirements:
86
78
  - - '>='
87
79
  - !ruby/object:Gem::Version
88
80
  version: '0'
89
- name: poseidon
90
81
  prerelease: false
91
82
  type: :development
83
+ - !ruby/object:Gem::Dependency
84
+ name: poseidon
92
85
  version_requirements: !ruby/object:Gem::Requirement
93
86
  requirements:
94
87
  - - '>='
95
88
  - !ruby/object:Gem::Version
96
89
  version: '0'
97
- - !ruby/object:Gem::Dependency
98
90
  requirement: !ruby/object:Gem::Requirement
99
91
  requirements:
100
92
  - - '>='
101
93
  - !ruby/object:Gem::Version
102
94
  version: '0'
103
- name: longshoreman
104
95
  prerelease: false
105
96
  type: :development
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
97
  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
112
98
  email: info@elastic.co
113
99
  executables: []
@@ -125,9 +111,6 @@ files:
125
111
  - logstash-output-kafka.gemspec
126
112
  - spec/integration/outputs/kafka_spec.rb
127
113
  - spec/unit/outputs/kafka_spec.rb
128
- - vendor/jar-dependencies/runtime-jars/kafka-clients-0.9.0.1.jar
129
- - vendor/jar-dependencies/runtime-jars/slf4j-api-1.7.13.jar
130
- - vendor/jar-dependencies/runtime-jars/slf4j-noop-1.7.13.jar
131
114
  homepage: http://www.elastic.co/guide/en/logstash/current/index.html
132
115
  licenses:
133
116
  - Apache License (2.0)
@@ -150,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
133
  version: '0'
151
134
  requirements: []
152
135
  rubyforge_project:
153
- rubygems_version: 2.4.5
136
+ rubygems_version: 2.4.8
154
137
  signing_key:
155
138
  specification_version: 4
156
139
  summary: Output events to a Kafka topic. This uses the Kafka Producer API to write messages to a topic on the broker