Sorry, I do not see any deadlock there ((

Could you also create issue about this bug ?

On Tue, Feb 24, 2015 at 1:15 PM, Kareem Jabr <[email protected]> wrote:

> Full thread dump OpenJDK 64-Bit Server VM (24.65-b04 mixed mode):
>
> "OrientDB WAL Flush Task (sport)" daemon prio=10 tid=0x00007f3fa8246000
> nid=0x77f2 waiting on condition [0x00007f3feadea000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>    at sun.misc.Unsafe.park(Native Method)
>    - parking to wait for  <0x00000000ec997480> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>    at
> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
>    at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
>    at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)
>    at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
>    at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
>    at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
>    at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>    at java.lang.Thread.run(Thread.java:745)
>
> "OrientDB <- BinaryClient (/127.0.0.1:59789)" daemon prio=10
> tid=0x00007f3fb0006800 nid=0x20aa runnable [0x00007f3fea9e6000]
>    java.lang.Thread.State: RUNNABLE
>    at java.net.SocketInputStream.socketRead0(Native Method)
>    at java.net.SocketInputStream.read(SocketInputStream.java:152)
>    at java.net.SocketInputStream.read(SocketInputStream.java:122)
>    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
>    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
>    - locked <0x00000000e05b74b0> (a java.io.BufferedInputStream)
>    at java.io.DataInputStream.readByte(DataInputStream.java:265)
>    at
> com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.readByte(OChannelBinary.java:73)
>    at
> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:207)
>    at
> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:69)
>
> "OrientDB <- BinaryClient (/127.0.0.1:59788)" daemon prio=10
> tid=0x00007f3fb0005800 nid=0x20a9 runnable [0x00007f3feace9000]
>    java.lang.Thread.State: RUNNABLE
>    at java.net.SocketInputStream.socketRead0(Native Method)
>    at java.net.SocketInputStream.read(SocketInputStream.java:152)
>    at java.net.SocketInputStream.read(SocketInputStream.java:122)
>    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
>    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
>    - locked <0x00000000e0592c08> (a java.io.BufferedInputStream)
>    at java.io.DataInputStream.readByte(DataInputStream.java:265)
>    at
> com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.readByte(OChannelBinary.java:73)
>    at
> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:207)
>    at
> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:69)
>
> "OrientDB <- BinaryClient (/127.0.0.1:59703)" daemon prio=10
> tid=0x00007f3fb0004000 nid=0x1fc5 runnable [0x00007f3feaeeb000]
>    java.lang.Thread.State: RUNNABLE
>    at java.net.SocketInputStream.socketRead0(Native Method)
>    at java.net.SocketInputStream.read(SocketInputStream.java:152)
>    at java.net.SocketInputStream.read(SocketInputStream.java:122)
>    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
>    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
>    - locked <0x00000000e03e69a0> (a java.io.BufferedInputStream)
>    at java.io.DataInputStream.readByte(DataInputStream.java:265)
>    at
> com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.readByte(OChannelBinary.java:73)
>    at
> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:207)
>    at
> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:69)
>
> "OrientDB <- BinaryClient (/127.0.0.1:59632)" daemon prio=10
> tid=0x00007f3fb0003000 nid=0x1f77 runnable [0x00007f3feb1f5000]
>    java.lang.Thread.State: RUNNABLE
>    at java.net.SocketInputStream.socketRead0(Native Method)
>    at java.net.SocketInputStream.read(SocketInputStream.java:152)
>    at java.net.SocketInputStream.read(SocketInputStream.java:122)
>    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
>    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
>    - locked <0x00000000e029b8e8> (a java.io.BufferedInputStream)
>    at java.io.DataInputStream.readByte(DataInputStream.java:265)
>    at
> com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.readByte(OChannelBinary.java:73)
>    at
> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:207)
>    at
> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:69)
>
> "OrientDB Write Cache Flush Task (sport)" daemon prio=10
> tid=0x00007f3fa824d000 nid=0x1f49 waiting on condition [0x00007f3feaff3000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>    at sun.misc.Unsafe.park(Native Method)
>    - parking to wait for  <0x00000000e0149638> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>    at
> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
>    at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
>    at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)
>    at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
>    at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
>    at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
>    at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>    at java.lang.Thread.run(Thread.java:745)
>
> "DestroyJavaVM" prio=10 tid=0x00007f3ff400a800 nid=0x1f2d waiting on
> condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>
> "OrientDB ONetworkProtocolHttpDb listen at 0.0.0.0:2480-2490" prio=10
> tid=0x00007f3ff44c2000 nid=0x1f3a runnable [0x00007f3feb345000]
>    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:530)
>    at java.net.ServerSocket.accept(ServerSocket.java:498)
>    at
> com.orientechnologies.orient.server.network.OServerNetworkListener.run(OServerNetworkListener.java:191)
>
> "OrientDB ONetworkProtocolBinary listen at 0.0.0.0:2424-2430" prio=10
> tid=0x00007f3ff449c000 nid=0x1f39 runnable [0x00007f3feb446000]
>    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:530)
>    at java.net.ServerSocket.accept(ServerSocket.java:498)
>    at
> com.orientechnologies.orient.server.network.OServerNetworkListener.run(OServerNetworkListener.java:191)
>
> "Timer-0" daemon prio=10 tid=0x00007f3ff43ea000 nid=0x1f38 in
> Object.wait() [0x00007f3feb74f000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>    at java.lang.Object.wait(Native Method)
>    - waiting on <0x00000000e0142770> (a java.util.TaskQueue)
>    at java.util.TimerThread.mainLoop(Timer.java:552)
>    - locked <0x00000000e0142770> (a java.util.TaskQueue)
>    at java.util.TimerThread.run(Timer.java:505)
>
> "Service Thread" daemon prio=10 tid=0x00007f3ff40ac000 nid=0x1f36 runnable
> [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>
> "C2 CompilerThread1" daemon prio=10 tid=0x00007f3ff40a9800 nid=0x1f35
> waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>
> "C2 CompilerThread0" daemon prio=10 tid=0x00007f3ff40a6800 nid=0x1f34
> waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>
> "Signal Dispatcher" daemon prio=10 tid=0x00007f3ff40a4800 nid=0x1f33
> waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
>
> "Finalizer" daemon prio=10 tid=0x00007f3ff4077800 nid=0x1f32 in
> Object.wait() [0x00007f3ff0321000]
>    java.lang.Thread.State: WAITING (on object monitor)
>    at java.lang.Object.wait(Native Method)
>    - waiting on <0x00000000e008d6b0> (a java.lang.ref.ReferenceQueue$Lock)
>    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
>    - locked <0x00000000e008d6b0> (a java.lang.ref.ReferenceQueue$Lock)
>    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
>    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
>
> "Reference Handler" daemon prio=10 tid=0x00007f3ff4075800 nid=0x1f31 in
> Object.wait() [0x00007f3ff0422000]
>    java.lang.Thread.State: WAITING (on object monitor)
>    at java.lang.Object.wait(Native Method)
>    - waiting on <0x00000000e008d240> (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 <0x00000000e008d240> (a java.lang.ref.Reference$Lock)
>
> "VM Thread" prio=10 tid=0x00007f3ff4071800 nid=0x1f30 runnable
>
> "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f3ff4020000 nid=0x1f2e
> runnable
>
> "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f3ff4022000 nid=0x1f2f
> runnable
>
> "VM Periodic Task Thread" prio=10 tid=0x00007f3ff40b6800 nid=0x1f37
> waiting on condition
>
> JNI global references: 172
>
> Heap
>  PSYoungGen      total 137216K, used 86126K [0x00000000f5500000,
> 0x00000000ff600000, 0x0000000100000000)
>   eden space 126976K, 64% used
> [0x00000000f5500000,0x00000000fa513a20,0x00000000fd100000)
>   from space 10240K, 40% used
> [0x00000000fec00000,0x00000000ff008000,0x00000000ff600000)
>   to   space 18944K, 0% used
> [0x00000000fd100000,0x00000000fd100000,0x00000000fe380000)
>  ParOldGen       total 320512K, used 220346K [0x00000000e0000000,
> 0x00000000f3900000, 0x00000000f5500000)
>   object space 320512K, 68% used
> [0x00000000e0000000,0x00000000ed72e8e8,0x00000000f3900000)
>  PSPermGen       total 21504K, used 17944K [0x00000000d5a00000,
> 0x00000000d6f00000, 0x00000000e0000000)
>   object space 21504K, 83% used
> [0x00000000d5a00000,0x00000000d6b862c8,0x00000000d6f00000)
>
>
> On Mon, Feb 23, 2015 at 11:06 AM, Andrey Lomakin <[email protected]
> > wrote:
>
>> HI,
>> Could you send me thread dump then ?
>>
>> On Sat, Feb 21, 2015 at 11:05 AM, Kareem Jabr <[email protected]>
>> wrote:
>>
>>> Hi, I already set in the properties of  *orientdb-server-config.xml*
>>> and I removed from my code this part:
>>>  OGlobalConfiguration.STORAGE_LOCK_TIMEOUT.setValue(5 * 60 * 1000);
>>> I am also facing another issue when stopping the orientdb server I
>>> still can see the process running when I execute: ps aux | grep java,
>>> so I have to kill the process each time. especially when the timeout
>>> exception occurs.
>>>
>>> Thanks
>>>
>>>
>>> On Saturday, February 21, 2015 at 12:47:53 PM UTC+4, Kareem Jabr wrote:
>>>>
>>>> Hi,
>>>>
>>>> Thanks for your help.
>>>>
>>>> I tried the following after seeing it somewhere here:
>>>> OGlobalConfiguration.STORAGE_LOCK_TIMEOUT.setValue(5 * 60 * 1000);
>>>> but the same issue occurs.
>>>>
>>>> How and where to set storage.record.lockTimeout? Do I have to do it in
>>>> <properties> inside the orientdb-server-config.xml?
>>>>
>>>> On Friday, February 20, 2015 at 9:44:58 AM UTC+4, Andrey Lomakin wrote:
>>>>>
>>>>> Hi,
>>>>> I do not think that it is deadlock, it is timeout exception could you
>>>>> set storage.record.lockTimeout property to 200000 to double check ?
>>>>>
>>>>>
>>>>> On Fri, Feb 20, 2015 at 1:08 AM, Kareem Jabr <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> I am facing this exception a lot now,
>>>>>>
>>>>>> in context with path [/aa-sport] threw exception
>>>>>> [com.orientechnologies.orient.core.exception.ODatabaseException:
>>>>>> Error on retrieving record #27:165831 (cluster: event)] with root cause
>>>>>> com.orientechnologies.common.concur.OTimeoutException: Can not lock
>>>>>> record for 2000 ms. seems record is deadlocked by other record
>>>>>>         at com.orientechnologies.orient.core.storage.impl.local.
>>>>>> OAbstractPaginatedStorage.acquireReadLock(OAbstractPaginatedStorage.
>>>>>> java:1308)
>>>>>>         at com.orientechnologies.orient.core.tx.OTransactionAbstract.
>>>>>> lockRecord(OTransactionAbstract.java:120)
>>>>>>         at com.orientechnologies.orient.core.id.ORecordId.lock(
>>>>>> ORecordId.java:282)
>>>>>>         at com.orientechnologies.orient.core.storage.impl.local.
>>>>>> OAbstractPaginatedStorage.lockRecord(OAbstractPaginatedStorage.
>>>>>> java:1784)
>>>>>>         at com.orientechnologies.orient.core.storage.impl.local.
>>>>>> OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.
>>>>>> java:1424)
>>>>>>         at com.orientechnologies.orient.core.storage.impl.local.
>>>>>> OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.
>>>>>> java:697)
>>>>>>         at com.orientechnologies.orient.core.db.document.
>>>>>> ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1572)
>>>>>>         at com.orientechnologies.orient.core.tx.OTransactionNoTx.
>>>>>> loadRecord(OTransactionNoTx.java:80)
>>>>>>         at com.orientechnologies.orient.core.db.document.
>>>>>> ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:1437)
>>>>>>         at com.orientechnologies.orient.server.network.protocol.
>>>>>> binary.ONetworkProtocolBinary.readRecord(ONetworkProtocolBinary.java:
>>>>>> 1453)
>>>>>>         at com.orientechnologies.orient.server.network.protocol.
>>>>>> binary.ONetworkProtocolBinary.executeRequest(
>>>>>> ONetworkProtocolBinary.java:346)
>>>>>>         at com.orientechnologies.orient.server.network.protocol.
>>>>>> binary.OBinaryNetworkProtocolAbstract.execute(
>>>>>> OBinaryNetworkProtocolAbstract.java:216)
>>>>>>         at com.orientechnologies.common.thread.OSoftThread.run(
>>>>>> OSoftThread.java:65)
>>>>>>
>>>>>> I have a web app running on tomcat 7.0.59 and 2.0.2 OrientDB.
>>>>>>
>>>>>> I am initializing the DB once tomcat starts
>>>>>> db = getOObjectDatabaseTx();
>>>>>> db.setAutomaticSchemaGeneration(true);
>>>>>> db.getEntityManager().registerEntityClasses("com.
>>>>>> sport.server.model");
>>>>>>
>>>>>>
>>>>>> public OObjectDatabaseTx getOObjectDatabaseTx() {
>>>>>> return OObjectDatabasePool.global().acquire(PropertiesManager.
>>>>>> getInstance().getProperty(ENDPOINT_URL),
>>>>>> PropertiesManager.getInstance().getProperty(DB_USERNAME),
>>>>>> PropertiesManager.getInstance().getProperty(DB_PASSWORD));
>>>>>> }
>>>>>>
>>>>>> Please help me in this.. And let me know if I am doing something
>>>>>> wrong here. I have a scheduler running to update the DB every couple of
>>>>>> secs. This exception happens when I try to read from the DB while writing
>>>>>> is occurring. I believe..
>>>>>>
>>>>>>
>>>>>>
>>>>>>  --
>>>>>>
>>>>>> ---
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "OrientDB" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Best regards,
>>>>> Andrey Lomakin.
>>>>>
>>>>>   --
>>>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "OrientDB" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Best regards,
>> Andrey Lomakin.
>>
>>  --
>>
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "OrientDB" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/orient-database/INf_ennAN7o/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>  --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "OrientDB" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Best regards,
Andrey Lomakin.

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to