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

Reply via email to