Hi,
It fixes
1) a race condition where the redo log contains an update of the crypt data,
and it's currently inuse by other threads participating in recovery.
prior to patch, the code would delete the old object and replace it with new found in redolog, this could lead to use-after-free problems.
after patch, the code instead verifies that update is reasonable, and adjust an the existing object instead.
2) an bug with temporary innodb tables where they were dropped before crypt "sub-system" was initialized.
this is the testcase, I'm not sure why it doesn't fail for you. maybe Jan merged the code to put the initialization in the "right" place to start with.
this part of the patch split the initialization into fil_crypt_init() and fil_crypt_threads_init(),
and I see the the patch I uploaded is missing the calling of fil_crypt_threads_init and only adds a call to fil_crypt_init,
it should be that the call is added, and the old call should be changed.
—
Hope this makes sense
/Jonas
jonaso, what does this patch fix? The patch includes the test case but it passes for me without any code changes.