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