[ https://issues.apache.org/jira/browse/RATIS-696?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16942870#comment-16942870 ]
Tsz-wo Sze commented on RATIS-696: ---------------------------------- r696_20191002c.patch: some minor changes so that the code can be reused in RATIS-692. > RaftStorageDirectory.getLogSegmentFiles throws a deep IOException > ----------------------------------------------------------------- > > Key: RATIS-696 > URL: https://issues.apache.org/jira/browse/RATIS-696 > Project: Ratis > Issue Type: Sub-task > Reporter: Clay B. > Assignee: Tsz-wo Sze > Priority: Major > Attachments: r696_20191002.patch, r696_20191002b.patch, > r696_20191002c.patch > > > In {{RaftStorageDirectory.getLogSegmentFiles()}} one can hang while creating > a {{Files.newDirectoryStream}}. If one gets an {{IOException}} the server > will simply hang at this point. > {code:java} > Exception in thread "main" java.nio.file.FileSystemException: > /home/vagrant/test_data/data2_slowed/64656d6f-5261-6674-4772-6f7570313233/current: > Input/output error > at > sun.nio.fs.UnixException.translateToIOException(UnixException.java:91) > at > sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) > at > sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) > at > sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(UnixFileSystemProvider.java:427) > at java.nio.file.Files.newDirectoryStream(Files.java:457) > at > org.apache.ratis.server.storage.RaftStorageDirectory.getLogSegmentFiles(RaftStorageDirectory.java:200) > at > org.apache.ratis.server.raftlog.segmented.SegmentedRaftLog.loadLogSegments(SegmentedRaftLog.java:223) > at > org.apache.ratis.server.raftlog.segmented.SegmentedRaftLog.openImpl(SegmentedRaftLog.java:204) > at org.apache.ratis.server.raftlog.RaftLog.open(RaftLog.java:247) > at > org.apache.ratis.server.impl.ServerState.initRaftLog(ServerState.java:191) > at > org.apache.ratis.server.impl.ServerState.<init>(ServerState.java:121) > at > org.apache.ratis.server.impl.RaftServerImpl.<init>(RaftServerImpl.java:110) > at > org.apache.ratis.server.impl.RaftServerProxy.lambda$newRaftServerImpl$2(RaftServerProxy.java:208) > at > java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at java.lang.Thread.run(Thread.java:748) {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)