Merge lp:~gl-az/percona-server/BT-23598-bug1167487-5.6 into lp:percona-server/5.6
Status: | Merged |
---|---|
Approved by: | Laurynas Biveinis |
Approved revision: | no longer in the source branch. |
Merged at revision: | 468 |
Proposed branch: | lp:~gl-az/percona-server/BT-23598-bug1167487-5.6 |
Merge into: | lp:percona-server/5.6 |
Diff against target: |
160 lines (+43/-17) 4 files modified
Percona-Server/include/my_getopt.h (+1/-0) Percona-Server/mysql-test/r/percona_enhanced_options_modifiers.result (+3/-1) Percona-Server/mysys_ssl/my_getopt.cc (+37/-16) Percona-Server/sql/mysqld.cc (+2/-0) |
To merge this branch: | bzr merge lp:~gl-az/percona-server/BT-23598-bug1167487-5.6 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Laurynas Biveinis (community) | Approve | ||
Review via email: mp+187664@code.launchpad.net |
Description of the change
Merged from 5.5:
Fix for https:/
Originally this was just written off as a known, one time leak, which is is, but the failure causes scripted testing to fail and is really just sloppy.
To fix, a new path needed to be created from mysqld main() through my_cleanup and into the my_getopt.c to properly free the options modifiers structures created and saved during option parsing.
A new function was created called handle_
getopt_
While testing, a bad memory read/write was discovered in the min and max constraints which caused a crash during freeing of the constraints structs on shutdown. That has been fixed.
While testing, discovered a bug that caused incorrect behavior, reported as https:/
The my_option_
The issue is that the searches were performed with non-normalized names, so the find function would not find a record for the same option name (innodb_io_capacity vs innodb-
The new record would be returned and used for that particular constraint setting but would be leaked because it did not exist in the hash. The constraing is then not 'recorded' so any attempt to set outside of the constraint would succeed.
Fixed by transforming the name before looking up the constraint in the hash.
http:// jenkins. percona. com/view/ PS%205. 6/job/percona- server- 5.6-param/ 309/
Same as mentioned in 5.5 MP, there are a few different failures from prior jenkins runs but have nothing to do w/ this fix. Please take a bit of a close look (I already did) to double check my work and make sure nothing was introduced.