public class FlinkDatabaseHistory
extends io.debezium.relational.history.AbstractDatabaseHistory
MemoryDatabaseHistory but we will store the
HistoryRecords in Flink's state for persistence.
Note: This is not a clean solution because we depends on a global variable and all the history records will be stored in state (grow infinitely). We may need to come up with a FileSystemDatabaseHistory in the future to store history in HDFS.
| Modifier and Type | Field and Description |
|---|---|
static String |
DATABASE_HISTORY_INSTANCE_NAME |
| Constructor and Description |
|---|
FlinkDatabaseHistory() |
| Modifier and Type | Method and Description |
|---|---|
void |
configure(io.debezium.config.Configuration config,
io.debezium.relational.history.HistoryRecordComparator comparator,
io.debezium.relational.history.DatabaseHistoryListener listener,
boolean useCatalogBeforeSchema) |
boolean |
exists() |
static boolean |
isCompatible(Collection<SchemaRecord> records)
Determine whether the
FlinkDatabaseHistory is compatible with the specified state. |
protected void |
recoverRecords(java.util.function.Consumer<io.debezium.relational.history.HistoryRecord> records) |
void |
stop() |
boolean |
storageExists() |
protected void |
storeRecord(io.debezium.relational.history.HistoryRecord record) |
String |
toString() |
public static final String DATABASE_HISTORY_INSTANCE_NAME
public void configure(io.debezium.config.Configuration config,
io.debezium.relational.history.HistoryRecordComparator comparator,
io.debezium.relational.history.DatabaseHistoryListener listener,
boolean useCatalogBeforeSchema)
configure in interface io.debezium.relational.history.DatabaseHistoryconfigure in class io.debezium.relational.history.AbstractDatabaseHistorypublic void stop()
stop in interface io.debezium.relational.history.DatabaseHistorystop in class io.debezium.relational.history.AbstractDatabaseHistoryprotected void storeRecord(io.debezium.relational.history.HistoryRecord record)
throws io.debezium.relational.history.DatabaseHistoryException
storeRecord in class io.debezium.relational.history.AbstractDatabaseHistoryio.debezium.relational.history.DatabaseHistoryExceptionprotected void recoverRecords(java.util.function.Consumer<io.debezium.relational.history.HistoryRecord> records)
recoverRecords in class io.debezium.relational.history.AbstractDatabaseHistorypublic boolean exists()
public boolean storageExists()
public static boolean isCompatible(Collection<SchemaRecord> records)
FlinkDatabaseHistory is compatible with the specified state.Copyright © 2022 The Apache Software Foundation. All rights reserved.