diff --git a/sql/wsrep_hton.cc b/sql/wsrep_hton.cc index 86a0b6e1ece..1e16c0907c8 100644 --- a/sql/wsrep_hton.cc +++ b/sql/wsrep_hton.cc @@ -490,7 +490,8 @@ wsrep_run_wsrep_commit(THD *thd, handlerton *hton, bool all) case WSREP_BF_ABORT: DBUG_ASSERT(thd->wsrep_trx_meta.gtid.seqno != WSREP_SEQNO_UNDEFINED); case WSREP_TRX_FAIL: - WSREP_DEBUG("commit failed for reason: %d", rcode); + WSREP_DEBUG("commit failed for reason: %d %lu %s", rcode, thd->thread_id, + thd->query()); DBUG_PRINT("wsrep", ("replicating commit fail")); thd->wsrep_query_state= QUERY_EXEC; diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index 5c433e0d771..4c118f2ff3d 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -7623,6 +7623,14 @@ no_commit: #ifdef WITH_WSREP /* workaround for LP bug #355000, retrying the insert */ case SQLCOM_INSERT: + + WSREP_DEBUG("DUPKEY error for autoinc\n" + "THD %ld, value %llu, off %llu inc %llu", + wsrep_thd_thread_id(current_thd), + auto_inc, + prebuilt->autoinc_offset, + prebuilt->autoinc_increment); + if (wsrep_on(current_thd) && auto_inc_inserted && wsrep_drupal_282555_workaround && @@ -7638,8 +7646,7 @@ no_commit: error= DB_SUCCESS; wsrep_thd_set_conflict_state( current_thd, MUST_ABORT); - innobase_srv_conc_exit_innodb( - prebuilt->trx); + innobase_srv_conc_exit_innodb(prebuilt->trx); /* jump straight to func exit over * later wsrep hooks */ goto func_exit; @@ -9700,10 +9707,10 @@ wsrep_append_key( DBUG_ENTER("wsrep_append_key"); bool const copy = true; #ifdef WSREP_DEBUG_PRINT - fprintf(stderr, "%s conn %ld, trx %llu, keylen %d, table %s ", + fprintf(stderr, "%s conn %ld, trx %llu, keylen %d, table %s\n Query: %s ", (shared) ? "Shared" : "Exclusive", wsrep_thd_thread_id(thd), (long long)trx->id, key_len, - table_share->table_name.str); + table_share->table_name.str, wsrep_thd_query(thd)); for (int i=0; iautoinc_increment > increment) { +#ifdef WITH_WSREP + WSREP_DEBUG("autoinc decrease: %llu -> %llu\n" + "THD: %ld, current: %llu, autoinc: %llu", + prebuilt->autoinc_increment, + increment, + wsrep_thd_thread_id(ha_thd()), + current, autoinc); + if (!wsrep_on(ha_thd())) + { +#endif /* WITH_WSREP */ current = autoinc - prebuilt->autoinc_increment; +#ifdef WITH_WSREP + } +#endif /* WITH_WSREP */ current = innobase_next_autoinc( current, 1, increment, 1, col_max_value); diff --git a/storage/xtradb/handler/ha_innodb.cc b/storage/xtradb/handler/ha_innodb.cc index 3e245e7e537..f31c7c60bf2 100644 --- a/storage/xtradb/handler/ha_innodb.cc +++ b/storage/xtradb/handler/ha_innodb.cc @@ -8207,6 +8207,14 @@ no_commit: #ifdef WITH_WSREP /* workaround for LP bug #355000, retrying the insert */ case SQLCOM_INSERT: + + WSREP_DEBUG("DUPKEY error for autoinc\n" + "THD %ld, value %llu, off %llu inc %llu", + wsrep_thd_thread_id(current_thd), + auto_inc, + prebuilt->autoinc_offset, + prebuilt->autoinc_increment); + if (wsrep_on(current_thd) && auto_inc_inserted && wsrep_drupal_282555_workaround && @@ -10331,10 +10339,10 @@ wsrep_append_key( DBUG_ENTER("wsrep_append_key"); bool const copy = true; #ifdef WSREP_DEBUG_PRINT - fprintf(stderr, "%s conn %ld, trx %llu, keylen %d, table %s ", + fprintf(stderr, "%s conn %ld, trx %llu, keylen %d, table %s\n Query: %s ", (shared) ? "Shared" : "Exclusive", wsrep_thd_thread_id(thd), (long long)trx->id, key_len, - table_share->table_name.str); + table_share->table_name.str, wsrep_thd_query(thd)); for (int i=0; iautoinc_increment > increment) { +#ifdef WITH_WSREP + WSREP_DEBUG("autoinc decrease: %llu -> %llu\n" + "THD: %ld, current: %llu, autoinc: %llu", + prebuilt->autoinc_increment, + increment, + wsrep_thd_thread_id(ha_thd()), + current, autoinc); + if (!wsrep_on(ha_thd())) + { +#endif /* WITH_WSREP */ current = autoinc - prebuilt->autoinc_increment; +#ifdef WITH_WSREP + } +#endif /* WITH_WSREP */ current = innobase_next_autoinc( current, 1, increment, 1, col_max_value);