guihecheng edited a comment on pull request #2158:
URL: https://github.com/apache/ozone/pull/2158#issuecomment-833480371
@bshashikant As I tested manually in my local boxes, I hit the following msg
below, so I think that ratis is not able to manage bad disks, since it is still
trying to use a bad disk to create a pipeline.
As I know, ozone only passes `dfs.container.ratis.datanode.storage.dir` to
ratis, and let ratis manage the directories itself(although we have a
`ratisVolumeMap`, it is only used to build storage reports).
So I think we should directly add disk checker support to ratis instead of
handling it here in ozone. What do you think?
```
2021-05-06 18:19:48,166 [Command processor thread] ERROR
org.apache.hadoop.ozone.container.common.statemachine.commandhandler.CreatePipelineCommandHandler:
Can't create pipeline RATIS THREE
PipelineID=08de41a6-5c9e-48d4-9789-4c09798ecffd
java.io.IOException: Input/output error
at
org.apache.hadoop.ozone.container.common.transport.server.ratis.XceiverServerRatis.addGroup(XceiverServerRatis.java:805)
at
org.apache.hadoop.ozone.container.common.statemachine.commandhandler.CreatePipelineCommandHandler.handle(CreatePipelineCommandHandler.java:92)
at
org.apache.hadoop.ozone.container.common.statemachine.commandhandler.CommandDispatcher.handle(CommandDispatcher.java:99)
at
org.apache.hadoop.ozone.container.common.statemachine.DatanodeStateMachine.lambda$initCommandHandlerThread$2(DatanodeStateMachine.java:506)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Input/output error
at java.io.UnixFileSystem.canonicalize0(Native Method)
at java.io.UnixFileSystem.canonicalize(UnixFileSystem.java:172)
at java.io.File.getCanonicalPath(File.java:620)
at
org.apache.ratis.server.storage.RaftStorageDirectoryImpl.analyzeStorage(RaftStorageDirectoryImpl.java:129)
at
org.apache.ratis.server.storage.RaftStorageImpl.analyzeAndRecoverStorage(RaftStorageImpl.java:95)
at
org.apache.ratis.server.storage.RaftStorageImpl.<init>(RaftStorageImpl.java:65)
at
org.apache.ratis.server.storage.RaftStorageImpl.<init>(RaftStorageImpl.java:51)
at
org.apache.ratis.server.impl.ServerState.<init>(ServerState.java:112)
at
org.apache.ratis.server.impl.RaftServerImpl.<init>(RaftServerImpl.java:193)
at
org.apache.ratis.server.impl.RaftServerProxy.lambda$newRaftServerImpl$4(RaftServerProxy.java:266)
at
java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
... 1 more
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]