logstash-output-kafka 2.0.4 → 2.0.5

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