# Cabin::Channel#error(message, data={}) - second argument you gave me wasa Array, I require a Hash

**URL:** <https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306>\
**Category:** Logstash\
**Created:** [August 18, 2016, 4:07am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306 "2016-08-18T04:07:06Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![da\_Teng](https://avatars.discourse-cdn.com/v4/letter/d/a183cd/32.png) [@da\_Teng](https://discuss.elastic.co/u/da_Teng)\
**Post date:** [August 18, 2016, 4:07am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/1 "2016-08-18T04:07:06Z")

</div>

> {:timestamp=\>"2016-08-18T02:38:07.483000+0000", :message=\>"Encountered an unexpected error submitting a bulk request! Will retry.", :error\_message=\>"Cabin::Channel#error(message, data={}) - second argument you gave me wasa Array, I require a Hash.", :class=\>"ArgumentError", :backtrace=\>["/usr/share/logstash/vendor/bundle/jruby/1.9/gems/cabin-0.8.1/lib/cabin/mixins/logger.rb:72:in `error'", "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-4.1.3-java/lib/logstash/outputs/elasticsearch/common.rb:75:in `retrying\_submit'", "org/jruby/RubyArray.java:1613:in `each'", "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-4.1.3-java/lib/logstash/outputs/elasticsearch/common.rb:75:in `retrying\_submit'", "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-4.1.3-java/lib/logstash/outputs/elasticsearch/common.rb:23:in `multi_receive'", "org/jruby/RubyArray.java:1653:in `each\_slice'", "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-4.1.3-java/lib/logstash/outputs/elasticsearch/common.rb:22:in `multi_receive'", "/usr/share/logstash/logstash-core/lib/logstash/output_delegator.rb:136:in `threadsafe\_multi\_receive'", "/usr/share/logstash/logstash-core/lib/logstash/output\_delegator.rb:122:in `multi_receive'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:291:in `output\_batch'", "org/jruby/RubyHash.java:1342:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:291:in `output\_batch'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:242:in `worker_loop'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:215:in `start\_workers'"], :level=\>:error}

This is error report.

```
input {
    kafka {
        bootstrap_servers => "cstr-01:9092,cstr-02:9092,cstr-03:9092"
        group_id => "logstash"
        topics => ["online"]
        auto_offset_reset => latest
        consumer_threads => 3
       #queue_size => 50000
       #rebalance_max_retries => 4
    }

}
filter {
    json {
        source => "message"
    }
# geoip {
# source => "IP"
# }
    date {
        locale => "zh-cmn"
        match => ["TIMESTAMP", "UNIX"]
        timezone => "Asia/Shanghai"
    }
}
output {
    elasticsearch {
        hosts => ["10.144.179.79:9200"]
            index => "logstash-reporter-access-%{+YYYY.MM.dd}"
    }
# stdout { codec => rubydebug }
}

```

This is my configration.  
Anyone knows how to resolve this error?  
Best regard!

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [August 18, 2016, 6:52am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/2 "2016-08-18T06:52:45Z")

</div>

> [@da\_Teng](#):
>
> second argument you gave me wasa Array, I require a Hash

That's why.  
What version are you on? I can't see a `topics` in the docs [Kafka input plugin | Logstash Reference [8.11] | Elastic](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-kafka.html)

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [August 18, 2016, 6:59am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/3 "2016-08-18T06:59:33Z")

</div>

It seems the configuration for the Kafka input plugin has changed between Logstash 2.x and Logstash 5.0, and the config you have specified seems to be according to the [Logstash 5.0 specification](https://www.elastic.co/guide/en/logstash/5.0/plugins-inputs-kafka.html). Which version of Logstash are you using?

---

<div class="post-metadata">

**Author:** ![da\_Teng](https://avatars.discourse-cdn.com/v4/letter/d/a183cd/32.png) [@da\_Teng](https://discuss.elastic.co/u/da_Teng)\
**Post date:** [August 18, 2016, 7:18am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/4 "2016-08-18T07:18:29Z")

</div>

Hi,warkolm!  
I use logstash-5.0.0-alpha5.You can see this document and you will find `topics`  
[https://www.elastic.co/guide/en/logstash/5.0/plugins-inputs-kafka.html](https://www.elastic.co/guide/en/logstash/5.0/plugins-inputs-kafka.html)

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [August 18, 2016, 7:19am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/5 "2016-08-18T07:19:53Z")

</div>

What does the events look like? What does the mapping for the index look like?

---

<div class="post-metadata">

**Author:** ![da\_Teng](https://avatars.discourse-cdn.com/v4/letter/d/a183cd/32.png) [@da\_Teng](https://discuss.elastic.co/u/da_Teng)\
**Post date:** [August 18, 2016, 7:28am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/6 "2016-08-18T07:28:53Z")

</div>

Events is this?

> "{"IP":"61.51.69.50","TIMESTAMP":1471505136,"channel":"14396157402322596","code":"000","i":{"cdn\_avg\_duration":176,"cdn\_download\_bytes":71607,"cdn\_max\_duration":302,"current\_connections":1,"p2p\_avg\_duration":56307,"p2p\_download\_bytes":795705,"p2p\_download\_useful\_bytes":823142,"p2p\_max\_duration":77662,"played\_bytes":877844,"report\_interval\_time":31},"id":"96a1f1ab05734e4621748d376bd4532b","partner":"CDiHzB3wGEpRshwTtprO","sysinfo":"android\_phone","version":"2015122501"}"

And the mapping for the index is this ?

> logstash-\*

---

<div class="post-metadata">

**Author:** ![da\_Teng](https://avatars.discourse-cdn.com/v4/letter/d/a183cd/32.png) [@da\_Teng](https://discuss.elastic.co/u/da_Teng)\
**Post date:** [August 18, 2016, 7:33am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/7 "2016-08-18T07:33:55Z")

</div>

Hi Christian!  
Are you received notification?

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [August 18, 2016, 9:34am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/8 "2016-08-18T09:34:18Z")

</div>

I suspect this is a bug in the elasticsearch output. The second to last stackframe comes from

> <https://github.com/logstash-plugins/logstash-output-elasticsearch/blob/v4.1.3/lib/logstash/outputs/elasticsearch/common.rb#L75>

and that line should probably be

```
submit_actions.each {|action| @logger.error("Action", :action => action) }

```

instead.

---

<div class="post-metadata">

**Author:** ![da\_Teng](https://avatars.discourse-cdn.com/v4/letter/d/a183cd/32.png) [@da\_Teng](https://discuss.elastic.co/u/da_Teng)\
**Post date:** [August 18, 2016, 9:47am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/9 "2016-08-18T09:47:38Z")

</div>

I believe you should be right,but my another machine is good with the same common.rb file.

---

<div class="post-metadata">

**Author:** ![da\_Teng](https://avatars.discourse-cdn.com/v4/letter/d/a183cd/32.png) [@da\_Teng](https://discuss.elastic.co/u/da_Teng)\
**Post date:** [August 18, 2016, 9:59am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/10 "2016-08-18T09:59:22Z")

</div>

Hi magnusbaeck!  
You nearly right ,but get a new error with it.

> Action {:action=\>["index", {:\_id=\>nil, :\_index=\>"logstash-reporter-access-2016.08.17", :\_type=\>"logs", :\_routing=\>nil}, 2016-08-17T11:53:08.000Z %{host} {"IP":"111.122.240.73","TIMESTAMP":1471434788,"channel":"14396157402323411","code":"000","i":{"cdn\_avg\_duration":341,"cdn\_max\_duration":360,"current\_connections":61,"join":1,"join\_t":228777,"p2p\_avg\_duration":6379,"p2p\_max\_duration":11345,"report\_interval\_time":30},"id":"a0e71df3774f3662021af8392773ef7a","partner":"CDiHzB3wGEpRshwTtprO","sysinfo":"android\_phone","version":"2015122501"}], :level=\>:error}

Can you help me to resolve it:)

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [August 18, 2016, 11:10am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/11 "2016-08-18T11:10:43Z")

</div>

This log message just states that a particular action is being retried. _Why_ it's being retried (that is, why it failed the first time) is logged elsewhere.

---

<div class="post-metadata">

**Author:** ![da\_Teng](https://avatars.discourse-cdn.com/v4/letter/d/a183cd/32.png) [@da\_Teng](https://discuss.elastic.co/u/da_Teng)\
**Post date:** [August 18, 2016, 11:14am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/12 "2016-08-18T11:14:46Z")

</div>

Thanks for your help!

---

<div class="post-metadata">

**Author:** ![tcouto](https://avatars.discourse-cdn.com/v4/letter/t/9d8465/32.png) [@tcouto](https://discuss.elastic.co/u/tcouto)\
**Post date:** [March 14, 2017, 2:18pm UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/13 "2017-03-14T14:18:37Z")

</div>

Hi, @magnusbaeck. Is this a bug in the ElasticSearch output, and is fixed?

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 4:27am UTC](https://discuss.elastic.co/t/cabin-channel-error-message-data-second-argument-you-gave-me-wasa-array-i-require-a-hash/58306/14 "2017-07-06T04:27:53Z")

</div>


