Open liuzix opened 4 years ago
Have one problem with the DDL operation in canal
, if we dispatch DML data to multiple partitions, and DDL to the first partition, how does the consumer know when to consume DDL from the first partition. From another aspect, how does canal consumer know which DMLs are before one DDL, and which DMLs are after one DDL.
Btw, I found a similar scenario about DML, DDL consumption with multiple MQ partitions. https://github.com/alibaba/canal/issues/2842
also, see https://github.com/pingcap/ticdc/pull/708/files#diff-13ef8e2f0f85e13cd6f76c33fa8d982dR28,
there is a simple abstraction and implement about the transaction-consistent controller
Feature Request
Is your feature request related to a problem? Please describe:
FlushRowChangedEvents
is issued.Describe the feature you'd like:
Flush
calls. Hence I propose writing a mqProducer decorator that can make any producer hold back sending data to network untilFlush
is called.TxnGenerator
that facilitates the reconstruction of transactions.TxnGenerator
should supportAppend
andSplit
methods. Changes in #770 should be merged so that the encoder can control when it wants the sink to write to the MQ.Current support/needs