This is an automated email from the ASF dual-hosted git repository.
adoroszlai 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 afc0013a35 HDDS-8706. Remove ContainerSet.getContainerIterator().
(#4781)
afc0013a35 is described below
commit afc0013a351034ec2efc85b9b925539154449842
Author: Tsz-Wo Nicholas Sze <[email protected]>
AuthorDate: Sat May 27 18:23:16 2023 +0800
HDDS-8706. Remove ContainerSet.getContainerIterator(). (#4781)
---
.../ozone/container/common/impl/ContainerSet.java | 8 --------
.../transport/server/ratis/XceiverServerRatis.java | 8 +++-----
.../BackgroundContainerMetadataScanner.java | 2 +-
.../container/ozoneimpl/ContainerController.java | 6 +-----
.../upgrade/DataNodeUpgradeFinalizer.java | 10 +++------
.../container/common/TestBlockDeletingService.java | 2 +-
...stStaleRecoveringContainerScrubbingService.java | 13 ++++--------
.../container/common/impl/TestContainerSet.java | 5 +----
.../ozoneimpl/TestContainerScannersAbstract.java | 2 +-
.../hadoop/hdds/upgrade/TestHddsUpgradeUtils.java | 24 ++++++++--------------
.../ozone/debug/container/InspectSubcommand.java | 2 +-
.../ozone/debug/container/ListSubcommand.java | 5 +----
12 files changed, 25 insertions(+), 62 deletions(-)
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerSet.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerSet.java
index 2f4eaf5ec7..726e149db5 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerSet.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerSet.java
@@ -196,14 +196,6 @@ public class ContainerSet implements
Iterable<Container<?>> {
});
}
- /**
- * Return an container Iterator over {@link ContainerSet#containerMap}.
- * @return {@literal Iterator<Container<?>>}
- */
- public Iterator<Container<?>> getContainerIterator() {
- return iterator();
- }
-
@Override
public Iterator<Container<?>> iterator() {
return containerMap.values().iterator();
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/XceiverServerRatis.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/XceiverServerRatis.java
index 0b547ce706..768420ea0c 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/XceiverServerRatis.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/XceiverServerRatis.java
@@ -24,7 +24,6 @@ import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -65,6 +64,7 @@ import org.apache.hadoop.hdds.utils.HddsServerUtil;
import org.apache.hadoop.ozone.OzoneConfigKeys;
import org.apache.hadoop.ozone.OzoneConsts;
import org.apache.hadoop.ozone.container.common.impl.ContainerData;
+import org.apache.hadoop.ozone.container.common.interfaces.Container;
import org.apache.hadoop.ozone.container.common.interfaces.ContainerDispatcher;
import org.apache.hadoop.ozone.container.common.statemachine.StateContext;
import
org.apache.hadoop.ozone.container.common.transport.server.XceiverServerSpi;
@@ -729,10 +729,8 @@ public final class XceiverServerRatis implements
XceiverServerSpi {
private long calculatePipelineBytesWritten(HddsProtos.PipelineID pipelineID)
{
long bytesWritten = 0;
- Iterator<org.apache.hadoop.ozone.container.common.interfaces.Container<?>>
- containerIt = containerController.getContainers();
- while (containerIt.hasNext()) {
- ContainerData containerData = containerIt.next().getContainerData();
+ for (Container<?> container : containerController.getContainers()) {
+ ContainerData containerData = container.getContainerData();
if (containerData.getOriginPipelineId()
.compareTo(pipelineID.getId()) == 0) {
bytesWritten += containerData.getWriteBytes();
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/BackgroundContainerMetadataScanner.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/BackgroundContainerMetadataScanner.java
index cd321dd3b7..4296d677c9 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/BackgroundContainerMetadataScanner.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/BackgroundContainerMetadataScanner.java
@@ -50,7 +50,7 @@ public class BackgroundContainerMetadataScanner extends
@Override
public Iterator<Container<?>> getContainerIterator() {
- return controller.getContainers();
+ return controller.getContainers().iterator();
}
@VisibleForTesting
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerController.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerController.java
index 683aa0b053..576069fb16 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerController.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerController.java
@@ -192,11 +192,7 @@ public class ContainerController {
return handlers.get(container.getContainerType());
}
- public Iterator<Container<?>> getContainers() {
- return containerSet.getContainerIterator();
- }
-
- public Iterable<Container<?>> getContainerSet() {
+ public Iterable<Container<?>> getContainers() {
return containerSet;
}
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/upgrade/DataNodeUpgradeFinalizer.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/upgrade/DataNodeUpgradeFinalizer.java
index bb4c5075b5..5b16c7e2e0 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/upgrade/DataNodeUpgradeFinalizer.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/upgrade/DataNodeUpgradeFinalizer.java
@@ -1,4 +1,4 @@
-/**
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -23,7 +23,6 @@ import static
org.apache.hadoop.ozone.upgrade.UpgradeFinalizer.Status.FINALIZATI
import static
org.apache.hadoop.ozone.upgrade.UpgradeFinalizer.Status.FINALIZATION_REQUIRED;
import java.io.IOException;
-import java.util.Iterator;
import org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos;
import org.apache.hadoop.hdds.upgrade.HDDSLayoutFeature;
@@ -63,10 +62,8 @@ public class DataNodeUpgradeFinalizer extends
// Lets be sure that we do not have any open container before we return
// from here. This function should be called in its own finalizer thread
// context.
- Iterator<Container<?>> containerIt =
- dsm.getContainer().getController().getContainers();
- while (containerIt.hasNext()) {
- Container ctr = containerIt.next();
+ for (Container<?> ctr :
+ dsm.getContainer().getController().getContainers()) {
ContainerProtos.ContainerDataProto.State state = ctr.getContainerState();
long id = ctr.getContainerData().getContainerID();
switch (state) {
@@ -76,7 +73,6 @@ public class DataNodeUpgradeFinalizer extends
+ "state is: {}", id, state);
return false;
default:
- continue;
}
}
return true;
diff --git
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestBlockDeletingService.java
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestBlockDeletingService.java
index dd0c297334..f7ca3c6009 100644
---
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestBlockDeletingService.java
+++
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestBlockDeletingService.java
@@ -830,7 +830,7 @@ public class TestBlockDeletingService {
// get container meta data
KeyValueContainer container =
- (KeyValueContainer) containerSet.getContainerIterator().next();
+ (KeyValueContainer) containerSet.iterator().next();
KeyValueContainerData data = container.getContainerData();
try (DBHandle meta = BlockUtils.getDB(data, conf)) {
LogCapturer newLog = LogCapturer.captureLogs(BackgroundService.LOG);
diff --git
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestStaleRecoveringContainerScrubbingService.java
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestStaleRecoveringContainerScrubbingService.java
index 1fb57e4a4c..b335973b77 100644
---
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestStaleRecoveringContainerScrubbingService.java
+++
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestStaleRecoveringContainerScrubbingService.java
@@ -52,7 +52,6 @@ import java.time.Instant;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.UUID;
@@ -178,10 +177,8 @@ public class TestStaleRecoveringContainerScrubbingService {
testClock.fastForward(1000L);
srcss.runPeriodicalTaskNow();
//recovering container should be scrubbed since recovering timeout
- Assert.assertTrue(containerSet.containerCount() == 10);
- Iterator<Container<?>> it = containerSet.getContainerIterator();
- while (it.hasNext()) {
- Container<?> entry = it.next();
+ Assert.assertEquals(10, containerSet.containerCount());
+ for (Container<?> entry : containerSet) {
Assert.assertEquals(entry.getContainerState(),
containerStateMap.get(entry.getContainerData().getContainerID()));
}
@@ -194,10 +191,8 @@ public class TestStaleRecoveringContainerScrubbingService {
testClock.fastForward(1000L);
srcss.runPeriodicalTaskNow();
//recovering container should not be scrubbed
- Assert.assertTrue(containerSet.containerCount() == 15);
- it = containerSet.getContainerIterator();
- while (it.hasNext()) {
- Container<?> entry = it.next();
+ Assert.assertEquals(15, containerSet.containerCount());
+ for (Container<?> entry : containerSet) {
Assert.assertEquals(entry.getContainerState(),
containerStateMap.get(entry.getContainerData().getContainerID()));
}
diff --git
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/impl/TestContainerSet.java
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/impl/TestContainerSet.java
index 929f50da64..b9396e5cde 100644
---
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/impl/TestContainerSet.java
+++
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/impl/TestContainerSet.java
@@ -119,11 +119,8 @@ public class TestContainerSet {
assertEquals(10, containerSet.containerCount());
- Iterator<Container<?>> iterator = containerSet.getContainerIterator();
-
int count = 0;
- while (iterator.hasNext()) {
- Container kv = iterator.next();
+ for (Container<?> kv : containerSet) {
ContainerData containerData = kv.getContainerData();
long containerId = containerData.getContainerID();
if (containerId % 2 == 0) {
diff --git
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/ozoneimpl/TestContainerScannersAbstract.java
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/ozoneimpl/TestContainerScannersAbstract.java
index 4e00d3327b..c9ad665996 100644
---
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/ozoneimpl/TestContainerScannersAbstract.java
+++
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/ozoneimpl/TestContainerScannersAbstract.java
@@ -148,7 +148,7 @@ public abstract class TestContainerScannersAbstract {
healthy, corruptData, openCorruptMetadata);
ContainerController mock = mock(ContainerController.class);
when(mock.getContainers(vol)).thenReturn(containers.iterator());
- when(mock.getContainers()).thenReturn(containers.iterator());
+ when(mock.getContainers()).thenReturn(containers);
return mock;
}
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestHddsUpgradeUtils.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestHddsUpgradeUtils.java
index ccedede134..10617e8a1b 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestHddsUpgradeUtils.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestHddsUpgradeUtils.java
@@ -1,4 +1,4 @@
-/**
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -40,7 +40,6 @@ import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.util.Arrays;
-import java.util.Iterator;
import java.util.List;
import java.util.concurrent.TimeoutException;
@@ -121,14 +120,9 @@ public final class TestHddsUpgradeUtils {
// pipeline to use.
PipelineManager scmPipelineManager = scm.getPipelineManager();
try {
- GenericTestUtils.waitFor(() -> {
- int pipelineCount = scmPipelineManager.getPipelines(RATIS_THREE, OPEN)
- .size();
- if (pipelineCount >= 1) {
- return true;
- }
- return false;
- }, 500, 60000);
+ GenericTestUtils.waitFor(
+ () -> scmPipelineManager.getPipelines(RATIS_THREE, OPEN).size() >= 1,
+ 500, 60000);
} catch (TimeoutException | InterruptedException e) {
Assert.fail("Timeout waiting for Upgrade to complete on SCM.");
}
@@ -169,9 +163,8 @@ public final class TestHddsUpgradeUtils {
for (HddsDatanodeService dataNode : datanodes) {
DatanodeStateMachine dsm = dataNode.getDatanodeStateMachine();
// Also verify that all the existing containers are open.
- for (Iterator<Container<?>> it =
- dsm.getContainer().getController().getContainers(); it.hasNext();) {
- Container container = it.next();
+ for (Container<?> container :
+ dsm.getContainer().getController().getContainers()) {
Assert.assertSame(container.getContainerState(),
ContainerProtos.ContainerDataProto.State.OPEN);
countContainers++;
@@ -224,9 +217,8 @@ public final class TestHddsUpgradeUtils {
Assert.assertTrue(dnVersionManager.getMetadataLayoutVersion() >= 1);
// Also verify that all the existing containers are closed.
- for (Iterator<Container<?>> it =
- dsm.getContainer().getController().getContainers(); it.hasNext();) {
- Container<?> container = it.next();
+ for (Container<?> container :
+ dsm.getContainer().getController().getContainers()) {
Assert.assertTrue("Container had unexpected state " +
container.getContainerState(),
closeStates.stream().anyMatch(
diff --git
a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/debug/container/InspectSubcommand.java
b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/debug/container/InspectSubcommand.java
index 86f5d54e20..79a0a84c64 100644
---
a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/debug/container/InspectSubcommand.java
+++
b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/debug/container/InspectSubcommand.java
@@ -52,7 +52,7 @@ public class InspectSubcommand implements Callable<Void> {
final KeyValueContainerMetadataInspector inspector
= new KeyValueContainerMetadataInspector(
KeyValueContainerMetadataInspector.Mode.INSPECT);
- for (Container<?> container : parent.getController().getContainerSet()) {
+ for (Container<?> container : parent.getController().getContainers()) {
final ContainerData data = container.getContainerData();
if (!(data instanceof KeyValueContainerData)) {
continue;
diff --git
a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/debug/container/ListSubcommand.java
b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/debug/container/ListSubcommand.java
index 94d2be6ba5..037d61327b 100644
---
a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/debug/container/ListSubcommand.java
+++
b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/debug/container/ListSubcommand.java
@@ -22,7 +22,6 @@ import
org.apache.hadoop.ozone.container.common.interfaces.Container;
import picocli.CommandLine;
import picocli.CommandLine.Command;
-import java.util.Iterator;
import java.util.concurrent.Callable;
import static
org.apache.hadoop.ozone.debug.container.ContainerCommands.outputContainer;
@@ -42,9 +41,7 @@ public class ListSubcommand implements Callable<Void> {
public Void call() throws Exception {
parent.loadContainersFromVolumes();
- Iterator<Container<?>> containerIt =
parent.getController().getContainers();
- while (containerIt.hasNext()) {
- Container container = containerIt.next();
+ for (Container<?> container : parent.getController().getContainers()) {
outputContainer(container.getContainerData());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]