Merge encryption threads to 8.0.15 trunk

Description

Some of the encryption threads are still failing, mostly randomly. However overall they are in a good shape, passing almost ~95% (https://ps80.cd.percona.com/job/percona-server-8.0-param/85/testReport/). At this point I want to merge those tests to trunk, so they would be run on Jenkins. This tickets covers refactoring needed before the merge and any fixing required.

Environment

None

Smart Checklist

Activity

Show:

Satya Bodapati June 5, 2019 at 7:24 AM

Q4. how is this working? :thinking_face: On every page, from offset 26-33 is used by IO compression and IO encryption. Keyring key encrpytion seems to reuse the exact 8bytes FIL_PAGE_ZIP_KEYRING_ENCRYPTION_MAGIC (26-29) and FIL_PAGE_ENCRYPTION_KEY_VERSION (30-33)

 

Satya Bodapati May 30, 2019 at 2:05 PM

Q3. Both MK and Keyring key are writing encryption header at page 0 offset 10390. How does this work when MK is converted to Keyring key online? wouldn't both encryption schemes need their respective headers to be available at same time ?

Satya Bodapati May 29, 2019 at 2:24 PM
Edited

Q1: Why encryption header for keyring_key has "space_id" and "offset"?

 

Reference code:

 

Q2: Why 4 bytes for encryption rotation type?

enum Encryption_rotation { NO_ROTATION, MASTER_KEY_TO_KEYRING }; is what we write. 4 bytes definitely is a lot.

Satya Bodapati May 29, 2019 at 2:21 PM

I will be asking some questions here. Robert is away. These are notes so that we can discuss later

Done

Details

Assignee

Reporter

Time tracking

3w 1d 2h 58m logged

Fix versions

Affects versions

Priority

Smart Checklist

Created April 17, 2019 at 7:48 AM
Updated March 6, 2024 at 12:13 PM
Resolved June 16, 2020 at 11:49 AM