diff --git a/storage/innobase/btr/btr0cur.cc b/storage/innobase/btr/btr0cur.cc index b56b4cac392..a8ce43741ef 100644 --- a/storage/innobase/btr/btr0cur.cc +++ b/storage/innobase/btr/btr0cur.cc @@ -5152,7 +5152,21 @@ btr_free_externally_stored_field( /* In the rollback, we may encounter a clustered index record with some unwritten off-page columns. There is nothing to free then. */ - ut_a(rb_ctx != RB_NONE); + if (rb_ctx != RB_NONE) { + char buf[3 * 512]; + char *bufend; + ulint ispace = dict_index_get_space(index); + bufend = innobase_convert_name(buf, sizeof buf, + index->name, strlen(index->name), + NULL, + FALSE); + buf[bufend - buf]='\0'; + ib_logf(IB_LOG_LEVEL_ERROR, "Unwritten off-page columns in " + "rollback context %d. Table %s index %s space_id %lu " + "index space %lu.", + rb_ctx, index->table->name, buf, space_id, ispace); + } + return; } diff --git a/storage/xtradb/btr/btr0cur.cc b/storage/xtradb/btr/btr0cur.cc index e2592b5dbd8..e84aaf1a54f 100644 --- a/storage/xtradb/btr/btr0cur.cc +++ b/storage/xtradb/btr/btr0cur.cc @@ -5338,7 +5338,21 @@ btr_free_externally_stored_field( /* In the rollback, we may encounter a clustered index record with some unwritten off-page columns. There is nothing to free then. */ - ut_a(rb_ctx != RB_NONE); + if (rb_ctx != RB_NONE) { + char buf[3 * 512]; + char *bufend; + ulint ispace = dict_index_get_space(index); + bufend = innobase_convert_name(buf, sizeof buf, + index->name, strlen(index->name), + NULL, + FALSE); + buf[bufend - buf]='\0'; + ib_logf(IB_LOG_LEVEL_ERROR, "Unwritten off-page columns in " + "rollback context %d. Table %s index %s space_id %lu " + "index space %lu.", + rb_ctx, index->table->name, buf, space_id, ispace); + } + return; }