У меня есть процесс Java, пытающийся прочитать файл через монтирование NFS.
Я проверяю с File.canRead()
, прежде чем пытаться прочитать.
В этом случае гора находится в плохом состоянии.
Вы можете увидеть это и в командной строке: и «ls», и «df» зависают навсегда.
File.canRead()
висит навсегда, и я действительно предпочел бы иметь тайм-аут и зарегистрировать ошибку, чем навсегда зависать мой процесс. Какой идеальный способ в Java проверить, что файл может быть прочитан без риска зависания?
Я сделал дамп и увидел
java.lang.Thread.State: RUNNABLE
at java.io.UnixFileSystem.checkAccess(Native Method)
at java.io.File.canRead(File.java:768)