memtx: do not use memtx_build_on_replace trigger with mvcc enabled
Now background build of index uses index iterator that collects conflicts during iteration if MVCC is enabled. Thus, trigger `memtx_build_on_replace` is not needed - if someone writes to prefix we already scanned, it will lead to transaction conflict. Moreover, `memtx_ddl_state` that is needed for rollback is allocated on stack of function called from DDL transaction, so if conflicted transaction rolls back later that DDL is over (and it's possible only with MVCC enabled), segmentation fault will happen. So let's simply don't set the trigger is MVCC is enabled. Closes #10147 NO_CHANGELOG=later NO_DOC=bugfix (cherry picked from commit 9fe60c5754cf77686404fc7ee3d24af32b6c486c)
Loading
Please register or sign in to comment