...
To benefit from zero file copy we must delegate the file transferring to FileChannel#transferTo(long, long, java.nio.channels.WritableByteChannel) [2] because the fast path of transferTo method is only executed if the destination buffer inherits from an internal JDK class.
A new implementation of cache entries preloader assume to be done. The new implementation must send and receive cache partition files over the CommunicationSpi channels by chunks of data with validation received itemsThe cache partition file transfer over the network must be done using chunks with validation of received piece of data on the demander side.
...
When the supplier node receives the cache partition file demand request it must prepare and provide the cache partition file to transfer over network. The will send the file over the CommunicationSpi. The cache partition file can be concurrently updated by checkpoint thread during its transmission. To guarantee the file consistency Сheckpointer must use Copy-on-Write [3] tehniques assume to be used to guarantee the data consistency during chunk transfer.
The checkpointing tehnique and save a copy of updated chunk into the temporary file.
The checkpoint process description on the supplier node – items 4, 5, 6 of the Process Overview.
During the cache partition file transmitting, the demander node must hold all corresponding data entries on the new temporary WAL storage to apply them laterWhile the demander node is in the partition file transmission state it must save all cache entries corresponding to the moving partition into a new temporary WAL storage. When the partition file completely received these entries will be applied on it one by one. Asynchronous operations are written to the end of temporary WAL storage until it becomes empty. The file-based FIFO technique assumes to be usedapproach assume to be used by this process.
...