ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladislav Pyatkov (Jira)" <j...@apache.org>
Subject [jira] [Created] (IGNITE-14140) Checkpointer thread holds write lock too long
Date Mon, 08 Feb 2021 15:07:00 GMT
Vladislav Pyatkov created IGNITE-14140:
------------------------------------------

             Summary: Checkpointer thread holds write lock too long
                 Key: IGNITE-14140
                 URL: https://issues.apache.org/jira/browse/IGNITE-14140
             Project: Ignite
          Issue Type: Bug
          Components: persistence
            Reporter: Vladislav Pyatkov
            Assignee: Vladislav Pyatkov


Free lists flushing optimization can block db-checkpoint-thread when it got Write lock. It
might block all transactions for several hundreds milliseconds.

{noformat}
"db-checkpoint-thread-#334%DPL_GRID%DplGridNodeName%" #667 daemon prio=5 os_prio=0 tid=0x00007e765c123800
nid=0xee0b8 runnable [0x00007e767f535000] java.lang.Thread.State: RUNNABLE at sun.misc.Unsafe.getObjectVolatile(Native
Method) at java.util.concurrent.atomic.AtomicReferenceArray.getRaw(AtomicReferenceArray.java:130)
at java.util.concurrent.atomic.AtomicReferenceArray.get(AtomicReferenceArray.java:125) at
org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList.getBucketCache(AbstractFreeList.java:690)
at org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList.flushBucketsCache(PagesList.java:374)
at org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList.saveMetadata(PagesList.java:343)
at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager.saveStoreMetadata(GridCacheOffheapManager.java:373)
at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager.syncMetadata(GridCacheOffheapManager.java:336)
at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager.syncMetadata(GridCacheOffheapManager.java:322)
at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager.onMarkCheckpointBegin(GridCacheOffheapManager.java:247)
at org.apache.ignite.internal.processors.cache.persistence.checkpoint.CheckpointWorkflow.markCheckpointBegin(CheckpointWorkflow.java:281)
at org.apache.ignite.internal.processors.cache.persistence.checkpoint.Checkpointer.doCheckpoint(Checkpointer.java:388)
at org.apache.ignite.internal.processors.cache.persistence.checkpoint.Checkpointer.body(Checkpointer.java:264)
at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119) at java.lang.Thread.run(Thread.java:748)
{noformat}

We can to reduce time into Write lock if switch off optimization before the lock will be gotten
and enable it after the lock will be left off.
This image confirms that all time consume of storing the metadata cache.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message