Bug #89032 Reset values of keys in dd::Properties when repeatedly restarting new MRU
Submitted: 22 Dec 2017 12:01 Modified: 8 Oct 2018 7:59
Reporter: Sivert Sørumgård Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Data Dictionary Severity:S3 (Non-critical)
Version:8.0.4 OS:Any
Assigned to: CPU Architecture:Any

[22 Dec 2017 12:01] Sivert Sørumgård
Description:
We may add new keys to dd::Properties objects in a new MRU without having a new DD version, since there is no change to the DD table definitions. Thus, when e.g. starting MRU2, which e.g. adds a new key to the meta data of some DD entity, if we create a new entity, then the meta data for this entity may contain the new key. If we then restart MRU1 (which does not support the new key added by MRU2), and do changes to the DD entity, the new key may still be part of the meta data, but its value will not be maintained. And hence, if we restart MRU2 again, it may find the new key already present, but its value may not be valid.

How to repeat:
.

Suggested fix:
This can be improved by:
1. Keep track of which keys are valid within each server version.
2a. When restarting a server, if the previous server running had a different version number, scan all fields in the DD and remove unknown keys.
2b. Alternatively, when storing the meta data of a DD object, remove all unknown keys. This will work if we can assume that the meta data will stay valid as long as the DD objects is not updated and stored.
[8 Oct 2018 7:59] Sivert Sørumgård
Posted by developer:
 
Fix of bug#27309072 implements alternative 2b.
[15 Oct 2018 12:06] Daniel Price
Posted by developer:
 
Covered by changelog entry for Bug #27309072 / #89031.