Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
titleCommunicationSpi.java
collapsetrue
/**
 * @return {@code True} if new type of direct connections supported.
 */
public default boolean pipeConnectionSupported() {
    return false;
}
 
/**
 * @param src Source cluster node to initiate connection with.
 * @return Channel to listen.
 * @throws IgniteSpiException If fails.
 */
public default ReadableByteChannel getRemotePipe(ClusterNode src) throws IgniteSpiException {
    throw new UnsupportedOperationException();
}
 
/**
 * @param dest Destination cluster node to communicate with.
 * @param out Channel to write data.
 * @throws IgniteSpiException If fails.
 */
public default void sendOnPipe(ClusterNode dest, WritableByteChannel out) throws IgniteSpiException {
    throw new UnsupportedOperationException();
}

Recovery

In case of crash recovery, there is no additional actions need to be applied to keep the cache partition file consistency. We are not recovering partition with the moving state. Thus we will lose the partition file (the uniqueness is guaranteed by the single-file-transmission process) and this cache partition file will be fully loaded on the next rebalance procedure.

The overview of recovery guarantees:

  • When the temporary WAL is ready to be empty the checkpoint process starts;
  • At the end of the first checkpoint we set owning status to the cache partition file;
  • All recovery guarantees are turned on;

Risks and Assumptions

A few notes can be mentioned:

...