bshashikant commented on pull request #2158:
URL: https://github.com/apache/ozone/pull/2158#issuecomment-836580999


   > @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.
   
   yes, Ratis we can change the code. Also, in ozone, before starting the ratis 
server, the disk checker can be be run on ratis volumes to see if its good 
right upfront in XceiverServerRatis as well. I am fine with either approaches.


-- 
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]

Reply via email to