Shopify / ghostferry

The swiss army knife of live data migrations
https://shopify.github.io/ghostferry
MIT License
694 stars 65 forks source link

Return first error from `GetEvents` #260

Closed Lincoln23 closed 3 years ago

Lincoln23 commented 3 years ago

If there was an error raised from GetEvents, we retry (up to 5 times) but the original error will be overwritten with a new error

For example, when we provide an invalid binlog position, the first error we get is ERROR 1236 (HY000): Client requested master to start replication from position > file size however on subsequent retries we override the error

WARN[0000] failed to call binlogStreamer.GetEvent        error="ERROR 1236 (HY000): Client requested master to start replication from position > file size" tag=binlog_streamer
ERRO[0000] failed to get binlog event, 1 of 5 max retries  error="ERROR 1236 (HY000): Client requested master to start replication from position > file size" tag=binlog_streamer
WARN[0000] failed to call binlogStreamer.GetEvent        error="Last sync error or closed, try sync and get event again" tag=binlog_streamer
ERRO[0000] failed to get binlog event, 2 of 5 max retries  error="Last sync error or closed, try sync and get event again" tag=binlog_streamer
WARN[0000] failed to call binlogStreamer.GetEvent        error="Last sync error or closed, try sync and get event again" tag=binlog_streamer
ERRO[0000] failed to get binlog event, 3 of 5 max retries  error="Last sync error or closed, try sync and get event again" tag=binlog_streamer
WARN[0000] failed to call binlogStreamer.GetEvent        error="Last sync error or closed, try sync and get event again" tag=binlog_streamer
ERRO[0000] failed to get binlog event, 4 of 5 max retries  error="Last sync error or closed, try sync and get event again" tag=binlog_streamer
WARN[0000] failed to call binlogStreamer.GetEvent        error="Last sync error or closed, try sync and get event again" tag=binlog_streamer
ERRO[0000] failed to get binlog event after 5 attempts, retry limit exceeded  error="Last sync error or closed, try sync and get event again" tag=binlog_streamer