Sergey Chugunov created IGNITE-13143:
----------------------------------------

             Summary: Persistent store defragmentation
                 Key: IGNITE-13143
                 URL: https://issues.apache.org/jira/browse/IGNITE-13143
             Project: Ignite
          Issue Type: New Feature
            Reporter: Sergey Chugunov


Persistent store enables users to store data of their caches in a durable 
fashion on disk still benefiting from in-memory nature of Apache Ignite. Data 
of caches is stored in files created for every primary or backup partition 
assigned to that node and in an additional file for all user indexes.

Files in filesystem are allocated lazily (only if some data is actually stored 
to particular partition) and grow automatically when more data is added to the 
cache. But the problem is that files cannot shrink even if all data is removed.

This umbrella ticket covers all other tasks needed to implement simple yet 
effective approach to defragmentation. Detailed discussion could be found in 
[IEP-47|https://cwiki.apache.org/confluence/display/IGNITE/IEP-47%3A+Native+persistence+defragmentation]
 and in corresponding [dev-list 
discussion|http://apache-ignite-developers.2346864.n4.nabble.com/DISCUSSION-IEP-47-Native-persistence-defragmentation-td47717.html]
 but core ideas are as follows:
 # Defragmentation is performed in a special _maintenance_ mode when node 
starts, provides access to some APIs like metrics or JMX management but doesn't 
join the cluster.
 # It is performed by copying all data from all partitions on node to new files 
with automatic compaction. After successful copy old partition files are 
deleted.
 # Metrics on progress of the operation are provided to the user.
 # Operation is fault-tolerant and in case of node failure proceeds after node 
restart.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to