# TypeError when setting tracking\_column\_type to "timestamp" and use\_column\_value to true

**URL:** <https://discuss.elastic.co/t/typeerror-when-setting-tracking-column-type-to-timestamp-and-use-column-value-to-true/132822>\
**Category:** Logstash\
**Created:** [May 22, 2018, 12:45pm UTC](https://discuss.elastic.co/t/typeerror-when-setting-tracking-column-type-to-timestamp-and-use-column-value-to-true/132822 "2018-05-22T12:45:01Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Garrick\_Hensberg](https://avatars.discourse-cdn.com/v4/letter/g/9e8a1a/32.png) [@Garrick\_Hensberg](https://discuss.elastic.co/u/Garrick_Hensberg)\
**Post date:** [May 22, 2018, 12:45pm UTC](https://discuss.elastic.co/t/typeerror-when-setting-tracking-column-type-to-timestamp-and-use-column-value-to-true/132822/1 "2018-05-22T12:45:01Z")

</div>

I am experiencing an issue when trying to use the _tracking\_column\_type="timestamp"_ and _use\_column\_value=true_ properties with the jdbc input plugin.

I keep getting the below error:  
{ 2012 rufus-scheduler intercepted an error:  
2012 job:  
2012 Rufus::Scheduler::CronJob "\* \* \* \* \*" {}  
2012 error:  
2012 2012  
2012 TypeError  
2012 can't dup NilClass  
2012 org/jruby/RubyKernel.java:1882:in `dup' 2012 uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/date/format.rb:838:in`\_parse'  
2012 uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/date.rb:1830:in `parse' 2012 /usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-jdbc-4.3.9/lib/logstash/plugin_mixins/value_tracking.rb:87:in`set\_value'  
2012 /usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-jdbc-4.3.9/lib/logstash/plugin\_mixins/jdbc.rb:237:in `execute_statement' 2012 /usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-jdbc-4.3.9/lib/logstash/inputs/jdbc.rb:264:in`execute\_query'  
2012 /usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-jdbc-4.3.9/lib/logstash/inputs/jdbc.rb:245:in `block in run' 2012 /usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:234:in`do\_call'  
2012 /usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:258:in `do_trigger' 2012 /usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:300:in`block in start\_work\_thread'  
2012 /usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:299:in `block in start_work_thread' 2012 org/jruby/RubyKernel.java:1292:in`loop'  
2012 /usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:289:in `block in start\_work\_thread'  
2012 tz:  
2012 ENV['TZ']:  
2012 Time.now: 2018-05-22 12:28:19 UTC  
2012 scheduler:  
2012 object\_id: 2008  
2012 opts:  
2012 {:max\_work\_threads=\>1}  
2012 frequency: 0.3  
2012 scheduler\_lock: #Rufus::Scheduler::NullLock:0x606c9a04  
2012 trigger\_lock: #Rufus::Scheduler::NullLock:0x4577720d  
2012 uptime: 122.325062 (2m2s325)  
2012 down?: false  
2012 threads: 2  
2012 thread: #Thread:0x2997006d  
2012 thread\_key: rufus\_scheduler\_2008  
2012 work\_threads: 1  
2012 active: 1  
2012 vacant: 0  
2012 max\_work\_threads: 1  
2012 mutexes: {}  
2012 jobs: 1  
2012 at\_jobs: 0  
2012 in\_jobs: 0  
2012 every\_jobs: 0  
2012 interval\_jobs: 0  
2012 cron\_jobs: 1  
2012 running\_jobs: 1  
2012 work\_queue: 0  
} 2012 .

My configuration is as follows:  
input {  
jdbc {  
jdbc\_connection\_string =\> "jdbc:mysql://localhost:3306/db"  
# The user we wish to execute our statement as  
jdbc\_user =\> "root"  
jdbc\_password =\> ""  
# The path to our downloaded jdbc driver  
jdbc\_driver\_library =\> "/usr/share/logstash/config/mysql-connector-java-8.0.11.jar"  
jdbc\_driver\_class =\> "com.mysql.jdbc.Driver"  
jdbc\_fetch\_size =\> "10000"  
schedule =\> "\* \* \* \* \*"  
# our query  
statement =\> "SELECT u.id, u.FirstName as first\_name, u.LastName as last\_name, TIMESTAMPDIFF(YEAR, up.DateOfBirth, CURDATE()) AS age, up.Gender, up.Ethnicity, up.Language, up.Religion, up.ProfileName as profile\_name, up.HasPhoto as has\_photo, up.AdminPhotoRating as admin\_rating, um.LastActivityAt as last\_activity\_date, um.LastLoginAt as last\_login\_date, l.Latitude, l.Longitude, l.Name AS location\_name, u.ModifiedAt FROM users u INNER JOIN userprofiles up ON u.id = up.UserId INNER JOIN usermetadata um ON um.UserId = u.Id INNER JOIN locations l ON up.LocationId = l.id WHERE u.ModifiedAt \> :sql\_last\_value ORDER BY u.ModifiedAt"  
use\_column\_value =\> true  
tracking\_column =\> "ModifiedAt"  
tracking\_column\_type =\> "timestamp"  
last\_run\_metadata\_path =\> "/usr/share/logstash/config/.logstash\_jdbc\_last\_run"  
}  
}  
output {  
stdout { codec =\> json\_lines }  
elasticsearch {  
hosts =\> ["localhost:9200"]  
index =\> "test-migrate"  
document\_type =\> "data"  
document\_id =\> "%{id}"  
user =\> "elastic"  
password =\> ""  
}  
}

I can verify that the data returned from the SQL statement, especially the _ModifiedAt_ column, does not contain any _null_ values.

If I change the jdbc _use\_column\_value_ property to false, then I get no errors, but this is not my desired result, as I need the value from the _ModifiedAt_ column.

Is there something obvious that I am missing here?

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![Garrick\_Hensberg](https://avatars.discourse-cdn.com/v4/letter/g/9e8a1a/32.png) [@Garrick\_Hensberg](https://discuss.elastic.co/u/Garrick_Hensberg)\
**Post date:** [May 31, 2018, 1:27pm UTC](https://discuss.elastic.co/t/typeerror-when-setting-tracking-column-type-to-timestamp-and-use-column-value-to-true/132822/2 "2018-05-31T13:27:16Z")

</div>

Seems that the tracking\_column value has to be all in lowercase.

---

<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:** [June 28, 2018, 1:38pm UTC](https://discuss.elastic.co/t/typeerror-when-setting-tracking-column-type-to-timestamp-and-use-column-value-to-true/132822/3 "2018-06-28T13:38:35Z")

</div>

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