guihecheng commented on pull request #2158: URL: https://github.com/apache/ozone/pull/2158#issuecomment-834036712
@bshashikant As I found in ratis code, ratis tries for every storageDir passed in from ozone: https://github.com/apache/ratis/blob/040bc52e19a5e36f5710ccd4fc1981e862e691e8/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java#L107-L117 Of course, ratis choose a dir based on some criteria: https://github.com/apache/ratis/blob/040bc52e19a5e36f5710ccd4fc1981e862e691e8/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java#L149 It chooses the dir with least number of raftgroups for a new raftgroup. For a bad volume, it still could be chosen by ratis, and later throws an exception in handling the directories just as the previous message shows, and ratis does not catch the IOException and throws out. The simplest way should be let ratis catch IOException instead of only AccessDeniedException, remove the bad volume and try on other directories. -- 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]
