View Issue Details

IDProjectCategoryView StatusLast Update
0006875SymmetricDS ProImprovementpublic2025-05-08 19:58
Reporterkdelorey Assigned To 
Prioritynormal 
Status feedbackResolutionopen 
Product Version3.15.0 
Summary0006875: Improve MonitorService (Job) to support the HikariCP connection pool
DescriptionImprove MonitorService (Job) to support the HikariCP connection pool.

Currently, an exception is thrown in the com.jumpmind.symmetric.console.service.impl.MonitorService (Job) while casing the com.zaxxer.hikari.HikariDataSource to org.apache.commons.dbcp2.BasicDataSource

See Additional Information section.
Steps To Reproduce ?
Additional InformationFROM: Kevin D.
We are using the db.jndi.name option to configure the symmetric datasource for the corp instance, and everything is working great.

However, the MonitorService (Job) seems to be making an assumption about the data source and doing a cast that is not valid. So its every few seconds or so throwing the following:
2025-05-07 22:35:16.423 [SymmetricDS-job-16] ERROR Exception while executing job 'Monitor' - org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:21
7)
java.lang.ClassCastException: class com.zaxxer.hikari.HikariDataSource cannot be cast to class org.apache.commons.dbcp2.BasicDataSource (com.zaxxer.hikari.Hik
ariDataSource and org.apache.commons.dbcp2.BasicDataSource are in unnamed module of loader 'app')
    at com.jumpmind.symmetric.console.impl.fw.a(InsightTypeConnectionPool.java:35) ~[symmetric-pro-3.15.15.jar:3.15.15]
    at com.jumpmind.symmetric.console.service.impl.MonitorService.updateMonitor(MonitorService.java:258) ~[symmetric-pro-3.15.15.jar:3.15.15]
    at com.jumpmind.symmetric.console.service.impl.MonitorService.update(MonitorService.java:183) ~[symmetric-pro-3.15.15.jar:3.15.15]
    at com.jumpmind.symmetric.console.impl.fn.doJob(MonitorJob.java:67) ~[symmetric-pro-3.15.15.jar:3.15.15]
    at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:202) [symmetric-client-3.15.15.jar:3.15.15]
    at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:268) [symmetric-client-3.15.15.jar:3.15.15]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-6.1.14.jar:6.1.14]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:?]
    at java.util.concurrent.FutureTask.runAndReset(Unknown Source) [?:?]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
    at java.lang.Thread.run(Unknown Source) [?:?]
Tagsperformance

Activities

pbelov

2025-05-08 19:53

manager   ~0002946

Curious - how to reproduce / test this ?

pbelov

2025-05-08 19:58

manager   ~0002947

What is the target DB engine type(s)?

Issue History

Date Modified Username Field Change
2025-05-08 19:48 pbelov New Issue
2025-05-08 19:53 pbelov Status new => feedback
2025-05-08 19:53 pbelov Additional Information Updated View Revisions
2025-05-08 19:53 pbelov Note Added: 0002946
2025-05-08 19:57 pbelov Tag Attached: performance
2025-05-08 19:58 pbelov Reporter pbelov => kdelorey
2025-05-08 19:58 pbelov Note Added: 0002947