We talked about this briefly before in the context of a single-DC thing, but we can't have code that deals with a bad read by simply printing out a warning message. What if the object is supposed to be there and got lost?
I really think we just want have the old use case be a degenerate case with a single region and a single zone; if we *really* want to have it be a separate thing then we should add switches so we can make sure we don't dereference bad data elsewhere in the code base.
(And we can at least only whitelist ENOENT, instead of all error codes!)