[ 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)