diff options
Diffstat (limited to 'storage/xtradb/row/row0umod.cc')
-rw-r--r-- | storage/xtradb/row/row0umod.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/storage/xtradb/row/row0umod.cc b/storage/xtradb/row/row0umod.cc index 6a23e1a6c12..675d4fa3632 100644 --- a/storage/xtradb/row/row0umod.cc +++ b/storage/xtradb/row/row0umod.cc @@ -334,8 +334,15 @@ row_undo_mod_clust( } } - ut_ad(rec_get_trx_id(btr_pcur_get_rec(pcur), index) - == node->new_trx_id); + /** + * when scrubbing, and records gets cleared, + * the transaction id is not present afterwards. + * this is safe as: since the record is on free-list + * it can be reallocated at any time after this mtr-commits + * which is just below + */ + ut_ad(srv_immediate_scrub_data_uncompressed || + rec_get_trx_id(btr_pcur_get_rec(pcur), index) == node->new_trx_id); btr_pcur_commit_specify_mtr(pcur, &mtr); |