- Users must have the ability to create a snapshot of persisted user data (in-memory is out of the scope).
- Users must have the ability to create a snapshot from the cluster under the load without cluster deactivation.
- The snapshot process must not block for a long time any of the user transactions (short-time blocks are acceptable).
- The snapshot process must allow creating a data snapshot on each node and transfer it to any of the remote nodes for internal cluster needs.
- The created snapshot at the cluster-level must be fully consistent from cluster-wide terms, there should not be any incomplete transactions inside.
- The snapshot of each node must be consistent – cache partitions, binary meta, etc. must not have unnecessary changes.
The following API must be available:
- [public] Java API
- [public] JMX MBean
- [internal] File Transmission