-
Notifications
You must be signed in to change notification settings - Fork 26
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
refactor backup restore to handle serialization errors and conflicts #316
refactor backup restore to handle serialization errors and conflicts #316
Commits on Jan 2, 2024
-
refactor backup import to handle serialization errors and conflicts
This commit refactors the logic on the backup command into a restorer type. The fundamental differences with the previous logic are: - batch conflicts are detected, and provides to handling strategies: fail, skip or touch when using touch, they will also be retried if needed - serialization errors are detected, and optionally can be retried using WithRelationships with TOUCH semantics - retry strategy uses a backoff any error on bulk import will cause the stream to close, so attempts to recover from that by retrying means retrying with another bulk import stream or using WriteRelationships. The latter was used because it normalizes retries as BulkImport does not support TOUCH semantics.
Configuration menu - View commit details
-
Copy full SHA for 298abbd - Browse repository at this point
Copy the full SHA 298abbdView commit details -
Configuration menu - View commit details
-
Copy full SHA for e517327 - Browse repository at this point
Copy the full SHA e517327View commit details -
Configuration menu - View commit details
-
Copy full SHA for 91ac26d - Browse repository at this point
Copy the full SHA 91ac26dView commit details -
restore: update fallback error codes
to include MySQL and Postgres
Configuration menu - View commit details
-
Copy full SHA for e7129b3 - Browse repository at this point
Copy the full SHA e7129b3View commit details -
restore: add a deadline on fallback WriteRelationships
since MySQL sometimes can get locked for a long time on serialization errors
Configuration menu - View commit details
-
Copy full SHA for 065515f - Browse repository at this point
Copy the full SHA 065515fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ef5ab5 - Browse repository at this point
Copy the full SHA 2ef5ab5View commit details -
restore: also handle schema writing
so the restorer becomes fully self-contained and facilitate exporting it
Configuration menu - View commit details
-
Copy full SHA for b50830a - Browse repository at this point
Copy the full SHA b50830aView commit details -
Configuration menu - View commit details
-
Copy full SHA for fe5e962 - Browse repository at this point
Copy the full SHA fe5e962View commit details -
fix panic on deprecated zed restore command
the flags were not registered in the deprecated `zed restore` command when it was added for back-compat after the command became `zed backup restore`
Configuration menu - View commit details
-
Copy full SHA for e8f8bde - Browse repository at this point
Copy the full SHA e8f8bdeView commit details -
restore: refactor conflict handling flags
turned into a string that can be parsed into an enum
Configuration menu - View commit details
-
Copy full SHA for e31deab - Browse repository at this point
Copy the full SHA e31deabView commit details -
Configuration menu - View commit details
-
Copy full SHA for ca68115 - Browse repository at this point
Copy the full SHA ca68115View commit details -
Configuration menu - View commit details
-
Copy full SHA for f94a5fe - Browse repository at this point
Copy the full SHA f94a5feView commit details -
Configuration menu - View commit details
-
Copy full SHA for 461353e - Browse repository at this point
Copy the full SHA 461353eView commit details