• marko's avatar
    branches/5.1: Prevent a race condition in innobase_commit() by ensuring · 4047915e
    marko authored
    that innodb_commit_concurrency>0 remains constant at run time. (Bug #42101)
    
    srv_commit_concurrency: Make this a static variable in ha_innodb.cc.
    
    innobase_commit_concurrency_validate(): Check that innodb_commit_concurrency
    is not changed from or to 0 at run time.  This is needed, because
    innobase_commit() assumes that innodb_commit_concurrency>0 remains constant.
    Without this limitation, the checks for innodb_commit_concurrency>0
    in innobase_commit() should be removed and that function would have to
    acquire and release commit_cond_m at least twice per invocation.
    Normally, innodb_commit_concurrency=0, and introducing the mutex operations
    would mean significant overhead.
    
    innodb_bug42101.test, innodb_bug42101-nonzero.test: Test cases.
    
    rb://123 approved by Heikki Tuuri
    4047915e
srv0srv.h 18 KB