-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Comparing changes
Open a pull request
base repository: github/gh-ost
base: v1.1.7
head repository: github/gh-ost
compare: master
- 6 commits
- 33 files changed
- 8 contributors
Commits on Jan 5, 2025
-
Improve logic to include originalUniqueKey in sharedUniqueKeys (#1453)
Until now, when building the list of SharedUniqueKeys, the code was selecting only the originalUniqueKeys that existed in ghostUniqueKeys list. However, as part of the alter table, it is possible to add more unique keys or even composed primary keys with multiple columns. The new logic keeps the old behaviour (it matches originalUniqueKey with exactly the same ghostUniqueKey) but also supports the cases where the originalUniqueKey is now a subset of one of the new ghostUniqueKeys. If such a case happens, we can still use the originalUniqueKey as normal because a new ghostUniqueKey with the columns of originalUniqueKey plus some new columns is inherently unique just by the columns in the originalUniqueKey, no matter the value in the new columns of the new unique key.
Configuration menu - View commit details
-
Copy full SHA for ad5d3ea - Browse repository at this point
Copy the full SHA ad5d3eaView commit details
Commits on Feb 10, 2025
-
* WIP: MySQL 8.4 support * Add go-version for doing version comparisons * docker-gh-ost-replica-tests: Support MySQL 8.4+ * localtests: Support MySQL 8.4 * Remove mysql-8.4.3 from replica-tests GHA since dbdeployer / ci env does not have 8.4.3 * MySQL 8.4: Actually use caching_sha2_password pw strategy * Commit up vendor/github.com/hashicorp/go-version * Add GHA job for docker-gh-ost-replica-tests * localtests/test.sh: Fix conditional bug and replica_terminology typo
Configuration menu - View commit details
-
Copy full SHA for be413cf - Browse repository at this point
Copy the full SHA be413cfView commit details -
Prevent exponential backoff from overflowing. (#1491)
When using `-cut-over-exponential-backoff` with `-default-retries` greater than `64`, the sleep interval will overflow and immediately begin retrying in rapid succession. This commit corrects the backoff algorithm and adds test for both "retry operation" functions. Co-authored-by: meiji163 <meiji163@github.com>
Configuration menu - View commit details
-
Copy full SHA for 2ea0e60 - Browse repository at this point
Copy the full SHA 2ea0e60View commit details
Commits on Feb 24, 2025
-
Fix TLS verify error when gh-ost discovers the replication master (#1487
) * Update connection.DuplicateCredentials function to set correct ServerName property Ensure the ServerName TLS property matches the new connection instance key hostname to avoid TLS verify errors like the following: 2025-01-02 02:07:26 FATAL tls: failed to verify certificate: x509: certificate is valid for [old host], not [new host] This is only one part of the fix for this issue. The second part, registering TLS Config with the mysql driver, will come in subsequent commits. * Use connection.DuplicateCredentials in cases where the connection key changes * Extract TLS config key name generation to GetDBTLSConfigKey function * Extract function to register a connection's TLS config with the mysql driver This allows us to register TLS configuration is the various places where connection configs are created and before they're used. * Register TLS config when setting up master connection info This ensures that the master's TLS config has been registered with the mysql driver before any connections are attempted. This is the second part of resolving the following TLS verify error: 2025-01-02 02:07:26 FATAL tls: failed to verify certificate: x509: certificate is valid for [old host], not [new host] * Register TLS config when setting up the throttler's connection info This ensures that the throttler's TLS config has been registered with the mysql driver before any connections are attempted. This is the second part of resolving the following TLS verify error: 2025-01-02 02:07:26 FATAL tls: failed to verify certificate: x509: certificate is valid for [old host], not [new host] --------- Co-authored-by: meiji163 <meiji163@github.com>
Configuration menu - View commit details
-
Copy full SHA for d8672f7 - Browse repository at this point
Copy the full SHA d8672f7View commit details
Commits on Feb 28, 2025
-
Avoid logging MySQL connection configs (#1501)
* Fix clear-text logging of connection config Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * don't log connection configs --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 7ea3047 - Browse repository at this point
Copy the full SHA 7ea3047View commit details
Commits on Mar 3, 2025
-
Fix #1502 Add triggers support (#1503)
* Add trigger support to gh-ost based on openark#30 * Add comprehensive test cases for trigger support functionality * Fix trigger-basic test by adding required --trigger-suffix parameter and remove fail-trigger-unsupported test * Update trigger suffix in local test configurations Modify extra_args files for trigger-complex, trigger-multiple, and trigger-self-reference tests to use different trigger suffixes * Add --remove-trigger-suffix-if-exists to local test configurations Update extra_args files for trigger tests to include the new --remove-trigger-suffix-if-exists option, ensuring consistent trigger handling across different test scenarios * Fix trigger-long-name test by reducing trigger name length to be valid * Standardize trigger drop statements in local test configurations Update create.sql files across trigger test scenarios to: - Consistently drop both original and ghost triggers - Ensure clean slate before creating triggers - Align with recent trigger suffix changes This change improves test reliability and consistency by explicitly dropping all potential trigger variations before test setup. * Consolidate and enhance trigger test configurations Refactor local test scenarios for triggers by: - Merging multiple trigger test configurations into comprehensive test cases - Updating create.sql files with more complex and diverse trigger scenarios - Standardizing trigger and table setup across different test configurations - Removing redundant test directories while preserving test coverage This change simplifies the trigger testing infrastructure and provides more robust test coverage for gh-ost's trigger handling capabilities. * Add debug logging for ghost trigger validation process Enhance ghost trigger existence check by adding detailed debug logging to: - Log the ghost trigger name being searched - Log the database schema and query details - Log when an existing ghost trigger is found This change improves visibility into the trigger validation process, making troubleshooting easier during migration scenarios. * Improve ghost trigger validation with enhanced logging and verification Modify validateGhostTriggersDontExist() to: - Add a direct query to log all triggers in the database schema - Refactor trigger existence check to use count-based query - Improve debug logging for trigger validation process - Provide more detailed error reporting for existing ghost triggers This change enhances the robustness and observability of the trigger validation mechanism in gh-ost's migration process. * Refactor ghost trigger validation to improve logging and error detection Simplify and enhance the validateGhostTriggersDontExist() method by: - Removing redundant direct query logging - Streamlining trigger existence check - Improving debug logging for trigger validation - Consolidating trigger existence detection logic The changes provide more concise and focused trigger validation with clearer error reporting. * Simplify ghost trigger validation query and reduce logging verbosity Refactor validateGhostTriggersDontExist() to: - Streamline trigger existence check query - Remove redundant debug logging statements - Use a more concise approach to detecting existing triggers The changes reduce code complexity while maintaining the core validation logic for ghost triggers. * Enhance ghost trigger validation query to include table name filter Modify validateGhostTriggersDontExist() to: - Add table name filter to trigger existence check query - Improve specificity of ghost trigger detection - Prevent false positives from similarly named triggers in different tables The change ensures more precise ghost trigger validation by incorporating the original table name into the query criteria. * Enhance trigger test configuration with advanced features and consolidated test scenarios Update trigger-advanced-features test configuration to: - Add new column 'color' and 'modified_count' to test table - Implement more complex trigger logic for color and count tracking - Consolidate trigger test scenarios with richer data transformations - Modify event to test both numeric and color-based updates - Remove redundant trigger-basic-features directory The changes provide a more comprehensive and nuanced test suite for gh-ost's trigger handling capabilities, demonstrating advanced trigger behaviors and self-referencing updates. * Fix lint errors * Update trigger test configuration with suffix change Modify the extra_args file to use '_ght' trigger suffix instead of '_gho', maintaining consistency with recent trigger test configuration updates. * Remove gh-ost-ci-env submodule Clean up repository by removing the gh-ost-ci-env submodule, which appears to be no longer needed in the project structure. * Update create.sql --------- Co-authored-by: Yakir Gibraltar <yakir.g@taboola.com>
Configuration menu - View commit details
-
Copy full SHA for 0263a20 - Browse repository at this point
Copy the full SHA 0263a20View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v1.1.7...master