[
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)