mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-11-13 15:29:12 +01:00
filer: retry deletes a low-disk replica could not record
A low-disk volume now counts as deletable, but appending the tombstone can still fail with no space left on device. Treat that as retryable so the deletion stays queued instead of being dropped after the other replicas applied it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
504230ce1e
commit
c446ea309b
2 files changed
+3
No files matched your search
@@ -64,6 +64,7 @@ var retryablePatterns = []string{
|
||||
"too many requests", // Rate limiting / backpressure
|
||||
"try again", // Explicit retry suggestion
|
||||
"replication copy count", // A replica is offline; deletes wait for it to return
|
||||
"no space left on device", // A low-disk replica could not append the tombstone yet
|
||||
}
|
||||
|
||||
// DeletionRetryItem represents a file deletion that failed and needs to be retried
|
||||
|
||||
@@ -185,6 +185,8 @@ func TestIsRetryableError(t *testing.T) {
|
||||
{"i/o timeout", true, "I/O timeout"},
|
||||
{"broken pipe", true, "broken pipe"},
|
||||
{"replication locations [1] is less than volume 9 replication copy count [2]", true, "replica offline"},
|
||||
{"write /data/9.dat: no space left on device", true, "disk full"},
|
||||
{"No space left on device (os error 28)", true, "disk full (rust)"},
|
||||
{"not found", false, "not found (not retryable)"},
|
||||
{"invalid file id", false, "invalid input (not retryable)"},
|
||||
{"", false, "empty error"},
|
||||
|
||||
Reference in new issue
Block a user