• Nikita Malyavin's avatar
    MDEV-29013 ER_KEY_NOT_FOUND/lock timeout upon online alter with long unique · 6e0f4560
    Nikita Malyavin authored
    1. ER_KEY_NOT_FOUND
    general replcation problem, already fixed earlier.
    test added.
    
    2. ER_LOCK_WAIT_TIMEOUT
    This is a long unique specific problem.
    
    Sometimes, lookup_handler is created for to->file. To properly free it,
    ha_reset should be called. It is usually done by calling
    close_thread_table, but ALTER TABLE makes it differently. Hence, a single
    ha_reset call is added to mysql_alter_table.
    
    Also, event_mem_root is removed. Normally, no per-event data should be
    allocated on thd->mem_root, that would mean a leak. And otherwise,
    lookup_handler is lazily allocated, but its lifetime matches statement,
    not event.
    6e0f4560
alter_table_online_debug.result 25.4 KB