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)