Moved binlogging initialization code from sqlengine to server, so that bin logging only happens when in sql-server mode.
binlogProducer now sends events to the new logManager type that writes binlog events to files on disk. binlogStreamer now reads events from those logs and streams them to replicas (instead of receiving events directly from binlogProducer).
DoltBinlogPrimaryController now validates that the missing GTIDs from a replica are available in the binlog files and sends an error if the primary doesn't have enough binlog data on disk to get a replica in sync.
Major changes:
sqlengine
toserver
, so that bin logging only happens when insql-server
mode.binlogProducer
now sends events to the newlogManager
type that writes binlog events to files on disk.binlogStreamer
now reads events from those logs and streams them to replicas (instead of receiving events directly frombinlogProducer
).DoltBinlogPrimaryController
now validates that the missing GTIDs from a replica are available in the binlog files and sends an error if the primary doesn't have enough binlog data on disk to get a replica in sync.