-
Notifications
You must be signed in to change notification settings - Fork 343
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gca trunk #1509
Gca trunk #1509
Conversation
Fix the following issues: 1. ``` /data/percona-xtrabackup/8.0/storage/innobase/xtrabackup/src/keyring_plugins.cc:191:35: error: 'sizeof (TRANSITION_KEY_PREFIX)' will return the size of the pointer, not the array itself [-Werror,-Wsizeof-pointer-div] sizeof(TRANSITION_KEY_PREFIX) / sizeof(char); ``` 2. All files that use `UT_NEW_THIS_FILE_PSI_KEY` should be added to `auto_event_names` in auto_event_names in `storage/innobase/include/ut0new.h` because in another case we have: ``` /data/percona-xtrabackup/8.0/storage/innobase/xtrabackup/src/backup_copy.cc:440:74: error: array index -1 is before the beginning of the array [-Werror,-Warray-bounds] data_threads = (datadir_thread_ctxt_t *)(ut::malloc_withkey(UT_NEW_THIS_FILE_PSI_KEY, length)); ^~~~~~~~~~~~~~~~~~~~~~~~ /data/percona-xtrabackup/8.0/storage/innobase/include/ut0new.h:566:34: note: expanded from macro 'UT_NEW_THIS_FILE_PSI_KEY' : ut::make_psi_memory_key(auto_event_keys[UT_NEW_THIS_FILE_PSI_INDEX])) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/percona-xtrabackup/8.0/storage/innobase/include/ut0new.h:447:1: note: array 'auto_event_keys' declared here extern PSI_memory_key auto_event_keys[n_auto]; ``` 3. Add `#include <cstdint>` to fix: ``` /data/percona-xtrabackup/8.0/components/keyrings/common/data/data.h:69:24: error: no member named 'uintptr_t' in namespace 'std' std::hash<std::uintptr_t>{}(reinterpret_cast<std::uintptr_t>(this)); ~~~~~^ /data/percona-xtrabackup/8.0/components/keyrings/common/data/data.h:69:54: error: no type named 'uintptr_t' in namespace 'std'; did you mean simply 'uintptr_t'? std::hash<std::uintptr_t>{}(reinterpret_cast<std::uintptr_t>(this)); ^~~~~~~~~~~~~~ uintptr_t ``` 4. Port fixes from Percona Server related to "not marked 'override'" e.g.: ``` In file included from /data/percona-xtrabackup/8.0/plugin/keyring/common/keys_container.cc:30: /data/percona-xtrabackup/8.0/plugin/keyring/common/system_keys_container.h:41:3: error: '~System_keys_container' overrides a destructor but is not marked 'override' [-Werror,-Winconsistent-missing-destructor-override] ~System_keys_container(); ^ /data/percona-xtrabackup/8.0/plugin/keyring/common/i_system_keys_container.h:30:11: note: overridden virtual function is here virtual ~ISystem_keys_container() {} ``` 5. Port fixes from Percona Server related to "shadows member inherited from" e.g.: ``` /data/percona-xtrabackup/8.0/plugin/keyring_vault/vault_keys_container.h:30:33: error: parameter 'logger' shadows member inherited from type 'Keys_container' [-Werror,-Wshadow-field] Vault_keys_container(ILogger *logger) noexcept : Keys_container(logger) {} ``` 6. ``` /data/percona-xtrabackup/8.0/plugin/keyring/common/keyring_memory.h:63:3: error: definition of implicit copy assignment operator for 'Secure_allocator<char>' is deprecated because it has a user-provided copy constructor [-Werror,-Wdeprecated-copy-with-user-provided-copy] Secure_allocator(const Secure_allocator &secure_allocator) noexcept ``` 7. ``` /data/percona-xtrabackup/8.0/storage/innobase/xtrabackup/src/xbcloud/xbcloud.cc:1157:15: error: lambda capture 'cntx' is not used [-Werror,-Wunused-lambda-capture] [&cntx, &thread_state](bool success, const Http_buffer &contents, ``` 8. ``` /data/percona-xtrabackup/8.0/storage/innobase/xtrabackup/src/rapidxml/rapidxml.hpp:85:42: error: dynamic exception specifications are deprecated [-Werror,-Wdeprecated-dynamic-exception-spec] virtual const char *what() const throw() override ```
PXB-3139: Fix gcc-13 and clang-16 compilation issues
This is a single commit that removes the old keyring encryption code. The commit is ported from percona/percona-server@63a9939f284
1. Make a diff with upstream smaller to reduce a number of merge conflicts. 2. It will also help to reduce number of modifications added in a linear-history branch.
PS-8337: Remove old keyring encryption code
PXB-3145 [8.0]: Remove a diff with upstream in "mysql-test/" directory
8.0 Fix PXB-3147: Xtrabackup failed to execute query 'DO innodb_redo_log_…
Adjusted keyring to always pass plugin dir. Adjusted mix plugins to ensure we are running on PS Bootstrap to download correct glibc version Bumped default server version Added python3 version of subunit2junitxml (cherry picked from commit d9d47b5) Fixed is_xbcloud_credentials_set: On centos7 the expanded command "${XBCLOUD_CREDENTIALS:-unset}" == "unset" return 1 to the caller rather than 0. Fixed by properly adjusting the function to have an if statement.
Fixed test cases and bootstrap
|
Testing
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe you just merged 8.0 to trunk. And this happened because we didn't merge every new 8.0 commit to 8.1?
Will we need to repeat the same exercise again in future? I think that if every commit from now follows GCA, we will not need the bulk GCA merge PRs? right @altmannmarcelo
@satya-bodapati correct, we will now have to create the 8.0 branches with the last GCA point, and do the trunk PR merging the corresponding GCA branch with the fixes. |
Yeah, good old painful times 😆 Can we exclude some folders from GCA points? I remember docs and build team has two folders, that are different across versions and they do not like GCA. Luckily docs moved out of PXB source tree but build folders are in PXB tree. It would be great if we can add them to ignore or exemption folders. I remember Rahul used to do GCA merges at frequent intervals. He did NULL Merge them and keep them in sync. Better if we can avoid this with the exemption/ignore list. |
This is the first release of trunk. We are kind of in an in-transit state until we have the flow all figured out. In this particular case, we had two sets of commits that did not followed GCA. The vault removal of unused code and mine work on bootstrap and test cases. Going forward we should enforce GCA on all of those. Perhaps even have a github action to validate it. |
True marce, we can do the GCA and enforce it. Build team has a point that their build code is different in both versions and they want to avoid the pain of merging their changes to 8.1 (if they do a change on 8.0). It's just blind null merge always for them. Either they adapt and do null merge or we add an exemption to their dir. We can finalize this later. |
@satya-bodapati ack, lets take this one offline. I would like to understand the exclude of GCA possibility. |
Advanced GCA point of 8.0