hotfix v2.6.44: retry batch delete in cleanBackupObjectDisks (#1356)#1370
Open
Slach wants to merge 7 commits into
Open
hotfix v2.6.44: retry batch delete in cleanBackupObjectDisks (#1356)#1370Slach wants to merge 7 commits into
Slach wants to merge 7 commits into
Conversation
Signed-off-by: slach <bloodjazman@gmail.com>
Replace time.Sleep(1s) after starting clickhouse-backup-fips server with active polling of both the /backup/actions HTTP endpoint and the system.backup_actions integration table. Under CI load 1s was not enough for the server to create the URL-engine table and start listening on :7172, producing "Table system.backup_actions does not exist" (Code 60). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…t HTTPS server The HTTP probe curled http://localhost:7172 against an HTTPS server (secure: true in config-s3-fips.yml with required client cert auth), so Go's TLS server replied 400 "Client sent an HTTP request to an HTTPS server" and the 2xx prefix check could never succeed. Also, CreateIntegrationTables runs before ListenAndServeTLS in api.Restart(), so table existence alone does not prove the listener is bound. Swap curl for a pure TCP probe (bash </dev/tcp/localhost/7172). A successful TCP connect proves the TLS listener is up; combined with EXISTS TABLE system.backup_actions, both prerequisites for the subsequent INSERT INTO system.backup_actions are guaranteed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
getObjectAllVersions now returns both Versions and DeleteMarkers as ObjectIdentifier list, so each delete-marker is removed by VersionId. deleteKeys / deleteKey: when identifiers list is empty (key already gone, e.g. on retry) skip instead of issuing a key-only DeleteObject — which on a versioned bucket would create a fresh empty delete-marker. Refs: avoid delete-marker accumulation on versioned S3 buckets when batch delete is retried after a partial failure.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Hotfix branch cut from tag
v2.6.43(cherry-pick of master commit50e2b0f8).batchDeleter.DeleteKeysFromObjectDiskBackupBatchincleanBackupObjectDisks, so transient errors (e.g. GCS 503backendError) during retention no longer leave orphaned objects inobject_disks_path. Path-side deletes inBackupDestination.RemoveBackupRemotewere already retried — this brings parity for the object-disk side.Test plan
object_disks_path/<backupName>is fully cleaned