Kylo quartz Error

348 views
Skip to first unread message

Deepak Mishra

unread,
Aug 30, 2018, 9:21:04 AM8/30/18
to Kylo Community
Hello Team,

I am using Kylo Cluster and getting below error with QuartzScheduler


2018-08-30 00:01:20 ERROR QuartzScheduler_schedulerFactoryBean-ukx10678.uk.fid-intl.com1535546450320_MisfireHandler:LocalDataSourceJobStore:3940 - MisfireHandler: Error handling misfires: Couldn't retrieve trigger: Cannot convert the column of type BYTEA to requested type long.

org.quartz.JobPersistenceException: Couldn't retrieve trigger: Cannot convert the column of type BYTEA to requested type long. [See nested exception: org.postgresql.util.PSQLException: Cannot convert the column of type BYTEA to requested type long.]

        at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveTrigger(JobStoreSupport.java:1533)

        at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:979)

        at org.quartz.impl.jdbcjobstore.JobStoreSupport.doRecoverMisfires(JobStoreSupport.java:3187)

        at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:3935)

        at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:3956)

Caused by: org.postgresql.util.PSQLException: Cannot convert the column of type BYTEA to requested type long.

        at org.postgresql.jdbc.PgResultSet.readLongValue(PgResultSet.java:3052)

        at org.postgresql.jdbc.PgResultSet.getLong(PgResultSet.java:2083)

        at org.postgresql.jdbc.PgResultSet.getBlob(PgResultSet.java:419)

        at org.postgresql.jdbc.PgResultSet.getBlob(PgResultSet.java:406)

        at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.getObjectFromBlob(StdJDBCDelegate.java:3190)

        at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectTrigger(StdJDBCDelegate.java:1780)

        at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveTrigger(JobStoreSupport.java:1531)

        ... 4 more

 

 

 I also would like to understand the use of QuartzScheduler in the cluster?


Thanks

Deepak Mishra


Gregory Hart

unread,
Aug 30, 2018, 1:45:41 PM8/30/18
to Kylo Community
Hi Deepak,

Kylo uses Quartz for checking SLAs. In a cluster, the database is used to ensure that SLAs are only checked once in the cluster instead of once on every node.

You can try modifying the quartz.properties file to fix this issue:
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate


Deepak Mishra

unread,
Aug 30, 2018, 2:46:27 PM8/30/18
to Kylo Community
Thanks Greg,

It fixed the issue.

If we plan to use MariaDB instead of postgres would I need to change this parameter again? and to what value?

Thanks
Deepak Mishra

Deepak Mishra

unread,
Aug 30, 2018, 3:08:11 PM8/30/18
to Kylo Community
After enabling the settings, it seems the issue is resolved but I get the below error now in the logs:

2018-08-30 19:08:38 WARN  http-nio-8420-exec-1:Errors:191 - The following warnings have been detected: WARNING: The (sub)resource method findJobs in com.thinkbiganalytics.jobrepo.rest.controller.JobsRestController contains empty path annotation.

WARNING: The (sub)resource method getAssessments in com.thinkbiganalytics.jobrepo.rest.controller.ServiceLevelAssessmentsController contains empty path annotation.

WARNING: The (sub)resource method getProperties in com.thinkbiganalytics.feedmgr.rest.controller.FeedMetadataPropertiesRestController contains empty path annotation.

Gregory Hart

unread,
Sep 4, 2018, 12:42:14 PM9/4/18
to Kylo Community
Hi Deepak,

Those are just warnings and can be ignored. They're unrelated to Quartz.

The default settings from /opt/kylo/setup/kylo-cluster/quartz-cluster-example.properties should work for MariaDB.

Reply all
Reply to author
Forward
0 new messages