janelia-flyem / dvid

Distributed, Versioned, Image-oriented Dataservice
http://dvid.io
Other
197 stars 33 forks source link

Race condition in labelmap POST /blocks?downres=true #342

Closed stuarteberg closed 1 year ago

stuarteberg commented 4 years ago

When I use POST .../blocks to write segmentation into a labelmap instance, DVID is supposed to generate the low-scale pyramid levels if I supply ?downres=true. It looks like there is a race condition that prevents it from writing correctly, unless the shape of the chunks is carefully chosen. For instance, writing chunks that were of shape (2048, 64, 64) didn't work correctly (some low-res blocks remained blank), but writing chunks of (256, 256, 256) seemed to work.

In lieu of a fix, perhaps some guidance in the documentation for POST .../blocks would help.

DocSavage commented 1 year ago

Clarified limitations of automatic downres within DVID and suggest using external downres for non-cubic chunk sizes. If DVID is meant to handle this internally, we should make an enhanced version.