[ 
https://issues.apache.org/jira/browse/IGNITE-8761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16542647#comment-16542647
 ] 

ASF GitHub Bot commented on IGNITE-8761:
----------------------------------------

GitHub user vldpyatkov opened a pull request:

    https://github.com/apache/ignite/pull/4356

    IGNITE-8761 WAL fsync at rollover should be asynchronous in LOG_ONLY …

    …and BACKGROUND modes

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/gridgain/apache-ignite ignite-8761-2

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/ignite/pull/4356.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #4356
    
----
commit 2cd5d6c91a008291731a6210f4f4afa9813e943e
Author: vd-pyatkov <vpyatkov@...>
Date:   2018-07-10T14:54:30Z

    IGNITE-8761 WAL fsync at rollover should be asynchronous in LOG_ONLY and 
BACKGROUND modes

----


> WAL fsync at rollover should be asynchronous in LOG_ONLY and BACKGROUND modes
> -----------------------------------------------------------------------------
>
>                 Key: IGNITE-8761
>                 URL: https://issues.apache.org/jira/browse/IGNITE-8761
>             Project: Ignite
>          Issue Type: Improvement
>          Components: persistence
>            Reporter: Ivan Rakov
>            Assignee: Vladislav Pyatkov
>            Priority: Major
>             Fix For: 2.7
>
>
> Transactions may periodically hang for a few seconds in LOG_ONLY or 
> BACKGROUND persistent modes. Thread dumps show that threads are hanging on 
> syncing previous WAL segment during rollover:
> {noformat}
>   java.lang.Thread.State: RUNNABLE
>    at java.nio.MappedByteBuffer.force0(MappedByteBuffer.java:-1)
>    at java.nio.MappedByteBuffer.force(MappedByteBuffer.java:203)
>    at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager$FileWriteHandle.close(FileWriteAheadLogManager.java:2843)
>    at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager$FileWriteHandle.access$600(FileWriteAheadLogManager.java:2483)
>    at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.rollOver(FileWriteAheadLogManager.java:1094)
> {noformat}
> Waiting for this fsync is not necessary action to ensure crash recovery 
> guarantees. Instead of this, we should just perform fsyncs asychronously and 
> ensure that they are completed prior to next checkpoint start.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to