[ 
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)

Reply via email to