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 Chugunov (Jira)" <ji...@apache.org> on 2020/09/25 07:56:00 UTC
[jira] [Updated] (IGNITE-13207) Checkpointer code refactoring:
Splitting GridCacheDatabaseSharedManager and Checkpointer
[ https://issues.apache.org/jira/browse/IGNITE-13207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Chugunov updated IGNITE-13207:
-------------------------------------
Summary: Checkpointer code refactoring: Splitting GridCacheDatabaseSharedManager and Checkpointer (was: Checkpointer code refactoring: Splitting GridCacheDatabaseSharedManager ant Checkpointer)
> Checkpointer code refactoring: Splitting GridCacheDatabaseSharedManager and Checkpointer
> ----------------------------------------------------------------------------------------
>
> Key: IGNITE-13207
> URL: https://issues.apache.org/jira/browse/IGNITE-13207
> Project: Ignite
> Issue Type: Sub-task
> Reporter: Anton Kalashnikov
> Assignee: Anton Kalashnikov
> Priority: Major
> Labels: IEP-47
> Fix For: 2.10
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> The main target of this ticket - providing the possibility to reuse all or part of the checkpoint classes in a different way(ex. light-weight checkpoint during the defragmentation).
> What was done in this ticket:
> New classes:
> * CheckpointReadWriteLock - encapsulation of specific logic of checkpoint lock
> * CheckpointTimeoutLock - read lock with a timeout which able to trigger the new checkpoint if needed
> * CheckpointMakersStorage - encapsulation of the work over the checkpoint markers - write to/read from disk, caching the actual markers
> * CheckpointWorkflow - encapsulation of the checkpoint steps like checkpoint begin, checkpoint end
> * CheckpointManager - the entry point of the checkpoint. It responsible for consistent initialization of all checkpoint related components and it provides API for interaction with them.
> * WorkProgressDispatcher - interface for worker's heartbeat management
> Renamed classes:
> * DbCheckpointListener -> CheckpointListener(it also moved to checkpoint package)
> * WriteCheckpointPages -> CheckpointPagesWriter
> * DbCheckpointContextImpl -> CheckpointContextImpl
> Logical changes:
> * asyncRunner(Checkpoint runner thread pool) was replaced by two checkpointWritePagesPool(IO-bound thread pool for writing dirty pages to disk) and checkpointCollectPagesInfoPool(CPU-bound thread pool for collection the dirty pages from memory)
> * mehod afterCheckpointEnd was added to CheckpointListener
--
This message was sent by Atlassian Jira
(v8.3.4#803005)