Hi all, sorry for reopen such an old thread... but this is also happening
to me working with last release 1.4.193.
The MVStore background thread seems to eat a lot of cpu with no operation
being performed. Setting the WRITE_DELAY as a connection parameter does the
trick.
Thanks for your help.
------------------------------
------------------------------------------------------ THREAD DUMP ---
2016-12-21 12:18:20
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.102-b14 mixed mode):
"MVStore background writer nio:/opt/H2/DATA/Database.mv.db" #77 daemon
prio=5 os_prio=0 tid=0x00007fef38038800 nid=0x544e in Object.wait()
[0x00007fef616e5000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.h2.mvstore.MVStore$BackgroundWriterThread.run(MVStore.java:2689)
- locked <0x00000000c0166560> (a java.lang.Object)
Locked ownable synchronizers:
- None
"H2 TCP Server (tcp://127.0.1.1:9092) thread" #75 prio=5 os_prio=0
tid=0x00007fef3c00f800 nid=0x544c runnable [0x00007fef7020e000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:170)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
- locked <0x00000000c016e6d8> (a java.io.BufferedInputStream)
at java.io.DataInputStream.readInt(DataInputStream.java:387)
at org.h2.value.Transfer.readInt(Transfer.java:153)
at org.h2.server.TcpServerThread.process(TcpServerThread.java:256)
at org.h2.server.TcpServerThread.run(TcpServerThread.java:158)
at java.lang.Thread.run(Thread.java:745)
Locked ownable synchronizers:
- None
"Attach Listener" #70 daemon prio=9 os_prio=0 tid=0x00007fef58001000
nid=0x53f3 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"DestroyJavaVM" #17 prio=5 os_prio=0 tid=0x00007fef80009800 nid=0x535d
waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"H2 Console Server (http://127.0.1.1:8082)" #13 prio=5 os_prio=0
tid=0x00007fef80296800 nid=0x536c runnable [0x00007fef705e1000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
at java.net.ServerSocket.implAccept(ServerSocket.java:545)
at java.net.ServerSocket.accept(ServerSocket.java:513)
at org.h2.server.web.WebServer.listen(WebServer.java:352)
at org.h2.tools.Server.run(Server.java:578)
at java.lang.Thread.run(Thread.java:745)
Locked ownable synchronizers:
- None
"H2 PG Server (pg://127.0.1.1:5435)" #10 prio=5 os_prio=0
tid=0x00007fef80289000 nid=0x5369 runnable [0x00007fef707e3000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
at java.net.ServerSocket.implAccept(ServerSocket.java:545)
at java.net.ServerSocket.accept(ServerSocket.java:513)
at org.h2.server.pg.PgServer.listen(PgServer.java:196)
at org.h2.tools.Server.run(Server.java:578)
at java.lang.Thread.run(Thread.java:745)
Locked ownable synchronizers:
- None
"H2 TCP Server (tcp://127.0.1.1:9092)" #9 prio=5 os_prio=0
tid=0x00007fef80285000 nid=0x5368 runnable [0x00007fef708e4000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
at java.net.ServerSocket.implAccept(ServerSocket.java:545)
at java.net.ServerSocket.accept(ServerSocket.java:513)
at org.h2.server.TcpServer.listen(TcpServer.java:250)
at org.h2.tools.Server.run(Server.java:578)
at java.lang.Thread.run(Thread.java:745)
Locked ownable synchronizers:
- None
"Service Thread" #7 daemon prio=9 os_prio=0 tid=0x00007fef800cc000
nid=0x5366 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C1 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007fef800b7000
nid=0x5365 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007fef800b4800
nid=0x5364 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007fef800b3000
nid=0x5363 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007fef8007f800 nid=0x5362 in
Object.wait() [0x00007fef847e4000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x00000000c0002d50> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
Locked ownable synchronizers:
- None
"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007fef8007b000
nid=0x5361 in Object.wait() [0x00007fef848e5000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
- locked <0x00000000c0002d90> (a java.lang.ref.Reference$Lock)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
Locked ownable synchronizers:
- None
"VM Thread" os_prio=0 tid=0x00007fef80073800 nid=0x5360 runnable
"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007fef8001f000 nid=0x535e
runnable
"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007fef80020800 nid=0x535f
runnable
"VM Periodic Task Thread" os_prio=0 tid=0x00007fef800cf000 nid=0x5367
waiting on condition
JNI global references: 300
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.