• sergefp@mysql.com's avatar
    BUG#27732 "Possible memory leak with index_merge" · 954a16c6
    sergefp@mysql.com authored
    The bug was that handler::clone/handler::ha_open() call caused allocation of 
    cloned_copy->ref on the handler->table->mem_root. The allocated memory could not 
    be reclaimed until the table is flushed, so it was possible to exhaust memory by 
    repeatedly running index_merge queries without doing table flushes.  
    
    The fix:
    - make handler::clone() allocate new_handler->ref on the passed mem_root 
    - make handler::ha_open() not allocate this->ref if it has already been allocated
    There is no testcase as it is not possible to check small leaks from testsuite.
    954a16c6
handler.cc 77.4 KB