Fixed memory loss detected on P8. This can happen when we call after_flush but...
Fixed memory loss detected on P8. This can happen when we call after_flush but never call after_rollback() or after_commit(). The old code used pthread_setspecific() to store temporary data used by the thread. This is not safe when used with thread pool, as the thread may change for the transaction. The fix is to save the data in THD, which is guaranteed to be properly freed. I also fixed the code so that we don't do a malloc() for every transaction.
Showing
Please register or sign in to comment