Class FlinkDatabaseHistory
- java.lang.Object
-
- io.debezium.relational.history.AbstractDatabaseHistory
-
- org.apache.flink.cdc.debezium.internal.FlinkDatabaseHistory
-
- All Implemented Interfaces:
io.debezium.relational.history.DatabaseHistory
public class FlinkDatabaseHistory extends io.debezium.relational.history.AbstractDatabaseHistoryInspired fromMemoryDatabaseHistorybut 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.
-
-
Field Summary
Fields Modifier and Type Field Description static StringDATABASE_HISTORY_INSTANCE_NAME
-
Constructor Summary
Constructors Constructor Description FlinkDatabaseHistory()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconfigure(io.debezium.config.Configuration config, io.debezium.relational.history.HistoryRecordComparator comparator, io.debezium.relational.history.DatabaseHistoryListener listener, boolean useCatalogBeforeSchema)booleanexists()static booleanisCompatible(Collection<SchemaRecord> records)Determine whether theFlinkDatabaseHistoryis compatible with the specified state.protected voidrecoverRecords(java.util.function.Consumer<io.debezium.relational.history.HistoryRecord> records)voidstop()booleanstorageExists()protected voidstoreRecord(io.debezium.relational.history.HistoryRecord record)StringtoString()-
Methods inherited from class io.debezium.relational.history.AbstractDatabaseHistory
initializeStorage, record, record, recover, skipUnparseableDdlStatements, start, storeOnlyCapturedTables
-
-
-
-
Field Detail
-
DATABASE_HISTORY_INSTANCE_NAME
public static final String DATABASE_HISTORY_INSTANCE_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
configure
public void configure(io.debezium.config.Configuration config, io.debezium.relational.history.HistoryRecordComparator comparator, io.debezium.relational.history.DatabaseHistoryListener listener, boolean useCatalogBeforeSchema)- Specified by:
configurein interfaceio.debezium.relational.history.DatabaseHistory- Overrides:
configurein classio.debezium.relational.history.AbstractDatabaseHistory
-
stop
public void stop()
- Specified by:
stopin interfaceio.debezium.relational.history.DatabaseHistory- Overrides:
stopin classio.debezium.relational.history.AbstractDatabaseHistory
-
storeRecord
protected void storeRecord(io.debezium.relational.history.HistoryRecord record) throws io.debezium.relational.history.DatabaseHistoryException- Specified by:
storeRecordin classio.debezium.relational.history.AbstractDatabaseHistory- Throws:
io.debezium.relational.history.DatabaseHistoryException
-
recoverRecords
protected void recoverRecords(java.util.function.Consumer<io.debezium.relational.history.HistoryRecord> records)
- Specified by:
recoverRecordsin classio.debezium.relational.history.AbstractDatabaseHistory
-
exists
public boolean exists()
-
storageExists
public boolean storageExists()
-
isCompatible
public static boolean isCompatible(Collection<SchemaRecord> records)
Determine whether theFlinkDatabaseHistoryis compatible with the specified state.
-
-