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.