• Sunny Bains's avatar
    Bug#54583 InnoDB: Assertion failure sync/sync0sync.c:1226 · 7c6d9a94
    Sunny Bains authored
          
    Silence the UNIV_SYNC_DEBUG assertion failure while upgrading old data files
    to multiple rollback segments during server startup. Because the upgrade
    takes place while InnoDB is running a single thread, we can safely ignore the
    latching order checks without fearing deadlocks.
          
    innobase_start_or_create_for_mysql(): Set srv_is_being_started = FALSE
    only after trx_sys_create_rsegs() has completed.
          
    sync_thread_add_level(): If srv_is_being_started, ignore latching order
    violations for SYNC_TRX_SYS_HEADER and SYNC_IBUF_BITMAP.
    
    Create all the non-IO threads after creating the extra rollback segments.
    
    Patch originally from Marko with some additions by Sunny.
    7c6d9a94
sync0sync.c 42.7 KB