Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 3.1.0
- Move to concurrency :single for safety. This may cause some slowdown in
client mode, but is the easiest upgrade path. Moving to :shared would be nice
at some point.

## 3.0.2
- Relax constraint on logstash-core-plugin-api to >= 1.60 <= 2.99

Expand Down
13 changes: 5 additions & 8 deletions lib/logstash/outputs/zeromq.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
# bound to tcp://127.0.0.1:2120
#
class LogStash::Outputs::ZeroMQ < LogStash::Outputs::Base
# This will be a performance bottleneck. Someone needs to upgrade this to
# concurrency :shared and make sure there is no breakage
concurrency :single

config_name "zeromq"

Expand Down Expand Up @@ -63,13 +66,7 @@ class LogStash::Outputs::ZeroMQ < LogStash::Outputs::Base
def register
load_zmq

if @mode == "server"
workers_not_supported("With 'mode => server', only one zeromq socket may bind to a port and may not be shared among threads. Going to single-worker mode for this plugin!")
end

connect

@codec.on_event(&method(:publish))
end # def register

public
Expand All @@ -81,8 +78,8 @@ def close
end
end # def close

def receive(event)
@codec.encode(event)
def multi_receive_encoded(events_and_encoded)
events_and_encoded.each {|event, encoded| self.publish(event,encoded)}
end

private
Expand Down
4 changes: 2 additions & 2 deletions logstash-output-zeromq.gemspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Gem::Specification.new do |s|

s.name = 'logstash-output-zeromq'
s.version = '3.0.2'
s.version = '3.1.0'
s.licenses = ['Apache License (2.0)']
s.summary = "Write events to a 0MQ socket."
s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
Expand All @@ -20,7 +20,7 @@ Gem::Specification.new do |s|
s.metadata = { "logstash_plugin" => "true", "logstash_group" => "output" }

# Gem dependencies
s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60.1", "< 2.99"

s.add_runtime_dependency 'logstash-codec-json'
s.add_runtime_dependency 'logstash-mixin-zeromq', '>= 2.0.0'
Expand Down