Class BinlogOffset
- java.lang.Object
-
- org.apache.flink.cdc.connectors.mysql.source.offset.BinlogOffset
-
- All Implemented Interfaces:
Serializable,Comparable<BinlogOffset>
@PublicEvolving public class BinlogOffset extends Object implements Comparable<BinlogOffset>, Serializable
A structure describes a fine grained offset in a binlog event including binlog position and gtid set etc.This structure can also be used to deal the binlog event in transaction, a transaction may contain multiple change events, and each change event may contain multiple rows. When restart from a specific
BinlogOffset, we need to skip the processed change events and the processed rows.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static StringBINLOG_FILENAME_OFFSET_KEYstatic StringBINLOG_POSITION_OFFSET_KEYstatic StringEVENTS_TO_SKIP_OFFSET_KEYstatic StringGTID_SET_KEYstatic StringOFFSET_KIND_KEYstatic StringROWS_TO_SKIP_OFFSET_KEYstatic StringSERVER_ID_KEYstatic StringTIMESTAMP_KEY
-
Constructor Summary
Constructors Constructor Description BinlogOffset(Map<String,String> offset)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static BinlogOffsetBuilderbuilder()Create aBinlogOffsetBuilder.intcompareTo(BinlogOffset that)This method is inspired byHistoryRecordComparator.booleanequals(Object o)StringgetFilename()StringgetGtidSet()Map<String,String>getOffset()BinlogOffsetKindgetOffsetKind()longgetPosition()longgetRestartSkipEvents()longgetRestartSkipRows()LonggetServerId()longgetTimestampSec()inthashCode()booleanisAfter(BinlogOffset that)booleanisAtOrAfter(BinlogOffset that)booleanisAtOrBefore(BinlogOffset that)booleanisBefore(BinlogOffset that)static BinlogOffsetofBinlogFilePosition(String filename, long position)Create offset from binlog filename and position.static BinlogOffsetofEarliest()Create offset which represents the earliest accessible binlog offset.static BinlogOffsetofGtidSet(String gtidSet)Create offset from GTID set.static BinlogOffsetofLatest()Create offset which represents the latest offset at the point of access.static BinlogOffsetofNonStopping()static BinlogOffsetofTimestampSec(long timestampSec)Create offset specified by a timestamp in second.StringtoString()
-
-
-
Field Detail
-
BINLOG_FILENAME_OFFSET_KEY
public static final String BINLOG_FILENAME_OFFSET_KEY
- See Also:
- Constant Field Values
-
BINLOG_POSITION_OFFSET_KEY
public static final String BINLOG_POSITION_OFFSET_KEY
- See Also:
- Constant Field Values
-
EVENTS_TO_SKIP_OFFSET_KEY
public static final String EVENTS_TO_SKIP_OFFSET_KEY
- See Also:
- Constant Field Values
-
ROWS_TO_SKIP_OFFSET_KEY
public static final String ROWS_TO_SKIP_OFFSET_KEY
- See Also:
- Constant Field Values
-
GTID_SET_KEY
public static final String GTID_SET_KEY
- See Also:
- Constant Field Values
-
TIMESTAMP_KEY
public static final String TIMESTAMP_KEY
- See Also:
- Constant Field Values
-
SERVER_ID_KEY
public static final String SERVER_ID_KEY
- See Also:
- Constant Field Values
-
OFFSET_KIND_KEY
public static final String OFFSET_KIND_KEY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BinlogOffset
@VisibleForTesting public BinlogOffset(Map<String,String> offset)
-
-
Method Detail
-
builder
public static BinlogOffsetBuilder builder()
Create aBinlogOffsetBuilder.
-
ofBinlogFilePosition
public static BinlogOffset ofBinlogFilePosition(String filename, long position)
Create offset from binlog filename and position.
-
ofGtidSet
public static BinlogOffset ofGtidSet(String gtidSet)
Create offset from GTID set.
-
ofEarliest
public static BinlogOffset ofEarliest()
Create offset which represents the earliest accessible binlog offset.
-
ofLatest
public static BinlogOffset ofLatest()
Create offset which represents the latest offset at the point of access.
-
ofTimestampSec
public static BinlogOffset ofTimestampSec(long timestampSec)
Create offset specified by a timestamp in second.
-
ofNonStopping
@Internal public static BinlogOffset ofNonStopping()
-
getFilename
public String getFilename()
-
getPosition
public long getPosition()
-
getRestartSkipEvents
public long getRestartSkipEvents()
-
getRestartSkipRows
public long getRestartSkipRows()
-
getGtidSet
public String getGtidSet()
-
getTimestampSec
public long getTimestampSec()
-
getServerId
public Long getServerId()
-
getOffsetKind
@Nullable public BinlogOffsetKind getOffsetKind()
-
compareTo
public int compareTo(BinlogOffset that)
This method is inspired byHistoryRecordComparator.- Specified by:
compareToin interfaceComparable<BinlogOffset>
-
isAtOrBefore
public boolean isAtOrBefore(BinlogOffset that)
-
isBefore
public boolean isBefore(BinlogOffset that)
-
isAtOrAfter
public boolean isAtOrAfter(BinlogOffset that)
-
isAfter
public boolean isAfter(BinlogOffset that)
-
-