Troubleshooting Erasure Coding
Tip
When troubleshooting encoding and policy issues, add the verbose query argument (https://perifery.atlassian.net/wiki/spaces/public/pages/2443821292), which returns all relevant headers in the response.
The following diagram details how Swarm evaluates protection requests:
Note
Every multipart write must be erasure coded for upload; if the uploaded object does not meet the current policy for EC encoding, the Health Processor converts it to a replicated object. To maintain erasure coding for the lifetime of the object, add a lifepoint to that effect.
Bad Request
Both chunked requests and https://perifery.atlassian.net/wiki/spaces/public/pages/2443822209 operations must be erasure-coded to succeed. An HTTP 400 (Bad Request) results from such a request having one of these problems:
The request includes a
reps=x
lifepoint (which specifies number of replicas, not encoding).Encoding is disabled, which overrides any query argument or lifepoint encoding.
Encoding is not specified anywhere.
Replicated, Not Erasure-Coded
If encoding is allowed, and specified in the lifepoint, but the object is too small to qualify, it is replicated at p+1
.
For example, if 5:2 encoding was specified, 3 replicas are written.
© DataCore Software Corporation. · https://www.datacore.com · All rights reserved.