`

H2内存数据库死锁

 
阅读更多

最近H2内存数据库在用户访问量增加的时候总是出现死锁的问题

 

用jstack 查看信息如下:

 


"pool-1-thread-13" prio=10 tid=0x00007fbb10012000 nid=0x3ba2 waiting for monitor entry [0x00007fbb49153000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.h2.engine.Engine.openSession(Engine.java:157)
        - waiting to lock <0x00007fbbde7a2290> (a org.h2.engine.Engine)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
        at org.h2.engine.Engine.createSession(Engine.java:125)
        at org.h2.engine.Engine.createSession(Engine.java:27)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:74)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at cn.shopex.service.crm.MemberSelectUtil.getH2Connection(Unknown Source)
        at cn.shopex.service.crm.MemberSelectUtil.findMemberIdsByCustomGroup(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrap810008(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrapResult(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.handle(Unknown Source)
        at cn.shopex.service.ServiceHandle.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"pool-1-thread-12" prio=10 tid=0x00007fbb10011000 nid=0x3ba1 waiting for monitor entry [0x00007fbb49254000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.h2.engine.Engine.openSession(Engine.java:157)
        - waiting to lock <0x00007fbbde7a2290> (a org.h2.engine.Engine)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
        at org.h2.engine.Engine.createSession(Engine.java:125)
        at org.h2.engine.Engine.createSession(Engine.java:27)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:74)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at cn.shopex.service.crm.MemberSelectUtil.getH2Connection(Unknown Source)
        at cn.shopex.service.crm.MemberSelectUtil.findMemberIdsByCustomGroup(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrap810008(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrapResult(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.handle(Unknown Source)
        at cn.shopex.service.ServiceHandle.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"pool-1-thread-11" prio=10 tid=0x00007fbb10010000 nid=0x3ba0 waiting for monitor entry [0x00007fbb499fe000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.h2.engine.Engine.openSession(Engine.java:157)
        - waiting to lock <0x00007fbbde7a2290> (a org.h2.engine.Engine)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
        at org.h2.engine.Engine.createSession(Engine.java:125)
        at org.h2.engine.Engine.createSession(Engine.java:27)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:74)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at cn.shopex.service.ServiceHandle.getH2Connection(Unknown Source)
        at cn.shopex.service.crm.ReportStatistics.wrap800006(Unknown Source)
        at cn.shopex.service.crm.ReportStatistics.wrapResult(Unknown Source)
        at cn.shopex.service.crm.ReportStatistics.handle(Unknown Source)
        at cn.shopex.service.ServiceHandle.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"pool-1-thread-10" prio=10 tid=0x00007fbb10022000 nid=0x3b9f waiting for monitor entry [0x00007fbb49e01000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.h2.engine.Engine.openSession(Engine.java:157)
        - waiting to lock <0x00007fbbde7a2290> (a org.h2.engine.Engine)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
        at org.h2.engine.Engine.createSession(Engine.java:125)
        at org.h2.engine.Engine.createSession(Engine.java:27)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:74)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at cn.shopex.service.crm.MemberSelectUtil.getH2Connection(Unknown Source)
        at cn.shopex.service.crm.MemberSelectUtil.findMemberIdsByCustomGroup(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrap810008(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrapResult(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.handle(Unknown Source)
        at cn.shopex.service.ServiceHandle.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"pool-1-thread-9" prio=10 tid=0x00007fbb10021000 nid=0x3b9b waiting for monitor entry [0x00007fbb49d00000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.h2.engine.Engine.openSession(Engine.java:157)
        - waiting to lock <0x00007fbbde7a2290> (a org.h2.engine.Engine)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
        at org.h2.engine.Engine.createSession(Engine.java:125)
        at org.h2.engine.Engine.createSession(Engine.java:27)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:74)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at cn.shopex.service.crm.MemberSelectUtil.getH2Connection(Unknown Source)
        at cn.shopex.service.crm.MemberSelectUtil.findMemberIdsByCustomGroup(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrap810008(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrapResult(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.handle(Unknown Source)
        at cn.shopex.service.ServiceHandle.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"pool-1-thread-8" prio=10 tid=0x00007fbb10020000 nid=0x3b92 waiting for monitor entry [0x00007fbb4a003000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.h2.engine.Engine.openSession(Engine.java:157)
        - waiting to lock <0x00007fbbde7a2290> (a org.h2.engine.Engine)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
        at org.h2.engine.Engine.createSession(Engine.java:125)
        at org.h2.engine.Engine.createSession(Engine.java:27)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:74)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at cn.shopex.service.crm.MemberSelectUtil.getH2Connection(Unknown Source)
        at cn.shopex.service.crm.MemberSelectUtil.findMemberIdsByCustomGroup(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrap810008(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrapResult(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.handle(Unknown Source)
        at cn.shopex.service.ServiceHandle.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"pool-1-thread-7" prio=10 tid=0x00007fbb1000f800 nid=0x3b91 waiting for monitor entry [0x00007fbb49afe000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.h2.engine.Engine.openSession(Engine.java:157)
        - waiting to lock <0x00007fbbde7a2290> (a org.h2.engine.Engine)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
        at org.h2.engine.Engine.createSession(Engine.java:125)
        at org.h2.engine.Engine.createSession(Engine.java:27)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:74)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at cn.shopex.service.crm.MemberSelectUtil.getH2Connection(Unknown Source)
        at cn.shopex.service.crm.MemberSelectUtil.findMemberIdsByCustomGroup(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrap810008(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrapResult(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.handle(Unknown Source)
        at cn.shopex.service.ServiceHandle.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"pool-1-thread-6" prio=10 tid=0x00007fbb1000e800 nid=0x3b90 waiting for monitor entry [0x00007fbb49f02000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.h2.engine.Engine.openSession(Engine.java:157)
        - waiting to lock <0x00007fbbde7a2290> (a org.h2.engine.Engine)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
        at org.h2.engine.Engine.createSession(Engine.java:125)
        at org.h2.engine.Engine.createSession(Engine.java:27)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:74)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at cn.shopex.service.crm.MemberSelectUtil.getH2Connection(Unknown Source)
        at cn.shopex.service.crm.MemberSelectUtil.findMemberIdsByCustomGroup(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrap810008(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrapResult(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.handle(Unknown Source)
        at cn.shopex.service.ServiceHandle.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"pool-1-thread-5" prio=10 tid=0x00007fbb1000c000 nid=0x3b89 waiting for monitor entry [0x00007fbb49355000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.h2.engine.Engine.openSession(Engine.java:157)
        - waiting to lock <0x00007fbbde7a2290> (a org.h2.engine.Engine)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
        at org.h2.engine.Engine.createSession(Engine.java:125)
        at org.h2.engine.Engine.createSession(Engine.java:27)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:74)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at cn.shopex.service.ServiceHandle.getH2Connection(Unknown Source)
        at cn.shopex.service.crm.ReportStatistics.wrap800006(Unknown Source)
        at cn.shopex.service.crm.ReportStatistics.wrapResult(Unknown Source)
        at cn.shopex.service.crm.ReportStatistics.handle(Unknown Source)
        at cn.shopex.service.ServiceHandle.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"MySQL Statement Cancellation Timer" daemon prio=10 tid=0x00007fbae404e800 nid=0x3b88 in Object.wait() [0x00007fbb498fd000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00007fbbde5e0170> (a java.util.TaskQueue)
        at java.lang.Object.wait(Object.java:503)
        at java.util.TimerThread.mainLoop(Timer.java:526)
        - locked <0x00007fbbde5e0170> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:505)

"pool-1-thread-4" prio=10 tid=0x00007fbb1000a800 nid=0x3b85 waiting for monitor entry [0x00007fbb49c00000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.h2.engine.Engine.openSession(Engine.java:157)
        - waiting to lock <0x00007fbbde7a2290> (a org.h2.engine.Engine)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
        at org.h2.engine.Engine.createSession(Engine.java:125)
        at org.h2.engine.Engine.createSession(Engine.java:27)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:74)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at cn.shopex.service.crm.MemberSelectUtil.getH2Connection(Unknown Source)
        at cn.shopex.service.crm.MemberSelectUtil.findMemberIdsByCustomGroup(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrap810008(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrapResult(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.handle(Unknown Source)
        at cn.shopex.service.ServiceHandle.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"pool-1-thread-3" prio=10 tid=0x00007fbb10006800 nid=0x3b80 waiting for monitor entry [0x00007fbb4a104000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.h2.engine.Engine.openSession(Engine.java:157)
        - waiting to lock <0x00007fbbde7a2290> (a org.h2.engine.Engine)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
        at org.h2.engine.Engine.createSession(Engine.java:125)
        at org.h2.engine.Engine.createSession(Engine.java:27)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:74)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at cn.shopex.service.ServiceHandle.getH2Connection(Unknown Source)
        at cn.shopex.service.crm.ReportStatistics.wrap800006(Unknown Source)
        at cn.shopex.service.crm.ReportStatistics.wrapResult(Unknown Source)
        at cn.shopex.service.crm.ReportStatistics.handle(Unknown Source)
        at cn.shopex.service.ServiceHandle.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"pool-1-thread-2" prio=10 tid=0x00007fbb10005800 nid=0x3b7f waiting for monitor entry [0x00007fbb4a205000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.h2.engine.Engine.openSession(Engine.java:157)
        - waiting to lock <0x00007fbbde7a2290> (a org.h2.engine.Engine)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
        at org.h2.engine.Engine.createSession(Engine.java:125)
        at org.h2.engine.Engine.createSession(Engine.java:27)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:74)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at cn.shopex.service.ServiceHandle.getH2Connection(Unknown Source)
        at cn.shopex.service.crm.ReportStatistics.wrap800006(Unknown Source)
        at cn.shopex.service.crm.ReportStatistics.wrapResult(Unknown Source)
        at cn.shopex.service.crm.ReportStatistics.handle(Unknown Source)
        at cn.shopex.service.ServiceHandle.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"pool-1-thread-1" prio=10 tid=0x00007fbb10003800 nid=0x3b6b waiting for monitor entry [0x00007fbb4a407000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.h2.engine.Engine.openSession(Engine.java:157)
        - waiting to lock <0x00007fbbde7a2290> (a org.h2.engine.Engine)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
        at org.h2.engine.Engine.createSession(Engine.java:125)
        at org.h2.engine.Engine.createSession(Engine.java:27)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:74)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at cn.shopex.service.crm.MemberSelectUtil.getH2Connection(Unknown Source)
        at cn.shopex.service.crm.MemberSelectUtil.findMemberIdsByCustomGroup(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrap810008(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.wrapResult(Unknown Source)
        at cn.shopex.service.crm.ReportZoomStatistics.handle(Unknown Source)
        at cn.shopex.service.ServiceHandle.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"NioProcessor-2" prio=10 tid=0x00007fbae801b000 nid=0x3b5e runnable [0x00007fbb4a307000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
        at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:228)
        at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:81)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
        - locked <0x00007fbbde156f70> (a sun.nio.ch.Util$2)
        - locked <0x00007fbbde156f88> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00007fbbde164660> (a sun.nio.ch.EPollSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
        at org.apache.mina.transport.socket.nio.NioProcessor.select(NioProcessor.java:72)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1077)
        at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

"DestroyJavaVM" prio=10 tid=0x00007fce78008000 nid=0x3b3b waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"DBDailyLoaderTimer" prio=10 tid=0x00007fce78486800 nid=0x3b5b runnable [0x00007fbb4a508000]
   java.lang.Thread.State: RUNNABLE
        at org.h2.index.BaseIndex.compareRows(BaseIndex.java:250)
        at org.h2.index.TreeCursor.next(TreeCursor.java:53)
        at org.h2.index.MultiVersionIndex.removeIfExists(MultiVersionIndex.java:175)
        at org.h2.index.MultiVersionIndex.commit(MultiVersionIndex.java:219)
        - locked <0x00007fbcf01c8d38> (a org.h2.engine.Database)
        at org.h2.table.RegularTable.commit(RegularTable.java:161)
        at org.h2.engine.UndoLogRecord.commit(UndoLogRecord.java:255)
        at org.h2.engine.Session.commit(Session.java:511)
        - locked <0x00007fbcf01c8d38> (a org.h2.engine.Database)
        at org.h2.command.Command.stop(Command.java:152)
        at org.h2.command.Command.executeUpdate(Command.java:284)
        - locked <0x00007fbcf01c8d38> (a org.h2.engine.Database)
        at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:132)
        - locked <0x00007fc755461d20> (a org.h2.engine.Session)
        at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:117)
        at cn.shopex.service.crm.loader.DailyReloadMemberAnalysiss.calculateShopMemberAnalysis(Unknown Source)
        at cn.shopex.service.crm.loader.DailyReloadMemberAnalysiss.dailyReloadMemberAnalysiss(Unknown Source)
        at cn.shopex.service.MemoryCacheTimer$DBDailyLoader.run(Unknown Source)
        - locked <0x00007fc4b8bab120> (a java.lang.String)
        at java.util.TimerThread.mainLoop(Timer.java:555)
        at java.util.TimerThread.run(Timer.java:505)

"Timer-2" prio=10 tid=0x00007fce7847a800 nid=0x3b5a waiting for monitor entry [0x00007fbb4a60a000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at cn.shopex.service.MemoryCacheTimer$DBLoaderTask.run(Unknown Source)
        - waiting to lock <0x00007fc4b8bab120> (a java.lang.String)
        at java.util.TimerThread.mainLoop(Timer.java:555)
        at java.util.TimerThread.run(Timer.java:505)

"Timer-1" prio=10 tid=0x00007fce78479000 nid=0x3b59 in Object.wait() [0x00007fbb4a70b000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00007fbbde673078> (a java.util.TaskQueue)
        at java.util.TimerThread.mainLoop(Timer.java:552)
        - locked <0x00007fbbde673078> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:505)

"Timer-0" prio=10 tid=0x00007fce78477800 nid=0x3b58 in Object.wait() [0x00007fbb4a80c000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00007fbbde673098> (a java.util.TaskQueue)
        at java.util.TimerThread.mainLoop(Timer.java:552)
        - locked <0x00007fbbde673098> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:505)

"H2 Console Server (http://192.168.24.53:8082)" prio=10 tid=0x00007fce78473000 nid=0x3b57 runnable [0x00007fbb4a90d000]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
        at java.net.ServerSocket.implAccept(ServerSocket.java:522)
        at java.net.ServerSocket.accept(ServerSocket.java:490)
        at org.h2.server.web.WebServer.listen(WebServer.java:364)
        at org.h2.tools.Server.run(Server.java:570)
        at java.lang.Thread.run(Thread.java:722)

"T_Main" prio=10 tid=0x00007fce7840b800 nid=0x3b56 waiting on condition [0x00007fbb4aa0e000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at cn.shopex.service.StartGoL.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:722)

"T_routeClient" prio=10 tid=0x00007fce7840e000 nid=0x3b55 in Object.wait() [0x00007fbb4ab0f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00007fbbde5860b8> (a org.apache.mina.core.future.DefaultCloseFuture)
        at org.apache.mina.core.future.DefaultIoFuture.await0(DefaultIoFuture.java:192)
        - locked <0x00007fbbde5860b8> (a org.apache.mina.core.future.DefaultCloseFuture)
        at org.apache.mina.core.future.DefaultIoFuture.awaitUninterruptibly(DefaultIoFuture.java:133)
        at org.apache.mina.core.future.DefaultCloseFuture.awaitUninterruptibly(DefaultCloseFuture.java:56)
        at cn.shopex.service.RouteClient.startRouteSessionHandler(Unknown Source)
        at cn.shopex.service.RouteClient.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:722)

"T_MonitorQueue" prio=10 tid=0x00007fce783fe000 nid=0x3b54 waiting on condition [0x00007fbb4ac10000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at cn.shopex.service.queue.MonitorQueue.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:722)

"T_MTQueue" prio=10 tid=0x00007fce783fb000 nid=0x3b53 waiting on condition [0x00007fbb4ad11000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at cn.shopex.service.queue.MtQueue.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:722)

"T_MOQueue" prio=10 tid=0x00007fce783f9000 nid=0x3b52 waiting on condition [0x00007fbb4ae12000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at cn.shopex.service.queue.MoQueue.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:722)

"Service Thread" daemon prio=10 tid=0x00007fce781e6800 nid=0x3b4e runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=10 tid=0x00007fce781e4000 nid=0x3b4d waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=10 tid=0x00007fce781e2000 nid=0x3b4c waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x00007fce781df800 nid=0x3b4b runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Surrogate Locker Thread (Concurrent GC)" daemon prio=10 tid=0x00007fce781dd800 nid=0x3b4a waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x00007fce78191000 nid=0x3b49 in Object.wait() [0x00007fbb4bc40000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00007fbbde156fb8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
        - locked <0x00007fbbde156fb8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)

"Reference Handler" daemon prio=10 tid=0x00007fce7818e800 nid=0x3b48 in Object.wait() [0x00007fbb4bd41000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00007fbbd99c4578> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:503)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
        - locked <0x00007fbbd99c4578> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x00007fce78187000 nid=0x3b47 runnable

"Gang worker#0 (Parallel GC Threads)" prio=10 tid=0x00007fce78011000 nid=0x3b3c runnable

"Gang worker#1 (Parallel GC Threads)" prio=10 tid=0x00007fce78013000 nid=0x3b3d runnable

"Gang worker#2 (Parallel GC Threads)" prio=10 tid=0x00007fce78014800 nid=0x3b3e runnable

"Gang worker#3 (Parallel GC Threads)" prio=10 tid=0x00007fce78016800 nid=0x3b3f runnable

"Gang worker#4 (Parallel GC Threads)" prio=10 tid=0x00007fce78018800 nid=0x3b40 runnable

"Gang worker#5 (Parallel GC Threads)" prio=10 tid=0x00007fce7801a000 nid=0x3b41 runnable

"Gang worker#6 (Parallel GC Threads)" prio=10 tid=0x00007fce7801c000 nid=0x3b42 runnable

"Gang worker#7 (Parallel GC Threads)" prio=10 tid=0x00007fce7801e000 nid=0x3b43 runnable

"Concurrent Mark-Sweep GC Thread" prio=10 tid=0x00007fce78111800 nid=0x3b46 runnable
"Gang worker#0 (Parallel CMS Threads)" prio=10 tid=0x00007fce7810d800 nid=0x3b44 runnable

"Gang worker#1 (Parallel CMS Threads)" prio=10 tid=0x00007fce7810f000 nid=0x3b45 runnable

"VM Periodic Task Thread" prio=10 tid=0x00007fce781f2000 nid=0x3b4f waiting on condition

JNI global references: 175

分享到:
评论

相关推荐

    使用JAVA内存数据库h2database性能优化

    【使用JAVA内存数据库h2database性能优化】 在开发应用程序时,我们经常遇到性能瓶颈,特别是当涉及到大量的IO操作时。数据库访问是这类问题的主要来源,特别是在处理高并发、实时计算和海量数据监控的情况下。例如...

    sql数据库死锁查询工具

    在SQL数据库管理中,死锁和阻塞是常见的问题,特别是在多用户环境下,它们可能导致系统性能下降甚至数据丢失。理解并有效地处理这些问题至关重要。本文将深入探讨“sql数据库死锁查询工具”及其在解决数据库死锁和...

    查看数据库死锁信息

    在数据库管理中,死锁是一个常见的问题,尤其是在高并发的环境中。死锁指的是两个或多个事务在执行过程中,因争夺资源而造成的一种相互等待的现象,若无外力干涉它们将无法继续执行。本篇文章将详细讲解如何查看和...

    数据库死锁-解决死锁问题的三种办法

    数据库死锁是多用户共享资源环境下常见的问题,尤其在事务处理密集的应用场景中更为突出。死锁发生时,两个或更多的事务互相等待对方释放资源,从而导致所有事务都无法继续执行,形成僵局。针对这一问题,数据库管理...

    数据库死锁原理实验

    SQLServer数据库死锁介绍,以及使用独立的事务模拟死锁的产生。

    获取数据库死锁信息过程

    一个经典的获取SQLSERVEr数据库死锁及引起锁定的进程的存储过程。执行时,必须具有数据库超级管理员权限。

    分布式数据库死锁检测算法分析

    分布式课堂上分享讲的ppt,简要介绍了死锁检测的基本概念,以及分布式数据库几种常见的死锁检测算法。

    数据库死锁,导致其他更新操作无法进行

    数据库死锁,导致其他更新操作无法进行 此时需要查询出该死锁的进程,将其杀死

    关于Oracle数据库死锁问题的研究与讨论

    关于Oracle数据库死锁问题的研究与讨论

    较实用的ORACLE数据库死锁查杀

    ### ORACLE数据库死锁查杀方法详解 #### 一、引言 在Oracle数据库系统中,当两个或多个事务在等待对方释放资源时,就会出现死锁现象。死锁不仅会降低系统的整体性能,还可能导致某些重要事务长时间无法完成,严重...

    数据库 死锁的解决

    ### 数据库死锁解决方案详解 #### 一、死锁的本质及常见表现形式 在数据库管理领域,死锁问题一直是困扰开发者的重要难题之一。死锁的根本原因在于资源竞争,特别是当两个或多个进程试图以不同的顺序锁定同一组...

    数据库死锁监控.exe

    数据库死锁监控,自动刷新,右键杀死进程,查看存储历史执行时间等信息。

    数据库死锁判断SQL

    判断数据库死锁的SQL,可以检测出死锁的语句和进程

    查询SQL server数据库死锁存储过程

    ### SQL Server 数据库死锁查询存储过程解析 #### 标题与描述理解 标题与描述均指出本篇讨论的主题是“查询SQL Server数据库死锁存储过程”。这表明文章旨在介绍一个用于检测SQL Server环境中发生的死锁现象的...

    数据库死锁检测工具

    数据库死锁是数据库管理系统中常见的问题,特别是在并发环境中。死锁发生时,两个或多个事务在等待对方释放资源,导致所有事务都无法继续执行,系统陷入僵局。为了解决这个问题,"数据库死锁检测工具"应运而生,它...

    Oracle数据库死锁查询语句

    Oracle数据库死锁是数据库系统中常见的问题,它发生在两个或多个事务在执行过程中,因争夺资源而造成的一种相互等待的现象。当这种情况发生时,如果没有外力干预,这些事务都将无法继续执行,形成一种僵局。了解如何...

    数据库死锁分析.doc

    数据库死锁分析是数据库设计、开发和运行维护中非常重要的一个问题,需要严格遵守《数据库设计规范》,使用行锁和控制事务的执行时间,避免死锁的产生,并定期检查数据库日志,自动解开死锁,避免死锁对数据库的影响...

    MYSQL 数据库死锁

    MySQL数据库死锁是数据库系统中常见的问题,它发生在两个或多个事务在执行过程中,因争夺资源而造成的一种相互等待的现象,若无外力干涉它们将无法继续执行。了解和处理死锁是数据库管理员和开发人员必备的技能。...

    HIS系统SQL Server数据库死锁问题的分析与解决.pdf

    HIS系统SQL Server数据库死锁问题的分析与解决 SQL Server数据库是HIS系统中非常重要的一部分,负责存储和管理大量的医疗数据。然而,在实际应用中,SQL Server数据库可能会出现死锁问题,导致系统性能下降, thậm...

    C语言实现运行与UNIX平台的内存数据库

    内存数据库是一种将数据存储在内存中的数据库系统,它利用计算机内存高速存取的优势,提供快速的数据访问速度。在本项目中,“C语言实现运行于UNIX平台的内存数据库”是一个专为Unix操作系统设计的轻量级数据库系统...

Global site tag (gtag.js) - Google Analytics