logstash-input-kafka 2.0.3 → 2.0.4

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: b3867a2da2e1bcef41af77b310020da1c2a8cc78
4
- data.tar.gz: d43d020db142194bd90d112b61ae09a80a6e5f73
3
+ metadata.gz: 8cbf018ee79064fe87ed7e0a6ec383bee0d552f5
4
+ data.tar.gz: e536bdb136d069db76dd7ff890a91c3cbbb24902
5
5
  SHA512:
6
- metadata.gz: 319106e8a1dca73d8d4fca0db83b1835061e65fa14f5d0e37e092b64356b17d32cec30d01b88c60a415496f34a950e7915aa17f97bac83ecdce0793540f8190e
7
- data.tar.gz: 780f0dbed7c2662e6dbffe1320155efa75de10c5899f8eec5a33012750a6d28ecb136cf0677b8aa8afeb1d9918bfc27f97fc7e5ee441b1ba2db4e7235814404b
6
+ metadata.gz: 50e38271ea18c0ca7edb4d1d16f3be5025f4ec0d6b204bdf7663af0831a70ea50cdc8e8a5a700f721d2d4b6656ac70989b1bfb43198fdc1b14a97fba2af023ba
7
+ data.tar.gz: 7e4212059e99825fbc47ee842826727dc78a2c74459a5a89ba3a7cdb8e9d0583e5db0cf16c3e0ac1a5079df4ccd1dd32566cdc9c702a00b6d388bf36f199662c
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 2.0.4
2
+ - Fix safe shutdown while plugin waits on Kafka for new events
3
+ - Expose auto_commit_interval_ms to control offset commit frequency
4
+
1
5
  ## 2.0.3
2
6
  - Fix infinite loop when no new messages are found in Kafka
3
7
 
@@ -50,6 +50,8 @@ class LogStash::Inputs::Kafka < LogStash::Inputs::Base
50
50
  # have an established offset or offset is invalid, start with the earliest message present in the
51
51
  # log (`smallest`) or after the last message in the log (`largest`).
52
52
  config :auto_offset_reset, :validate => %w( largest smallest ), :default => 'largest'
53
+ # The frequency in ms that the consumer offsets are committed to zookeeper.
54
+ config :auto_commit_interval_ms, :validate => :number, :default => 1000
53
55
  # Number of threads to read from the partitions. Ideally you should have as many threads as the
54
56
  # number of partitions for a perfect balance. More threads than partitions means that some
55
57
  # threads will be idle. Less threads means a single thread could be consuming from more than
@@ -92,6 +94,8 @@ class LogStash::Inputs::Kafka < LogStash::Inputs::Base
92
94
  # The serializer class for keys (defaults to the same default as for messages)
93
95
  config :key_decoder_class, :validate => :string, :default => 'kafka.serializer.DefaultDecoder'
94
96
 
97
+ class KafkaShutdownEvent; end
98
+ KAFKA_SHUTDOWN_EVENT = KafkaShutdownEvent.new
95
99
 
96
100
  public
97
101
  def register
@@ -101,6 +105,7 @@ class LogStash::Inputs::Kafka < LogStash::Inputs::Base
101
105
  :group_id => @group_id,
102
106
  :topic_id => @topic_id,
103
107
  :auto_offset_reset => @auto_offset_reset,
108
+ :auto_commit_interval => @auto_commit_interval_ms,
104
109
  :rebalance_max_retries => @rebalance_max_retries,
105
110
  :rebalance_backoff_ms => @rebalance_backoff_ms,
106
111
  :consumer_timeout_ms => @consumer_timeout_ms,
@@ -137,6 +142,9 @@ class LogStash::Inputs::Kafka < LogStash::Inputs::Base
137
142
 
138
143
  while !stop?
139
144
  event = @kafka_client_queue.pop
145
+ if event == KAFKA_SHUTDOWN_EVENT
146
+ break
147
+ end
140
148
  queue_event(event, logstash_queue)
141
149
  end
142
150
 
@@ -155,6 +163,7 @@ class LogStash::Inputs::Kafka < LogStash::Inputs::Base
155
163
 
156
164
  public
157
165
  def stop
166
+ @kafka_client_queue.push(KAFKA_SHUTDOWN_EVENT)
158
167
  @consumer_group.shutdown if @consumer_group.running?
159
168
  end
160
169
 
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-input-kafka'
4
- s.version = '2.0.3'
4
+ s.version = '2.0.4'
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"
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
25
25
  s.add_runtime_dependency 'logstash-codec-plain'
26
26
  s.add_runtime_dependency 'stud', '>= 0.0.22', '< 0.1.0'
27
27
 
28
- s.add_runtime_dependency 'jruby-kafka', ['>= 1.2.0', '< 2.0.0']
28
+ s.add_runtime_dependency 'jruby-kafka', '1.5.0'
29
29
 
30
30
  s.add_development_dependency 'logstash-devutils'
31
31
  end
@@ -42,7 +42,7 @@ class TestInfiniteKafkaGroup < Kafka::Group
42
42
  Thread.new do
43
43
  while true
44
44
  a_queue << blah
45
- sleep 0.2
45
+ sleep 10
46
46
  end
47
47
  end
48
48
  end
metadata CHANGED
@@ -1,17 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-kafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elasticsearch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-14 00:00:00.000000000 Z
11
+ date: 2016-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- requirement: !ruby/object:Gem::Requirement
14
+ name: logstash-core
15
+ version_requirements: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - '>='
17
18
  - !ruby/object:Gem::Version
@@ -19,10 +20,7 @@ dependencies:
19
20
  - - <
20
21
  - !ruby/object:Gem::Version
21
22
  version: 3.0.0
22
- name: logstash-core
23
- prerelease: false
24
- type: :runtime
25
- version_requirements: !ruby/object:Gem::Requirement
23
+ requirement: !ruby/object:Gem::Requirement
26
24
  requirements:
27
25
  - - '>='
28
26
  - !ruby/object:Gem::Version
@@ -30,46 +28,38 @@ dependencies:
30
28
  - - <
31
29
  - !ruby/object:Gem::Version
32
30
  version: 3.0.0
33
- - !ruby/object:Gem::Dependency
34
- requirement: !ruby/object:Gem::Requirement
35
- requirements:
36
- - - '>='
37
- - !ruby/object:Gem::Version
38
- version: '0'
39
- name: logstash-codec-json
40
31
  prerelease: false
41
32
  type: :runtime
33
+ - !ruby/object:Gem::Dependency
34
+ name: logstash-codec-json
42
35
  version_requirements: !ruby/object:Gem::Requirement
43
36
  requirements:
44
37
  - - '>='
45
38
  - !ruby/object:Gem::Version
46
39
  version: '0'
47
- - !ruby/object:Gem::Dependency
48
40
  requirement: !ruby/object:Gem::Requirement
49
41
  requirements:
50
42
  - - '>='
51
43
  - !ruby/object:Gem::Version
52
44
  version: '0'
53
- name: logstash-codec-plain
54
45
  prerelease: false
55
46
  type: :runtime
47
+ - !ruby/object:Gem::Dependency
48
+ name: logstash-codec-plain
56
49
  version_requirements: !ruby/object:Gem::Requirement
57
50
  requirements:
58
51
  - - '>='
59
52
  - !ruby/object:Gem::Version
60
53
  version: '0'
61
- - !ruby/object:Gem::Dependency
62
54
  requirement: !ruby/object:Gem::Requirement
63
55
  requirements:
64
56
  - - '>='
65
57
  - !ruby/object:Gem::Version
66
- version: 0.0.22
67
- - - <
68
- - !ruby/object:Gem::Version
69
- version: 0.1.0
70
- name: stud
58
+ version: '0'
71
59
  prerelease: false
72
60
  type: :runtime
61
+ - !ruby/object:Gem::Dependency
62
+ name: stud
73
63
  version_requirements: !ruby/object:Gem::Requirement
74
64
  requirements:
75
65
  - - '>='
@@ -78,40 +68,44 @@ dependencies:
78
68
  - - <
79
69
  - !ruby/object:Gem::Version
80
70
  version: 0.1.0
81
- - !ruby/object:Gem::Dependency
82
71
  requirement: !ruby/object:Gem::Requirement
83
72
  requirements:
84
73
  - - '>='
85
74
  - !ruby/object:Gem::Version
86
- version: 1.2.0
75
+ version: 0.0.22
87
76
  - - <
88
77
  - !ruby/object:Gem::Version
89
- version: 2.0.0
90
- name: jruby-kafka
78
+ version: 0.1.0
91
79
  prerelease: false
92
80
  type: :runtime
81
+ - !ruby/object:Gem::Dependency
82
+ name: jruby-kafka
93
83
  version_requirements: !ruby/object:Gem::Requirement
94
84
  requirements:
95
- - - '>='
85
+ - - '='
96
86
  - !ruby/object:Gem::Version
97
- version: 1.2.0
98
- - - <
87
+ version: 1.5.0
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - '='
99
91
  - !ruby/object:Gem::Version
100
- version: 2.0.0
92
+ version: 1.5.0
93
+ prerelease: false
94
+ type: :runtime
101
95
  - !ruby/object:Gem::Dependency
102
- requirement: !ruby/object:Gem::Requirement
96
+ name: logstash-devutils
97
+ version_requirements: !ruby/object:Gem::Requirement
103
98
  requirements:
104
99
  - - '>='
105
100
  - !ruby/object:Gem::Version
106
101
  version: '0'
107
- name: logstash-devutils
108
- prerelease: false
109
- type: :development
110
- version_requirements: !ruby/object:Gem::Requirement
102
+ requirement: !ruby/object:Gem::Requirement
111
103
  requirements:
112
104
  - - '>='
113
105
  - !ruby/object:Gem::Version
114
106
  version: '0'
107
+ prerelease: false
108
+ type: :development
115
109
  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
116
110
  email: info@elastic.co
117
111
  executables: []
@@ -150,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
144
  version: '0'
151
145
  requirements: []
152
146
  rubyforge_project:
153
- rubygems_version: 2.4.5
147
+ rubygems_version: 2.4.8
154
148
  signing_key:
155
149
  specification_version: 4
156
150
  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