This is an automated email from the ASF dual-hosted git repository.
sumitagrawal pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new f07743096f HDDS-10636. Ozone Recon - Filter EMPTY MISSING Containers
in UnHealthy State Containers API. (#6471)
f07743096f is described below
commit f07743096fbf04a1a7b6831142e258a4ba7f23c6
Author: Devesh Kumar Singh <[email protected]>
AuthorDate: Wed Apr 3 10:52:21 2024 +0530
HDDS-10636. Ozone Recon - Filter EMPTY MISSING Containers in UnHealthy
State Containers API. (#6471)
Co-authored-by: deveshsingh <devmadhu@[email protected]>
---
.../hadoop/ozone/recon/api/ContainerEndpoint.java | 8 +++++---
.../hadoop/ozone/recon/api/TestContainerEndpoint.java | 17 +++++++++++++++++
2 files changed, 22 insertions(+), 3 deletions(-)
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/ContainerEndpoint.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/ContainerEndpoint.java
index 06f175c0dc..afc9c8a323 100644
---
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/ContainerEndpoint.java
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/ContainerEndpoint.java
@@ -397,10 +397,12 @@ public class ContainerEndpoint {
summary = containerHealthSchemaManager.getUnhealthyContainersSummary();
List<UnhealthyContainers> containers = containerHealthSchemaManager
.getUnhealthyContainers(internalState, offset, limit);
- containers.stream()
+ List<UnhealthyContainers> emptyMissingFiltered = containers.stream()
.filter(
- container ->
!container.getContainerState().equals(UnHealthyContainerStates.EMPTY_MISSING.toString()));
- for (UnhealthyContainers c : containers) {
+ container ->
!container.getContainerState().equals(UnHealthyContainerStates.EMPTY_MISSING.toString()))
+ .collect(
+ Collectors.toList());
+ for (UnhealthyContainers c : emptyMissingFiltered) {
long containerID = c.getContainerId();
ContainerInfo containerInfo =
containerManager.getContainer(ContainerID.valueOf(containerID));
diff --git
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestContainerEndpoint.java
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestContainerEndpoint.java
index 854ac74bd3..82c7c1b5be 100644
---
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestContainerEndpoint.java
+++
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestContainerEndpoint.java
@@ -885,6 +885,7 @@ public class TestContainerEndpoint {
public void testUnhealthyContainersFilteredResponse()
throws IOException, TimeoutException {
String missing = UnHealthyContainerStates.MISSING.toString();
+ String emptyMissing = UnHealthyContainerStates.EMPTY_MISSING.toString();
Response response = containerEndpoint
.getUnhealthyContainers(missing, 1000, 1);
@@ -904,6 +905,7 @@ public class TestContainerEndpoint {
uuid3 = newDatanode("host3", "127.0.0.3");
uuid4 = newDatanode("host4", "127.0.0.4");
createUnhealthyRecords(5, 4, 3, 2);
+ createEmptyMissingUnhealthyRecords(2);
response = containerEndpoint.getUnhealthyContainers(missing, 1000, 1);
@@ -926,6 +928,13 @@ public class TestContainerEndpoint {
for (UnhealthyContainerMetadata r : records) {
assertEquals(missing, r.getContainerState());
}
+
+ Response filteredEmptyMissingResponse = containerEndpoint
+ .getUnhealthyContainers(emptyMissing, 1000, 1);
+ responseObject = (UnhealthyContainersResponse)
filteredEmptyMissingResponse.getEntity();
+ records = responseObject.getContainers();
+ // Assert for zero empty missing containers.
+ assertEquals(0, records.size());
}
@Test
@@ -1026,6 +1035,14 @@ public class TestContainerEndpoint {
return uuid;
}
+ private void createEmptyMissingUnhealthyRecords(int emptyMissing) {
+ int cid = 0;
+ for (int i = 0; i < emptyMissing; i++) {
+ createUnhealthyRecord(++cid,
UnHealthyContainerStates.EMPTY_MISSING.toString(),
+ 3, 3, 0, null);
+ }
+ }
+
private void createUnhealthyRecords(int missing, int overRep, int underRep,
int misRep) {
int cid = 0;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]