Interface DcrManager

All Superinterfaces:
org.apache.ignite.internal.lang.Debuggable, org.apache.ignite.internal.manager.IgniteComponent
All Known Implementing Classes:
DcrManagerImpl, LicensedDcrManager

public interface DcrManager extends org.apache.ignite.internal.manager.IgniteComponent
Data center replication manager. The instance provides start/stop replication operations.
  • Method Details

    • createReplication

      CompletableFuture<ReplicationInfo> createReplication(ReplicationOptions options, boolean instantStart)
      Creates replication with provided options.
      Parameters:
      options - Replication options.
      Returns:
      Future with replication info.
    • startReplication

      CompletableFuture<Boolean> startReplication(String name, @Nullable @Nullable String schema, @Nullable @Nullable List<String> tables, boolean allTables)
      Starts replication.
      Parameters:
      name - Replication name.
      schema - Schema name for replication. If null: for allTables=true, no schema filtering is applied (replicates all schemas); for explicit table lists, unqualified table names default to PUBLIC schema. If specified, acts as default schema for unqualified table names or as schema filter for allTables=true. Supports SQL case-insensitive identifiers (e.g., "customer1" → "CUSTOMER1") and quoted identifiers.
      tables - List of table names to replicate. Can be unqualified (uses schema or PUBLIC) or qualified (schema.table).
      allTables - If true, all tables will be replicated (optionally filtered by schema if provided).
      Returns:
      Future with true value if replication successfully started.
    • stopReplication

      CompletableFuture<Boolean> stopReplication(String name, @Nullable @Nullable String schema, @Nullable @Nullable List<String> tables, boolean allTables)
      Stops replication with provided replication identifier.
      Parameters:
      name - Replication name.
      schema - Schema name for replication. If null: for allTables=true, no schema filtering is applied (stops all schemas); for explicit table lists, unqualified table names default to PUBLIC schema. If specified, acts as default schema for unqualified table names or as schema filter for allTables=true. Supports SQL case-insensitive identifiers (e.g., "customer1" → "CUSTOMER1") and quoted identifiers.
      tables - List of table names to stop replicating. Can be unqualified (uses schema or PUBLIC) or qualified (schema.table).
      allTables - If true, all tables will be stopped (optionally filtered by schema if provided).
      Returns:
      Future with true if replication stopped successfully.
    • removeReplication

      CompletableFuture<Boolean> removeReplication(String name)
      Removes replication with provided identifier.
      Parameters:
      name - Replication name.
      Returns:
      Completed future if replication removed successfully.
    • showReplication

      CompletableFuture<ReplicationInfo> showReplication(String name)
      Returns replication info.
      Parameters:
      name - replication name.
      Returns:
      Future with ReplicationInfo if replication exist, null otherwise.
    • listReplications

      Returns all replication info.
      Returns:
      Future with collection of all ReplicationInfo
    • flushReplication

      CompletableFuture<Boolean> flushReplication(String name, Instant timestamp)
      Specifies timestamp for replication which will be used as flush point. The flush point is a timestamp that is used to determine whether the replicated data is sufficient. After setting a flush point, replication will be considered completed at the moment when all replicated tables have all received data older than this reset point.
      Parameters:
      name - Replication name.
      timestamp - Flush point.
      Returns:
      Completed future if replication flushed successfully.