[MDEV-25998] InnoDB removes the tablespace from default encrypt list early Created: 2021-06-23 Updated: 2021-07-27 Resolved: 2021-07-26 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.2, 10.3, 10.4, 10.5, 10.6 |
| Fix Version/s: | 10.2.40, 10.3.31, 10.4.21, 10.5.12, 10.6.4 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Thirunarayanan Balathandayuthapani | Assignee: | Thirunarayanan Balathandayuthapani |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
Scenario is like the following:
Solution could be the only the last active encryption thread working on the thread |
| Comments |
| Comment by Thirunarayanan Balathandayuthapani [ 2021-06-23 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Above stack trace when innodb_encrypt_tables is 1.
| |||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2021-07-06 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Raising the priority because the test is failing very frequently in buildbot (10-20 times a day on average), it needs to be fixed. | |||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Thirunarayanan Balathandayuthapani [ 2021-07-08 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Added the patch to avoid the failures in buildbot as of now. It is a workaround patch to stop the noise in buildbot. Patch | |||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2021-07-20 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
I see that the 10.2 version is a test-only change, while the 10.6 version is a code-only change. In the 10.6 code-only change, the new function fil_crypt_space_remove_list() is reading srv_encrypt_tables multiple times, which looks suboptimal to me, but should not be a correctness issue, because both that function and SET GLOBAL innodb_encrypt_tables are protected by fil_system.mutex. I would appreciate an assertion to document the mutex ownership. That change passed 3,400 runs of encryption.innodb_encryption_keys without any problems for me. So, it should be OK to push after some cleanup. |