Implementation of SegmentArchiveReader#readSegment can throw RepositoryNotReachableException, when invoked in AbstractPersistentCache. readSegment. One possible reason for that exception to be thrown, is timeout when communicating with remote storage, or other type of error coming from the remote storage (check AzureUtilities. readBufferFully).
After catching the exception, method returns null, which causes that later SNFE is being thrown in FileStore.readSegment (also counter about number of SNFE incremented), where instead RepositoryNotReachableException should be thrown at that point.
Test case which demonstrates described behaviour: