# Error when passing date to data filter

**URL:** https://discuss.elastic.co/t/error-when-passing-date-to-data-filter/72595
**Category:** Logstash
**Created:** [January 24, 2017, 9:12am UTC](https://discuss.elastic.co/t/error-when-passing-date-to-data-filter/72595 "2017-01-24T09:12:38Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![elasticheart](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/elasticheart/32/65189_2.png) [@elasticheart](https://discuss.elastic.co/u/elasticheart)
#### Post date: [January 24, 2017, 9:12am UTC](https://discuss.elastic.co/t/error-when-passing-date-to-data-filter/72595/1 "2017-01-24T09:12:38Z")

</div>

Hi,

I am fetching rows from db using logstash jdbc input plugin. I have time entry `processingtime` in my db like;

```
03-01-17 03:32:50.006000000 PM

```

and in Logstash, I am using;

```
date {
	match => ["processingtime", "dd-MM-yy HH:mm:ss.SSS"]
	timezone => "UTC"
	target => "@timestamp"
}	

```

But, I am getting the error like;

```
[2017-01-24T14:36:58,576][WARN][logstash.filters.date] Failed parsing date from field {:field=>"processingtime", :value=>2017-01-05T23:08:48.292Z, :exception=>"cannot convert instance of class org.logstash.ext.JrubyTimestampExtLibrary$RubyTimestamp to class java.lang.String", :config_parsers=>"dd-MM-yy HH:mm:ss.SSS aa", :config_locale=>"default=en_US"}

```

How can I fix this? Thanks.

---

<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: [January 24, 2017, 9:13am UTC](https://discuss.elastic.co/t/error-when-passing-date-to-data-filter/72595/2 "2017-01-24T09:13:47Z")

</div>

> [@elasticcloud](#):
>
> 03-01-17 03:32:50.006000000 PM

Does not match

> [@elasticcloud](#):
>
> dd-MM-yy HH:mm:ss.SSS

You've got 6 extra 0's on the end you need to cater for.

---

<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: [January 24, 2017, 9:15am UTC](https://discuss.elastic.co/t/error-when-passing-date-to-data-filter/72595/3 "2017-01-24T09:15:20Z")

</div>

> You've got 6 extra 0's on the end you need to cater for.

...and AM/PM.

---

<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: [January 24, 2017, 9:16am UTC](https://discuss.elastic.co/t/error-when-passing-date-to-data-filter/72595/4 "2017-01-24T09:16:21Z")

</div>

It's always AM/PM somewhere 😉

---

<div class="post-metadata">

### Author: ![elasticheart](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/elasticheart/32/65189_2.png) [@elasticheart](https://discuss.elastic.co/u/elasticheart)
#### Post date: [January 24, 2017, 9:51am UTC](https://discuss.elastic.co/t/error-when-passing-date-to-data-filter/72595/5 "2017-01-24T09:51:06Z")

</div>

Hi @warkolm @magnusbaeck  
I tried;

```
match => ["processingtime", "dd-MM-yy HH:mm:ss.SSSSSSSSS AM/PM"]

```

got error

```
[2017-01-24T15:26:07,208][ERROR][logstash.agent] Pipeline aborted due to error {:exception=>#<LogStash::ConfigurationError: translation missing: en.logstash.agent.configuration.invalid_plugin_register>, :backtrace=>["/data/setup/GA5/logstash-5.0.0/vendor/bundle/jruby/1.9/gems/logstash-filter-date-3.0.3/lib/logstash/filters/date.rb:297:in `setupMatcher'", "org/jruby/RubyArray.java:1613:in `each'", "/data/setup/GA5/logstash-5.0.0/vendor/bundle/jruby/1.9/gems/logstash-filter-date-3.0.3/lib/logstash/filters/date.rb:224:in `setupMatcher'", "/data/setup/GA5/logstash-5.0.0/vendor/bundle/jruby/1.9/gems/logstash-filter-date-3.0.3/lib/logstash/filters/date.rb:188:in `register'", "/data/setup/GA5/logstash-5.0.0/logstash-core/lib/logstash/pipeline.rb:197:in `start_workers'", "org/jruby/RubyArray.java:1613:in `each'", "/data/setup/GA5/logstash-5.0.0/logstash-core/lib/logstash/pipeline.rb:197:in `start_workers'", "/data/setup/GA5/logstash-5.0.0/logstash-core/lib/logstash/pipeline.rb:153:in `run'", "/data/setup/GA5/logstash-5.0.0/logstash-core/lib/logstash/agent.rb:250:in `start_pipeline'"]}
```

---

<div class="post-metadata">

### Author: ![elasticheart](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/elasticheart/32/65189_2.png) [@elasticheart](https://discuss.elastic.co/u/elasticheart)
#### Post date: [January 24, 2017, 9:58am UTC](https://discuss.elastic.co/t/error-when-passing-date-to-data-filter/72595/6 "2017-01-24T09:58:27Z")

</div>

Also, when I check the JSON (i have removed grok and inserted to elasticsearch), the time pattern is like `2017-01-03T07:40:26.188Z`

---

<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: [January 24, 2017, 10:04am UTC](https://discuss.elastic.co/t/error-when-passing-date-to-data-filter/72595/7 "2017-01-24T10:04:08Z")

</div>

> ```
> match => ["txentrytime", "dd-MM-yy HH:mm:ss.SSSSSSSSS AM/PM"]
> 
> ```

No, don't literally put `AM/PM` there. Use the date pattern token for matching AM/PM, `a`. Then you should also use `hh` instead of `HH`. See [DateTimeFormat (Joda time 2.2 API)](http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html).

---

<div class="post-metadata">

### Author: ![elasticheart](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/elasticheart/32/65189_2.png) [@elasticheart](https://discuss.elastic.co/u/elasticheart)
#### Post date: [January 24, 2017, 10:10am UTC](https://discuss.elastic.co/t/error-when-passing-date-to-data-filter/72595/8 "2017-01-24T10:10:12Z")

</div>

Hi,

I tried;

```
match => ["processingtime", "dd-MM-yy hh:mm:ss.SSSSSSSSS aa"]

```

got error

```
[2017-01-24T15:39:42,487][WARN][logstash.filters.date] Failed parsing date from field {:field=>"processingtime", :value=>2017-01-03T04:19:34.934Z, :exception=>"cannot convert instance of class org.logstash.ext.JrubyTimestampExtLibrary$RubyTimestamp to class java.lang.String", :config_parsers=>"dd-MM-yy hh:mm:ss.SSSSSSSSS aa", :config_locale=>"default=en_US"}
```

---

<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: [January 24, 2017, 10:12am UTC](https://discuss.elastic.co/t/error-when-passing-date-to-data-filter/72595/9 "2017-01-24T10:12:06Z")

</div>

Oh. Where does the timestamp come from, a jdbc input? If so, perhaps you can convert the timestamp to a string in the query? Otherwise I think the only option is to use a ruby filter to convert the timestamp to a string that the date filter can process.

---

<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: [February 21, 2017, 10:12am UTC](https://discuss.elastic.co/t/error-when-passing-date-to-data-filter/72595/10 "2017-02-21T10:12:06Z")

</div>

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