[ 
https://issues.apache.org/jira/browse/HDDS-878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yiqun Lin updated HDDS-878:
---------------------------
    Description: 
OzoneContainer won't handle any disk failures before initializing the 
ContainerSet. In a very extreme case, all the disk are bad and the 
OzoneContainer can still be running. We can improve this and add disk failure 
tolerance, like DataNode already did.  The work is also we intended to do.

{code}
  private void buildContainerSet() {
    Iterator<HddsVolume> volumeSetIterator = volumeSet.getVolumesList()
        .iterator();
    ArrayList<Thread> volumeThreads = new ArrayList<Thread>();

    //TODO: diskchecker should be run before this, to see how disks are.
    // And also handle disk failure tolerance need to be added
    while (volumeSetIterator.hasNext()) {
      HddsVolume volume = volumeSetIterator.next();
      Thread thread = new Thread(new ContainerReader(volumeSet, volume,
          containerSet, config));
      thread.start();
      volumeThreads.add(thread);
    }
{code}

  was:OzoneContainer won't handle any disk failures before initializing the 
ContainerSet. In a very extreme case, all the disk are bad and the 
OzoneContainer can still be running. We can improve this and add disk failure 
tolerance, like DataNode already did.


> Do the disk failure check before ContainerSet initialization
> ------------------------------------------------------------
>
>                 Key: HDDS-878
>                 URL: https://issues.apache.org/jira/browse/HDDS-878
>             Project: Hadoop Distributed Data Store
>          Issue Type: Bug
>    Affects Versions: 0.3.0
>            Reporter: Yiqun Lin
>            Assignee: Yiqun Lin
>            Priority: Major
>
> OzoneContainer won't handle any disk failures before initializing the 
> ContainerSet. In a very extreme case, all the disk are bad and the 
> OzoneContainer can still be running. We can improve this and add disk failure 
> tolerance, like DataNode already did.  The work is also we intended to do.
> {code}
>   private void buildContainerSet() {
>     Iterator<HddsVolume> volumeSetIterator = volumeSet.getVolumesList()
>         .iterator();
>     ArrayList<Thread> volumeThreads = new ArrayList<Thread>();
>     //TODO: diskchecker should be run before this, to see how disks are.
>     // And also handle disk failure tolerance need to be added
>     while (volumeSetIterator.hasNext()) {
>       HddsVolume volume = volumeSetIterator.next();
>       Thread thread = new Thread(new ContainerReader(volumeSet, volume,
>           containerSet, config));
>       thread.start();
>       volumeThreads.add(thread);
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to