Currently copydb and sharding are also calling ErrorHandler on ferry to repor the error to the ErrorCallback object whenever any errors occur before the ferry starts running, and after that ferry internally calls the ErrorHandler when any of the components in ferry (DataWriter, BinlogStreamer etc) fails. This is not a desirable design as we should not be calling the ErrorHandler from copydb and sharding. This might require some refactoring on how ErrorHandler works and which component owns this object (copydb. sharding or ferry itself).
Currently copydb and sharding are also calling
ErrorHandler
on ferry to repor the error to theErrorCallback
object whenever any errors occur before the ferry starts running, and after that ferry internally calls theErrorHandler
when any of the components in ferry (DataWriter, BinlogStreamer etc) fails. This is not a desirable design as we should not be calling theErrorHandler
from copydb and sharding. This might require some refactoring on howErrorHandler
works and which component owns this object (copydb. sharding or ferry itself).