You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Tsz-wo Sze (Jira)" <ji...@apache.org> on 2019/12/18 06:12:00 UTC
[jira] [Updated] (RATIS-696)
RaftStorageDirectory.getLogSegmentFiles throws a deep IOException
[ https://issues.apache.org/jira/browse/RATIS-696?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tsz-wo Sze updated RATIS-696:
-----------------------------
Attachment: r696_20191218.patch
> RaftStorageDirectory.getLogSegmentFiles throws a deep IOException
> -----------------------------------------------------------------
>
> Key: RATIS-696
> URL: https://issues.apache.org/jira/browse/RATIS-696
> Project: Ratis
> Issue Type: Sub-task
> Components: server
> Reporter: Clay B.
> Assignee: Tsz-wo Sze
> Priority: Major
> Attachments: r696_20191002.patch, r696_20191002b.patch, r696_20191002c.patch, r696_20191024.patch, r696_20191218.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)