C3P0错误:java.sql.SQLException: Connection is invalid

本文记录了一个关于C3P0连接池出现死锁的问题及详细错误日志。作者最终采用Proxool连接池替代C3P0,并成功解决了死锁问题,确保了系统的稳定运行。

2010-02-20 11:01:16,093 WARN [com.mchange.v2.async.ThreadPoolAsynchronousRunner] - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@16a3360 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
2010-02-20 11:01:16,109 WARN [com.mchange.v2.async.ThreadPoolAsynchronousRunner] - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@16a3360 -- APPARENT DEADLOCK!!! Complete Status: [num_managed_threads: 3, num_active: 3; activeTasks: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1ff9150 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0), com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@19d4e7a (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2), com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@8b3bcd (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1); pendingTasks: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1031837, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@2ad5dc, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@3e9705, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@12ce92f, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1814de3, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@20a20a, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6e69ac, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@dbb0f7, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@13f4444, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@9ad534, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1237243, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@22c094, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1917330, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@2195be, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@ee0080, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@163084b, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@b57dde, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@15aa023, com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask@c7838f, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@8e2bf1, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1e6f732, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6f0c2f, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@89152c, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1cd17ac, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1cd4f5d, com.mchange.v2.resourcepool.BasicResourcePool$5@1593ce, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@9ac9d6, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@393641, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@18eaa5, com.mchange.v2.resourcepool.BasicResourcePool$6@1d51055, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1233d63, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@93551e, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@b96163, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@a8ccce, com.mchange.v2.resourcepool.BasicResourcePool$6@1df507, com.mchange.v2.resourcepool.BasicResourcePool$6@c1d919, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@93feda, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@409fa2, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@b08362, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@81abcc, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1360d86, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1b1fbe9, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@11af14, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@fd5978, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@fce31f, com.mchange.v2.resourcepool.BasicResourcePool$6@a34126, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@a347a, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1fb470b, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1f54a25, com.mchange.v2.resourcepool.BasicResourcePool$6@d6f354, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@11975, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@2e808a, com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask@f8f173, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1b3e7c8, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@361f38, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@13ba921, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1dccbb3]
2010-02-20 11:02:04,781 WARN [com.mchange.v2.resourcepool.BasicResourcePool] - BasicResourcePool: An idle resource is broken and will be purged.
java.sql.SQLException: Connection is invalid
 at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1.testPooledConnection(C3P0PooledConnectionPool.java:196)
 at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1.refurbishIdleResource(C3P0PooledConnectionPool.java:136)
 at com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.run(BasicResourcePool.java:1394)
 at com.mchange.v2.async.ThreadPerTaskAsynchronousRunner$TaskThread.run(ThreadPerTaskAsynchronousRunner.java:255)

 

C3P0的这个问题一直没有解决,我最后使用了proxool,完美解决了此问题,所以在此推荐大家使用proxool,稳定运行3个月了,没有出现问题

[2025-09-15 18:16:52.155] [INFO] [pool-3-thread-43] [i.t.t.executor.subjob.conf.SubJobConfFactory] >>> [tdt] msg=start generate sub job reader configuration.... [2025-09-15 18:16:52.181] [INFO] [pool-3-thread-43] [i.t.t.executor.subjob.conf.SubJobConfFactory] >>> [tdt] msg=generate sub job reader configuration success [2025-09-15 18:16:52.196] [INFO] [pool-3-thread-43] [i.t.t.executor.subjob.conf.SubJobConfFactory] >>> [tdt] msg=start generate sub job transformer configuration.... [2025-09-15 18:16:52.233] [INFO] [pool-3-thread-43] [i.t.t.executor.subjob.conf.SubJobConfFactory] >>> [tdt] msg=generate sub job transformer configuration success [2025-09-15 18:16:52.257] [INFO] [pool-3-thread-43] [i.t.t.executor.subjob.conf.SubJobConfFactory] >>> [tdt] msg=start generate sub job writer configuration.... [2025-09-15 18:16:52.320] [INFO] [pool-3-thread-43] [i.transwarp.transporter.executor.cache.DriverCache] >>> [tdt] msg=Local drive directory: /usr/lib/tdt/connector/driver/mysql/mysql-5.7 [2025-09-15 18:16:52.364] [INFO] [pool-3-thread-43] [i.transwarp.transporter.executor.cache.DriverCache] >>> [tdt] msg=Check drive filemysql-connector-java-5.1.41.jar whether it exists on hdfs:b020fa9122424dd8b0ded27d0d5fb462 [2025-09-15 18:16:52.408] [INFO] [pool-3-thread-43] [i.transwarp.transporter.executor.cache.DriverCache] >>> [tdt] msg=Driver file already exists, skip uploading. [2025-09-15 18:16:52.451] [INFO] [pool-3-thread-43] [i.t.t.executor.subjob.conf.SubJobConfFactory] >>> [tdt] msg=generate sub job writer configuration success [2025-09-15 18:16:53.279] [INFO] [pool-4-thread-81] [i.t.transporter.executor.subjob.SubJobContainer] >>> [tdt] msg=start run solution sub job, solution execId:d53979de-5376-435e-8f36-a4836fbe63fa sub job id:e0c3b464-2620-4f96-bdb3-263829f2700a sub job name: stg_idaas_t_org_user_a [2025-09-15 18:16:53.293] [INFO] [pool-4-thread-81] [i.t.transporter.executor.stage.reader.Reader] >>> [tdt] msg=Reader stage start..... [2025-09-15 18:16:53.304] [INFO] [pool-4-thread-81] [i.t.t.executor.stage.reader.quark.QuarkReader] >>> [tdt] msg=quark reader start..... [2025-09-15 18:16:53.423] [INFO] [pool-4-thread-81] [i.t.t.executor.stage.reader.quark.QuarkReader] >>> [tdt] msg=source Inceptor,create view:default.TDT_ROCK_VIEW_3dbc5e217a7e465b800c86dfdb9f556d: [2025-09-15 18:16:53.444] [INFO] [pool-4-thread-81] [i.t.transporter.executor.stage.StageFactory] >>> [tdt] msg=start recording temporary table{"id":42239,"uniqueId":"2c19eaf6-ff6c-4580-94fa-725830d82367","solExecUuid":"d53979de-5376-435e-8f36-a4836fbe63fa","engineUuid":"77940143f7b1478f937fe8a3c869a0c1","viewName":"TDT_ROCK_VIEW_3dbc5e217a7e465b800c86dfdb9f556d","isTable":false,"isFinished":false,"createTime":null} [2025-09-15 18:16:53.493] [INFO] [pool-4-thread-81] [io.transwarp.transporter.executor.util.HiveUtil] >>> [tdt] msg=set session name is tdt_e0c3b464-2620-4f96-bdb3-263829f2700a [2025-09-15 18:16:53.504] [INFO] [pool-4-thread-81] [io.transwarp.transporter.executor.util.HiveUtil] >>> [tdt] msg=Connection: [HikariProxyConnection@268577465 wrapping org.apache.hive.jdbc.HiveConnection@9581a7b] Execute sql: [ CREATE VIEW `default`.`TDT_ROCK_VIEW_3dbc5e217a7e465b800c86dfdb9f556d` ( `id`,`org_id`,`user_id`,`sort_num`,`job_type`,`employee_number`,`email`,`fax_phone`,`fixed_phone`,`serial_number` ) AS SELECT `id`, `org_id`, `user_id`, `sort_num`, `job_type`, `employee_number`, `email`, `fax_phone`, `fixed_phone`, `serial_number` FROM `default`.`stg_idaas_t_org_user_a` where 1 = 1 and ( dt='20250914' ) ] [2025-09-15 18:16:53.589] [ERROR] [pool-4-thread-81] [i.t.transporter.executor.subjob.SubJobContainer] >>> [tdt] msg=exec solution sub job error ,exec id d53979de-5376-435e-8f36-a4836fbe63fa, sub job id e0c3b464-2620-4f96-bdb3-263829f2700aerror is:errorCode=INCEPTOR_SQL_ERROR, arguments=[] io.transwarp.transporter.common.TransporterGlobalException: errorCode=INCEPTOR_SQL_ERROR, arguments=[] at io.transwarp.transporter.executor.stage.reader.quark.QuarkReader.doRead(QuarkReader.java:133) at io.transwarp.transporter.executor.stage.reader.Reader.run(Reader.java:20) at io.transwarp.transporter.executor.subjob.SubJobContainer.run(SubJobContainer.java:80) at io.transwarp.transporter.executor.subjob.SubJobRunner.lambda$start$0(SubJobRunner.java:103) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: io.transwarp.transporter.common.TransporterGlobalException: errorCode=INCEPTOR_SQL_ERROR, arguments=[Inceptor SQL Error: Connection: [HikariProxyConnection@268577465 wrapping org.apache.hive.jdbc.HiveConnection@9581a7b] Execute sql: [ CREATE VIEW `default`.`TDT_ROCK_VIEW_3dbc5e217a7e465b800c86dfdb9f556d` ( `id`,`org_id`,`user_id`,`sort_num`,`job_type`,`employee_number`,`email`,`fax_phone`,`fixed_phone`,`serial_number` ) AS SELECT `id`, `org_id`, `user_id`, `sort_num`, `job_type`, `employee_number`, `email`, `fax_phone`, `fixed_phone`, `serial_number` FROM `default`.`stg_idaas_t_org_user_a` where 1 = 1 and ( dt='20250914' ) ]] at io.transwarp.transporter.executor.util.HiveUtil.executeSQL(HiveUtil.java:70) at io.transwarp.transporter.executor.util.HiveUtil.executeSQL(HiveUtil.java:83) at io.transwarp.transporter.executor.stage.reader.quark.QuarkReader.doRead(QuarkReader.java:131) ... 9 common frames omitted Caused by: java.lang.RuntimeException: java.sql.SQLException: COMPILE FAILED: Semantic error: [Error 10004] Line 6:57 Invalid table alias or column reference: (possible column names are: id, org_id, user_id, sort_num, job_type, employee_number, email, fax_phone, fixed_phone, serial_number). Error encountered near token 'dt' at io.transwarp.transporter.common.utils.StatsUtils.execute(StatsUtils.java:21) at io.transwarp.transporter.executor.util.HiveUtil.executeSQL(HiveUtil.java:64) ... 11 common frames omitted Caused by: java.sql.SQLException: COMPILE FAILED: Semantic error: [Error 10004] Line 6:57 Invalid table alias or column reference: (possible column names are: id, org_id, user_id, sort_num, job_type, employee_number, email, fax_phone, fixed_phone, serial_number). Error encountered near token 'dt' at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:251) at org.apache.hive.jdbc.Utils.verifySuccessWithInfo(Utils.java:235) at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:546) at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:94) at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java) at io.transwarp.transporter.executor.util.HiveUtil.lambda$executeSQL$0(HiveUtil.java:64) at io.transwarp.transporter.common.utils.StatsUtils.execute(StatsUtils.java:16) ... 12 common frames omitted [2025-09-15 18:16:53.622] [INFO] [pool-4-thread-81] [io.transwarp.transporter.executor.util.HiveUtil] >>> [tdt] msg=Connection: [HikariProxyConnection@1457183506 wrapping org.apache.hive.jdbc.HiveConnection@9581a7b] execute sql: [ DROP VIEW IF EXISTS `default`.`TDT_ROCK_VIEW_3dbc5e217a7e465b800c86dfdb9f556d` ] [2025-09-15 18:16:53.680] [INFO] [pool-4-thread-81] [i.t.transporter.executor.stage.StageFactory] >>> [tdt] msg=Deleted record sheet{"dbName":"default","tableName":"TDT_ROCK_VIEW_3dbc5e217a7e465b800c86dfdb9f556d","isView":true,"engineUuid":"77940143f7b1478f937fe8a3c869a0c1"} [2025-09-15 18:16:53.689] [INFO] [pool-4-thread-81] [i.t.transporter.executor.subjob.SubJobContainer] >>> [tdt] msg=clean up staging view finished, sub job id is e0c3b464-2620-4f96-bdb3-263829f2700
最新发布
09-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值