• Davi Arnaut's avatar
    Bug#56822: Add a thread state for sessions waiting on the query cache lock · 76643a46
    Davi Arnaut authored
    The problem was that threads waiting on the query cache lock
    are not easily seen due to the lack of a state indicating that
    the thread is waiting on the said lock. This made it difficult
    for users to quickly spot (for example, via SHOW PROCESSLIST)
    a query cache contention problem.
    
    The solution is to update the thread state when the query cache
    lock needs to be acquired. Whenever the lock is to be acquired,
    the thread state is updated to "Waiting for query cache lock"
    and is reset once the lock is granted or the wait is interrupted.
    The intention is to make query cache related hangs more evident.
    
    To further investigate query cache related locking problems, one
    may use PERFORMANCE_SCHEMA to track the overhead associated with
    the locking bits and determine which particular lock is being a
    contention point.
    76643a46
query_cache_debug.test 10.1 KB