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.

Reply via email to