← Back to team overview

maria-developers team mailing list archive

MDEV-7502 Automatic provisioning of slave - error reporting


Hello Kristian,

with general idea working (sending of database / table structures +
table data), my next plan is to improve / introduce error handling in
existing code along with error handling on slave side (ddl events not
from provisioning, ignore errors when updating not yet existing rows,
...). What are general guidelines for introduction of new error codes?
Is there anything else I need to do except adding it to
/sql/share/errmsg-utf8.txt ?

I would create only one new error code - ER_PROVISIONING_FAILED - and
place specific messages inside formatted text - same way as
ER_MASTER_FATAL_ERROR_READING_BINLOG works. It doesn't go well with
translations, but... you can decide. Maybe create different error
codes at least for errors, where we are expecting user to fix them -
table without index, statement mode.

Also, how to tell slave from master that provisioning finished? Is
introduction of new error code ER_PROVISIONING_DONE acceptable
solution? The error itself would never produce error message in logs.
Alternatively I can reuse / create similar event to Stop_log_event,
note - provisioning is completed after SQL thread processes whole
relay log, not when IO thread receives this event, so even reuse would
require additional code.

And side question, is there any log event other than Query_log_event
which can produce ddl statement?


Follow ups