HDDS-1310. In datanode once a container becomes unhealthy, datanode restart fails.
Signed-off-by: Nanda kumar <nanda@apache.org>
(cherry picked from commit 5c0a81ad3c
)
This commit is contained in:
parent
eed623ad61
commit
f6acbc9caf
|
@ -618,6 +618,9 @@ public class KeyValueContainer implements Container<KeyValueContainerData> {
|
|||
case CLOSED:
|
||||
state = ContainerReplicaProto.State.CLOSED;
|
||||
break;
|
||||
case UNHEALTHY:
|
||||
state = ContainerReplicaProto.State.UNHEALTHY;
|
||||
break;
|
||||
default:
|
||||
throw new StorageContainerException("Invalid Container state found: " +
|
||||
containerData.getContainerID(), INVALID_CONTAINER_STATE);
|
||||
|
|
|
@ -332,6 +332,19 @@ public class TestKeyValueContainer {
|
|||
keyValueContainerData.getState());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testReportOfUnhealthyContainer() throws Exception {
|
||||
keyValueContainer.create(volumeSet, volumeChoosingPolicy, scmId);
|
||||
Assert.assertNotNull(keyValueContainer.getContainerReport());
|
||||
keyValueContainer.markContainerUnhealthy();
|
||||
File containerFile = keyValueContainer.getContainerFile();
|
||||
keyValueContainerData = (KeyValueContainerData) ContainerDataYaml
|
||||
.readContainerFile(containerFile);
|
||||
assertEquals(ContainerProtos.ContainerDataProto.State.UNHEALTHY,
|
||||
keyValueContainerData.getState());
|
||||
Assert.assertNotNull(keyValueContainer.getContainerReport());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateContainer() throws IOException {
|
||||
keyValueContainer.create(volumeSet, volumeChoosingPolicy, scmId);
|
||||
|
|
Loading…
Reference in New Issue