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)