Currently, checkpointing is only allowed on the leader node. This can lead to a potential node recovery deadlock: a large amount of data log replay fills up memory, and since checkpointing is not performed on the candidate leader node, the data in memory is not persisted and therefore cannot be evicted, preventing log replay from completing.
To resolve this issue, checkpointing must be allowed on the candidate leader node. Additionally, the requests involved in this process need to match the candidate term.