Skip to content

Using create_unless_exists triggers an infinite loop #78

Closed
@pickypg

Description

@pickypg

Nothing appears in Elasticsearch while this is running. The index does not already exist there either, nor is there any associated template for it. Running Logstash 1.5RC2.

While trying to debug a different issue, I changed the action to create_unless_exists (json.conf):

input {
  stdin {
    codec => json { }
  }
}

output {
  elasticsearch {
    action => "create_unless_exists"
    host => ["localhost"]
    index => "test-%{+YYYY.MM.dd}"
    protocol => "http"
  }
}

Input (file.json):

{"_id":"ab66c2e6-e641-457c-aa49-7ad87ba680eb","other":"value"}

Running it:

cat file.json | bin/logstash -f json.conf

This endlessly spews the resulting output and CTRL+C can't even get out of it.

Got error to send bulk of actions to elasticsearch server at localhost : [400] {"error":"ActionRequestValidationException[Validation Failed: 1: no requests added;]","status":400} {:level=>:error}
Failed to flush outgoing items {:outgoing_count=>1, :exception=>#<Elasticsearch::Transport::Transport::Errors::BadRequest: [400] {"error":"ActionRequestValidationException[Validation Failed: 1: no requests added;]","status":400}>, :backtrace=>["/Users/pickypg/Downloads/logstash-1.5.0.rc2/vendor/bundle/jruby/1.9/gems/elasticsearch-transport-1.0.7/lib/elasticsearch/transport/transport/base.rb:132:in `__raise_transport_error'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/vendor/bundle/jruby/1.9/gems/elasticsearch-transport-1.0.7/lib/elasticsearch/transport/transport/base.rb:224:in `perform_request'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/vendor/bundle/jruby/1.9/gems/elasticsearch-transport-1.0.7/lib/elasticsearch/transport/transport/http/manticore.rb:33:in `perform_request'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/vendor/bundle/jruby/1.9/gems/elasticsearch-transport-1.0.7/lib/elasticsearch/transport/client.rb:115:in `perform_request'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/vendor/bundle/jruby/1.9/gems/elasticsearch-api-1.0.7/lib/elasticsearch/api/actions/bulk.rb:80:in `bulk'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-0.1.18-java/lib/logstash/outputs/elasticsearch/protocol.rb:82:in `bulk'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-0.1.18-java/lib/logstash/outputs/elasticsearch.rb:413:in `submit'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-0.1.18-java/lib/logstash/outputs/elasticsearch.rb:412:in `submit'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-0.1.18-java/lib/logstash/outputs/elasticsearch.rb:438:in `flush'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-0.1.18-java/lib/logstash/outputs/elasticsearch.rb:436:in `flush'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/vendor/bundle/jruby/1.9/gems/stud-0.0.19/lib/stud/buffer.rb:219:in `buffer_flush'", "org/jruby/RubyHash.java:1341:in `each'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/vendor/bundle/jruby/1.9/gems/stud-0.0.19/lib/stud/buffer.rb:216:in `buffer_flush'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-0.1.18-java/lib/logstash/outputs/elasticsearch.rb:472:in `teardown'", "org/jruby/RubyArray.java:1613:in `each'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/lib/logstash/pipeline.rb:239:in `outputworker'", "org/jruby/RubyArray.java:1613:in `each'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/lib/logstash/pipeline.rb:238:in `outputworker'", "/Users/pickypg/Downloads/logstash-1.5.0.rc2/lib/logstash/pipeline.rb:163:in `start_outputs'"], :level=>:warn}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions