You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Kirill Tkalenko (Jira)" <ji...@apache.org> on 2024/10/25 12:43:00 UTC

[jira] [Created] (IGNITE-23546) Fix long handling of EvictIdempotentCommandsCacheCommand

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)