• Satya B's avatar
    Applying InnoDB snashot 5.1-ss5024,part 3. Fixes BUG#42101 · 3ea0fd9d
    Satya B authored
    BUG#42101 - Race condition in innodb_commit_concurrency
    
    Detailed revision comments:
    
    r4994 | marko | 2009-05-14 15:04:55 +0300 (Thu, 14 May 2009) | 18 lines
    branches/5.1: Prevent a race condition in innobase_commit() by ensuring
    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
    3ea0fd9d
ha_innodb.cc 242 KB