mariadb/storage
Marko Mäkelä 8cf8ad86d4 MDEV-23547 InnoDB: Failing assertion: *len in row_upd_ext_fetch
This bug was originally repeated on 10.4 after defining a UNIQUE KEY
on a TEXT column, which is implemented by MDEV-371 by creating the
index on a hidden virtual column.

While row_vers_vc_matches_cluster() is executing in a purge thread
to find out if an index entry may be removed in a secondary index
that comprises a virtual column, another purge thread may process
the undo log record that this check is interested in, and write
a null BLOB pointer in that record. This would trip the assertion.

To prevent this from occurring, we must propagate the 'missing BLOB'
error up the call stack.

row_upd_ext_fetch(): Return NULL when the error occurs.

row_upd_index_replace_new_col_val(): Return whether the previous
version was built successfully.

row_upd_index_replace_new_col_vals_index_pos(): Check the error
result. Yes, we would intentionally crash on this error if it
occurs outside the purge thread.

row_upd_index_replace_new_col_vals(): Check for the error condition,
and simplify the logic.

trx_undo_prev_version_build(): Check for the error condition.
2020-08-25 15:32:15 +03:00
..
archive Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
blackhole MDEV-11094: Blackhole table updates on slave fail when row annotation is enabled 2019-05-29 17:35:29 +05:30
cassandra Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
connect Merge remote-tracking branch 'connect/10.2' into 10.2 2020-08-02 11:14:56 +02:00
csv Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
example Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
federated Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
federatedx Merge 10.1 into 10.2 2019-04-03 19:58:47 +03:00
heap MDEV-21082: isnan/isinf compilation errors, isfinite warnings on MacOS 2019-11-19 16:28:15 +03:00
innobase MDEV-23547 InnoDB: Failing assertion: *len in row_upd_ext_fetch 2020-08-25 15:32:15 +03:00
maria Fix GCC 10.2.0 -Og -Wmaybe-uninitialized 2020-08-11 15:58:16 +03:00
mroonga Merge 10.1 into 10.2 2020-06-01 09:33:03 +03:00
myisam Fix GCC 10.2.0 -Og -Wmaybe-uninitialized 2020-08-11 15:58:16 +03:00
myisammrg Merge branch '10.1' into 10.2 2020-08-02 11:05:29 +02:00
oqgraph Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
perfschema Fix GCC 10 -Wstringop-truncation 2020-03-13 07:39:14 +02:00
rocksdb MDEV-23511 shutdown_server 10 times out, causing server kill at shutdown 2020-08-21 14:48:53 +03:00
sequence Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
sphinx MDEV-20647 Fix and enable SphinxSE tests 2019-09-30 15:47:09 +03:00
spider MDEV-17508 Fix bug for spider when using "not like" 2019-11-25 15:40:01 +01:00
test_sql_discovery Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
tokudb Merge branch '10.1' into 10.2 2020-08-06 16:47:39 +02:00
xtradb Merge 10.1 into 10.2 2020-08-13 17:50:40 +03:00