distribution/registry/storage
Stefan Majewsky 1f03d4e77d [Swift] add simple heuristic to detect incomplete DLOs during read ops
This is similar to waitForSegmentsToShowUp which is called during
Close/Commit. Intuitively, you wouldn't expect missing segments to be a
problem during read operations, since the previous Close/Commit
confirmed that all segments are there.

But due to the distributed nature of Swift, the read request could be
hitting a different storage node of the Swift cluster, where the
segments are still missing.

Load tests on my team's staging Swift cluster have shown this to occur
about once every 100-200 layer uploads when the Swift proxies are under
high load. The retry logic, borrowed from waitForSegmentsToShowUp, fixes
this temporary inconsistency.

Signed-off-by: Stefan Majewsky <stefan.majewsky@sap.com>
2016-07-08 13:47:41 +02:00
..
cache Add support for layers from foreign sources 2016-05-20 12:31:10 -07:00
driver [Swift] add simple heuristic to detect incomplete DLOs during read ops 2016-07-08 13:47:41 +02:00
blob_test.go Merge pull request #1706 from aibaars/registry-size-close 2016-06-13 16:29:35 -07:00
blobcachemetrics.go
blobserver.go
blobstore.go registry: avoid formatting errors with %#v 2016-07-01 11:30:58 -03:00
blobwriter.go If resumable digest support is disabled, detct this when closing the blobwriter 2016-06-13 17:35:06 -07:00
blobwriter_nonresumable.go If resumable digest support is disabled, detct this when closing the blobwriter 2016-06-13 17:35:06 -07:00
blobwriter_resumable.go
catalog.go
catalog_test.go
doc.go
filereader.go
filereader_test.go fix typos 2016-06-02 23:03:27 +08:00
garbagecollect.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
garbagecollect_test.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
linkedblobstore.go fix typos 2016-06-02 23:03:27 +08:00
manifestlisthandler.go
manifeststore.go fix typos 2016-06-22 12:40:21 +08:00
manifeststore_test.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
paths.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
paths_test.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
purgeuploads.go
purgeuploads_test.go
registry.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
schema2manifesthandler.go Add support for layers from foreign sources 2016-05-20 12:31:10 -07:00
schema2manifesthandler_test.go Add support for layers from foreign sources 2016-05-20 12:31:10 -07:00
signedmanifesthandler.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
tagstore.go
tagstore_test.go
util.go
vacuum.go
walk.go
walk_test.go