Kirill Tkalenko created IGNITE-23546:
----------------------------------------

             Summary: Fix long handling of EvictIdempotentCommandsCacheCommand
                 Key: IGNITE-23546
                 URL: https://issues.apache.org/jira/browse/IGNITE-23546
             Project: Ignite
          Issue Type: Bug
            Reporter: Kirill Tkalenko
            Assignee: Kirill Tkalenko
             Fix For: 3.0


It was found that as the cluster runs longer, the processing time for the 
*org.apache.ignite.internal.metastorage.command.EvictIdempotentCommandsCacheCommand*
 increases and starts using 100% of the CPU.

This is because in 
*org.apache.ignite.internal.metastorage.server.raft.MetaStorageWriteHandler#collectEvictionCandidateKeys*
 we scan all the keys and after a while there are more and more tombstones that 
we have to read.

We can fix this quite easily. We can use 
*org.apache.ignite.internal.metastorage.server.raft.MetaStorageWriteHandler#idempotentCommandCache*
 and scan it finding the commands that we need to delete and then get rid of 
them right away. Of course, we will need to improve this map a little since it 
lacks a timestamp. This map restores the node correctly and fully, so there 
should be no problems.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to