Hi,
Thank you very much for this information but we need crc32 to cut invalid
part of end of the WAL tail in case of power failure.

Any way I did not know about this slowdown, thank you for report, I think
we will optimize this case for rollback because pages are not to be broken
in that case.

On Tue, Dec 9, 2014 at 9:06 AM, Adithyan K <[email protected]> wrote:

> 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]> 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].
>>> 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 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