openvstorage/alba

partial read behavior on initial failure could be optimized

Opened this issue · 0 comments

domsj commented

When the data fragment from which the proxy tries to read a bit of data is unavailable (most likely because the asd is down) there will currently be a fallback to fetch the entire chunk so it can rebuild the missing data fragment (followed by a repair-on-read of the missing fragment).

While functionally correct the proxy could (in case of no compression) instead fetch the right k slices from other available fragments, and erasure decode those to get at the desired piece of data.

This is a lot more lightweight (e.g. fetching k*4KB vs k*4MB), but has a downside that the unavailable data fragment will not be immediately repaired. It should result in a smoother transition (less hiccups) in case an asd (temporarily) goes haywire.