# Exception when trying to use mutate to convert an integer to boolean

**URL:** https://discuss.elastic.co/t/exception-when-trying-to-use-mutate-to-convert-an-integer-to-boolean/105253
**Category:** Logstash
**Created:** [October 25, 2017, 1:36pm UTC](https://discuss.elastic.co/t/exception-when-trying-to-use-mutate-to-convert-an-integer-to-boolean/105253 "2017-10-25T13:36:20Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![jdmcalee](https://avatars.discourse-cdn.com/v4/letter/j/90ced4/32.png) [@jdmcalee](https://discuss.elastic.co/u/jdmcalee)
#### Post date: [October 25, 2017, 1:36pm UTC](https://discuss.elastic.co/t/exception-when-trying-to-use-mutate-to-convert-an-integer-to-boolean/105253/1 "2017-10-25T13:36:21Z")

</div>

First off, I am using 6.0.0-rc1 in docker. I'm using the jdbc input plugin to fetch some data out of mysql, and I need to convert an integer (tinyint in the schema) to boolean to suit my desired index type. The values in the database are always 0 or 1. My filter config is like so:

```
filter {
    mutate {
        convert => {
            "archived" => "boolean"
        }
    }
}

```

When I run logstash, I get the following error:

> [ERROR][logstash.pipeline] Exception in pipelineworker, the pipeline stopped processing new events, please check your filter configuration and restart Logstash. {:pipeline\_id=\>"novasub-ingest", "exception"=\>"undefined method `empty?' for 0:Fixnum", "backtrace"=>["/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-filter-mutate-3.1.6/lib/logstash/filters/mutate.rb:297:in `convert\_boolean'", "org/jruby/RubyMethod.java:115:in `call'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-filter-mutate-3.1.6/lib/logstash/filters/mutate.rb:271:in `block in convert'", "org/jruby/RubyHash.java:1343:in `each'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-filter-mutate-3.1.6/lib/logstash/filters/mutate.rb:257:in `convert'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-filter-mutate-3.1.6/lib/logstash/filters/mutate.rb:218:in `filter'", "/usr/share/logstash/logstash-core/lib/logstash/filters/base.rb:145:in `do\_filter'", "/usr/share/logstash/logstash-core/lib/logstash/filters/base.rb:164:in `block in multi_filter'", "org/jruby/RubyArray.java:1734:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/filters/base.rb:161:in `multi_filter'", "/usr/share/logstash/logstash-core/lib/logstash/filter_delegator.rb:48:in `multi\_filter'", "(eval):42:in `block in filter_func'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:504:in `block in filter\_batch'", "/usr/share/logstash/logstash-core/lib/logstash/util/wrapped\_synchronous\_queue.rb:228:in `block in each'", "org/jruby/RubyHash.java:1343:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/util/wrapped\_synchronous\_queue.rb:227:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:501:in `filter\_batch'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:477:in `worker_loop'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:439:in `block in start\_workers'"], :thread=\>"#\<Thread:0x5ed0a429@/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:290 sleep\>"}

If I change my query to return "true" or "false" for that column, it works fine. If I set it to statically return 0 or 1, I get the error as well. Is this a mistake on my part?

---

<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: [October 25, 2017, 2:08pm UTC](https://discuss.elastic.co/t/exception-when-trying-to-use-mutate-to-convert-an-integer-to-boolean/105253/2 "2017-10-25T14:08:40Z")

</div>

This is a bug.

> <https://github.com/logstash-plugins/logstash-filter-mutate/issues/73>

As a workaround you can first convert `archived` to a string and then do the bool conversion in another mutate filter.

---

<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: [November 22, 2017, 2:08pm UTC](https://discuss.elastic.co/t/exception-when-trying-to-use-mutate-to-convert-an-integer-to-boolean/105253/3 "2017-11-22T14:08:52Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
