Andrey,
Thank you so much!
I made one wrong statement while explaining the issue.
i.e., I have said that it is due to synchronized (rndFile). But, it is not
true. In Thread dump when I saw, more than 90% of the Thread's time is
spent in the below highlighted lines.
java.lang.Thread.State: RUNNABLE
* at java.util.zip.CRC32.updateBytes(Native Method)*
* at java.util.zip.CRC32.update(CRC32.java:65)*
* at
com.orientechnologies.orient.core.storage.impl.local.paginated.wal.ODiskWriteAheadLog$LogSegment.checkPageIntegrity(ODiskWriteAheadLog.java:565)*
at
com.orientechnologies.orient.core.storage.impl.local.paginated.wal.ODiskWriteAheadLog$LogSegment.readRecord(ODiskWriteAheadLog.java:402)
at
com.orientechnologies.orient.core.storage.impl.local.paginated.wal.ODiskWriteAheadLog.read(ODiskWriteAheadLog.java:876)
Does the line still hold good
> It will be fixed at given issue
https://github.com/orientechnologies/orientdb/issues/2874 .
Thanks
Reg,
K Adithyan
On Tuesday, December 9, 2014 12:14:21 PM UTC+5:30, Andrey Lomakin wrote:
>
> Hi,
> Thank you for your report.
> It will be fixed at given issue
> https://github.com/orientechnologies/orientdb/issues/2874 .
> So we will not need to do rollback on file level.
>
>
> On Mon, Dec 8, 2014 at 10:11 PM, Adithyan K <[email protected]
> <javascript:>> wrote:
>
>> Team,
>>
>> Used OrientVersion : 2.0-M3
>>
>>
>> This is my observation. ODatabaseDocumentTx.commit() takes around 4
>> seconds for some number of documents if the commit is successful. But, when
>> the ORecordDuplicateException is thrown by the commit() method, this
>> method takes around 30 seconds for the same number of records. When I
>> perform commit, during the ORecordDuplicateException, the
>> ODatabaseDocumentTx.commit() internally calls rollback method and this
>> takes more than 95% of the time.
>>
>> With JMC, when I analysed, I found that the ODiskWriteAheadLog.readRecord(
>> OLogSequenceNumber) method's synchronized(rndFile) statement is blocking
>> my writing Thread for more than 90% of the time of the commit() method. Pls
>> find the attached screenshot.
>>
>> Another input is : Only one Thread in my application writes in to
>> OrientDB.
>>
>> So, I have doubt who else has acquired the monitor of rndFile for so long
>> time that too only during rollback call inside commit(). When there is no
>> duplication issue, entire commit() successfully returns within 4 seconds.
>>
>> Expecting feedback whether I am able to present my point..
>> Pls revert to me if I have to give any other information
>>
>> I am also trying to take thread dump during this rollback time to check
>> which Thread has acquired this rndFile... I will give further inputs on
>> this I am successful on this.
>>
>> Reg,
>>
>> K Adithyan
>>
>>
>>
>> --
>>
>> ---
>> 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] <javascript:>.
>> 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.