-
Notifications
You must be signed in to change notification settings - Fork 65
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
Interrupt Ghostferry via signals and resume from SerializedState #67
Commits on Sep 25, 2018
-
Suppressed logs from siddontang/go-mysql
No need for the logs on that level.
Configuration menu - View commit details
-
Copy full SHA for 3943a4f - Browse repository at this point
Copy the full SHA 3943a4fView commit details -
Handle SIGTERM/SIGINT and dump state to stdout
This allows Ghostferry to be interrupted.
Configuration menu - View commit details
-
Copy full SHA for 4252d9e - Browse repository at this point
Copy the full SHA 4252d9eView commit details
Commits on Oct 2, 2018
-
First implementing the capability to resume
The library gained the ability to resume the BinlogStreamer and the DataIterator from arbitrary states. We're still missing the reconciliation process to make the interrupt/resume behaviour correct with respect to data safety. We're also missing the ability to interrupt from within the IterativeVerifier. Additionally, this patch exposes the need to refactor how we initialize DataIterator/IterativeVerifiers, and the other "public" components that are below the level of Ferry. It is currently difficult to initialize these structs without Ferry and causes things like the hacks within RunOnlyDataCopyForTables (previously named RunStandaloneDataCopy). We can get rid of this in a future PR.
Configuration menu - View commit details
-
Copy full SHA for b2b38cb - Browse repository at this point
Copy the full SHA b2b38cbView commit details -
Refactored Ferry to create components
Made BinlogStreamer independent of Ferry.Config Previously BinlogStreamer was dependant on Ferry.Config. It even went so far to change Ferry.Config for the automatic MyServerId generation. This will become problematic as we create new BinlogStreamer instances to monitor the target database to detect schema changes. We also exposed methods to create and initialize DataIterator, BinlogStreamer, and all the major components from Ferry, so another object that operates at the same level as the Ferry can be created (for example: the IterativeVerifier, the DeltaCopier, the Reconciler). The StateTracker was also made optional from the previous commit, as this does make things kind of easier to work with.
Configuration menu - View commit details
-
Copy full SHA for 8a77101 - Browse repository at this point
Copy the full SHA 8a77101View commit details
Commits on Oct 15, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 4398c6f - Browse repository at this point
Copy the full SHA 4398c6fView commit details
Commits on Oct 30, 2018
-
Remove AllowResumeWithMismatchedGhostferryVersion
If you want to resume with mismatched version, just manually change the JSON.
Configuration menu - View commit details
-
Copy full SHA for 03d9484 - Browse repository at this point
Copy the full SHA 03d9484View commit details
Commits on Nov 20, 2018
-
Configuration menu - View commit details
-
Copy full SHA for c501639 - Browse repository at this point
Copy the full SHA c501639View commit details