[ https://issues.apache.org/jira/browse/IGNITE-13207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anton Kalashnikov updated IGNITE-13207: --------------------------------------- Description: 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 was: 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 * CheckpointStorage - encapsulation of the work over the checkpoint markers - write to/read from disk, caching the actual markers * CheckpointProcess - 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 > Checkpointer code refactoring: Splitting GridCacheDatabaseSharedManager ant > 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 > 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)