View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006875 | SymmetricDS Pro | Improvement | public | 2025-05-08 19:48 | 2025-07-23 18:34 |
Reporter | kdelorey | Assigned To | |||
Priority | normal | ||||
Status | confirmed | Resolution | open | ||
Product Version | 3.15.0 | ||||
Target Version | 3.17.0 | ||||
Summary | 0006875: Improve MonitorService (Job) to support the HikariCP connection pool | ||||
Description | Improve 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 Information | FROM: 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) [?:?] | ||||
Tags | performance | ||||
|
Curious - how to reproduce / test this ? |
|
What is the target DB engine type(s)? |
|
Using the JNDI option with the Hikari wrapper on Postgres -- so you should be able to reproduce this the same way by using Hikari on JNDI. |
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 | |
2025-07-09 17:49 | pmarzullo | Status | feedback => confirmed |
2025-07-09 17:49 | pmarzullo | Target Version | => 3.17.0 |
2025-07-22 13:17 | kdelorey | Note Added: 0003262 |