more graceful handling of potential race conditions on cache read, closes #533