You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Sergey Kosarev (JIRA)" <ji...@apache.org> on 2018/03/27 07:41:00 UTC
[jira] [Updated] (IGNITE-8053) Exception during checkpoint
concurrent changes in topology
[ https://issues.apache.org/jira/browse/IGNITE-8053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Kosarev updated IGNITE-8053:
-----------------------------------
Description:
Excpetion in checkpoint thread
{code}
2018-03-23 15:25:19.085 [ERROR][db-checkpoint-thread-#256%DPL_GRID%DplGridNodeName%][o.a.i.i.p.c.p.GridCacheDatabaseSharedManager] Runtime error caught during grid runnable execution: GridWorker [name=
db-checkpoint-thread, igniteInstanceName=DPL_GRID%DplGridNodeName, finished=false, hashCode=981946370, interrupted=false, runner=db-checkpoint-thread-#256%DPL_GRID%DplGridNodeName%]
java.lang.IllegalStateException: Failed to add new partition to the partitions state (no enough space reserved) [partId=32321, reserved=5416]
at org.apache.ignite.internal.pagemem.wal.record.CacheState.addPartitionState(CacheState.java:64)
at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.markCheckpointBegin(GridCacheDatabaseSharedManager.java:2955)
at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.doCheckpoint(GridCacheDatabaseSharedManager.java:2704)
at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.body(GridCacheDatabaseSharedManager.java:2629)
at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
at java.lang.Thread.run(Thread.java:745)
{code}
threre are 2 sequential invocations grp.topology().currentLocalPartitions() in
GridCacheDatabaseSharedManager.Checkpointer#markCheckpointBegin
it's assumed that results must be equal, but they doesn't actually.
Possible problem is in
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopologyImpl#forceCreatePartition
it does not check for checkpoint lock
ctx.database().checkpointLockIsHeldByThread();
> Exception during checkpoint concurrent changes in topology
> ----------------------------------------------------------
>
> Key: IGNITE-8053
> URL: https://issues.apache.org/jira/browse/IGNITE-8053
> Project: Ignite
> Issue Type: Bug
> Components: persistence
> Affects Versions: 2.4
> Reporter: Sergey Kosarev
> Priority: Major
>
> Excpetion in checkpoint thread
> {code}
> 2018-03-23 15:25:19.085 [ERROR][db-checkpoint-thread-#256%DPL_GRID%DplGridNodeName%][o.a.i.i.p.c.p.GridCacheDatabaseSharedManager] Runtime error caught during grid runnable execution: GridWorker [name=
> db-checkpoint-thread, igniteInstanceName=DPL_GRID%DplGridNodeName, finished=false, hashCode=981946370, interrupted=false, runner=db-checkpoint-thread-#256%DPL_GRID%DplGridNodeName%]
> java.lang.IllegalStateException: Failed to add new partition to the partitions state (no enough space reserved) [partId=32321, reserved=5416]
> at org.apache.ignite.internal.pagemem.wal.record.CacheState.addPartitionState(CacheState.java:64)
> at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.markCheckpointBegin(GridCacheDatabaseSharedManager.java:2955)
> at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.doCheckpoint(GridCacheDatabaseSharedManager.java:2704)
> at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.body(GridCacheDatabaseSharedManager.java:2629)
> at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> at java.lang.Thread.run(Thread.java:745)
> {code}
> threre are 2 sequential invocations grp.topology().currentLocalPartitions() in
> GridCacheDatabaseSharedManager.Checkpointer#markCheckpointBegin
> it's assumed that results must be equal, but they doesn't actually.
> Possible problem is in
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopologyImpl#forceCreatePartition
> it does not check for checkpoint lock
> ctx.database().checkpointLockIsHeldByThread();
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)