You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/07/13 07:25:00 UTC

[jira] [Commented] (IGNITE-8761) WAL fsync at rollover should be asynchronous in LOG_ONLY and BACKGROUND modes

    [ 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 <vp...@...>
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)