Details

    Description

      there are the bug fixes as compared to c01fc2134d439282a21a2ddf687566e198ddee28 @ https://code.google.com/p/google-mysql/ (branch 17-scrubbing)

      Attachments

        Activity

          jonaso, what does this patch fix? The patch includes the test case but it passes for me without any code changes.

          serg Sergei Golubchik added a comment - jonaso , what does this patch fix? The patch includes the test case but it passes for me without any code changes.
          jonaso Jonas Oreland added a comment -

          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 Jonas Oreland added a comment - 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

          Thanks!

          serg Sergei Golubchik added a comment - Thanks!

          People

            serg Sergei Golubchik
            jonaso Jonas Oreland
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.