This is an automated email from the ASF dual-hosted git repository.
weichiu 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 cdf3e1657b HDDS-9896. Fix for NullPointerException when replicating
closed container using freon (#5765)
cdf3e1657b is described below
commit cdf3e1657be27ea705a015a55d47c29eb43a4b7e
Author: Hemant Kumar <[email protected]>
AuthorDate: Mon Dec 11 20:04:59 2023 -0800
HDDS-9896. Fix for NullPointerException when replicating closed container
using freon (#5765)
---
.../hadoop/ozone/container/replication/ContainerImporter.java | 8 +++++---
.../ozone/container/replication/TestReplicationSupervisor.java | 5 ++++-
.../org/apache/hadoop/ozone/freon/ClosedContainerReplicator.java | 2 +-
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/replication/ContainerImporter.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/replication/ContainerImporter.java
index 4b38430c59..82aa975066 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/replication/ContainerImporter.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/replication/ContainerImporter.java
@@ -41,6 +41,7 @@ import
org.apache.hadoop.ozone.container.common.volume.VolumeChoosingPolicyFacto
import org.apache.hadoop.ozone.container.keyvalue.KeyValueContainerData;
import org.apache.hadoop.ozone.container.keyvalue.TarContainerPacker;
import org.apache.hadoop.ozone.container.ozoneimpl.ContainerController;
+import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,9 +64,10 @@ public class ContainerImporter {
private final Set<Long> importContainerProgress
= Collections.synchronizedSet(new HashSet<>());
- public ContainerImporter(ConfigurationSource conf, ContainerSet containerSet,
- ContainerController controller,
- MutableVolumeSet volumeSet) {
+ public ContainerImporter(@NotNull ConfigurationSource conf,
+ @NotNull ContainerSet containerSet,
+ @NotNull ContainerController controller,
+ @NotNull MutableVolumeSet volumeSet) {
this.containerSet = containerSet;
this.controller = controller;
this.volumeSet = volumeSet;
diff --git
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/replication/TestReplicationSupervisor.java
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/replication/TestReplicationSupervisor.java
index 0065245674..35f7c4c390 100644
---
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/replication/TestReplicationSupervisor.java
+++
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/replication/TestReplicationSupervisor.java
@@ -58,6 +58,7 @@ import
org.apache.hadoop.ozone.container.keyvalue.ContainerLayoutTestInfo;
import org.apache.hadoop.ozone.container.keyvalue.KeyValueContainer;
import org.apache.hadoop.ozone.container.keyvalue.KeyValueContainerData;
+import org.apache.hadoop.ozone.container.ozoneimpl.ContainerController;
import
org.apache.hadoop.ozone.protocol.commands.ReconstructECContainersCommand;
import org.apache.hadoop.ozone.protocol.commands.ReplicateContainerCommand;
import org.apache.ozone.test.GenericTestUtils;
@@ -306,8 +307,10 @@ public class TestReplicationSupervisor {
Mockito.when(volumeSet.getVolumesList())
.thenReturn(singletonList(
new HddsVolume.Builder(testDir).conf(conf).build()));
+ ContainerController mockedCC =
+ Mockito.mock(ContainerController.class);
ContainerImporter importer =
- new ContainerImporter(conf, set, null, volumeSet);
+ new ContainerImporter(conf, set, mockedCC, volumeSet);
ContainerReplicator replicator =
new DownloadAndImportReplicator(conf, set, importer, moc);
diff --git
a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/freon/ClosedContainerReplicator.java
b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/freon/ClosedContainerReplicator.java
index f0f6085570..d471c13462 100644
---
a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/freon/ClosedContainerReplicator.java
+++
b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/freon/ClosedContainerReplicator.java
@@ -202,7 +202,7 @@ public class ClosedContainerReplicator extends
BaseFreonGenerator implements
new ContainerController(containerSet, handlers);
ContainerImporter importer = new ContainerImporter(conf, containerSet,
- controller, null);
+ controller, volumeSet);
replicator = new DownloadAndImportReplicator(conf, containerSet, importer,
new SimpleContainerDownloader(conf, null));
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]