• Julius Goryavsky's avatar
    MDEV-24853: Duplicate key generated during cluster configuration change · 7345d371
    Julius Goryavsky authored
    Incorrect processing of an auto-incrementing field in the
    WSREP-related code during applying transactions results in
    a duplicate key being created. This is due to the fact that
    at the beginning of the write_row() and update_row() functions,
    the values of the auto-increment parameters are used, which
    are read from the parameters of the current thread, but further
    along the code other values are used, which are read from global
    variables (when applying a transaction). This can happen when
    the cluster configuration has changed while applying a transaction
    (for example in the high_priority_service mode for Galera 4).
    Further during IST processing duplicating key is detected, and
    processing of the DB_DUPLICATE_KEY return code (inside innodb,
    in the write_row() handler) results in a call to the
    wsrep_thd_self_abort() function.
    7345d371
ha_innodb.cc 643 KB