Skip to content

Commit c5bb3e7

Browse files
HDDS-1580. Obtain Handler reference in ContainerScrubber
Change-Id: I7ac07bc32311c6ef9a9948a4c039c72922db5fb4
1 parent ef1cc72 commit c5bb3e7

File tree

3 files changed

+15
-11
lines changed

3 files changed

+15
-11
lines changed

hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerController.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030

3131
import java.io.FileInputStream;
3232
import java.io.IOException;
33+
import java.util.Iterator;
3334
import java.util.Map;
3435

3536
/**
@@ -132,7 +133,11 @@ public void deleteContainer(final long containerId, boolean force)
132133
* @param container Container
133134
* @return handler of the container
134135
*/
135-
private Handler getHandler(final Container container) {
136+
Handler getHandler(final Container container) {
136137
return handlers.get(container.getContainerType());
137138
}
139+
140+
Iterator<Container> getContainerSetIterator() {
141+
return containerSet.getContainerIterator();
142+
}
138143
}

hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerScrubber.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,11 @@
1818

1919
package org.apache.hadoop.ozone.container.ozoneimpl;
2020

21-
import com.google.common.base.Preconditions;
2221
import org.apache.commons.net.ntp.TimeStamp;
2322
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
2423
import org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException;
25-
import org.apache.hadoop.ozone.container.common.impl.ContainerSet;
2624
import org.apache.hadoop.ozone.container.common.interfaces.Container;
25+
import org.apache.hadoop.ozone.container.common.interfaces.Handler;
2726
import org.slf4j.Logger;
2827
import org.slf4j.LoggerFactory;
2928

@@ -36,20 +35,19 @@
3635
public class ContainerScrubber implements Runnable {
3736
private static final Logger LOG =
3837
LoggerFactory.getLogger(ContainerScrubber.class);
39-
private final ContainerSet containerSet;
4038
private final OzoneConfiguration config;
4139
private final long timePerContainer = 10000; // 10 sec in millis
4240
private boolean halt;
4341
private Thread scrubThread;
42+
private ContainerController controller;
4443

45-
public ContainerScrubber(ContainerSet cSet, OzoneConfiguration conf) {
46-
Preconditions.checkNotNull(cSet,
47-
"ContainerScrubber received a null ContainerSet");
48-
Preconditions.checkNotNull(conf);
49-
this.containerSet = cSet;
44+
45+
public ContainerScrubber(OzoneConfiguration conf,
46+
ContainerController controller) {
5047
this.config = conf;
5148
this.halt = false;
5249
this.scrubThread = null;
50+
this.controller = controller;
5351
}
5452

5553
@Override public void run() {
@@ -130,12 +128,13 @@ private void throttleScrubber(TimeStamp startTime) {
130128

131129
private void scrub() {
132130

133-
Iterator<Container> containerIt = containerSet.getContainerIterator();
131+
Iterator<Container> containerIt = controller.getContainerSetIterator();
134132
long count = 0;
135133

136134
while (containerIt.hasNext()) {
137135
TimeStamp startTime = new TimeStamp(System.currentTimeMillis());
138136
Container container = containerIt.next();
137+
Handler containerHandler = controller.getHandler(container);
139138

140139
if (this.halt) {
141140
break; // stop if requested

hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/OzoneContainer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ private void startContainerScrub() {
161161
HddsConfigKeys.HDDS_CONTAINERSCRUB_ENABLED);
162162
} else {
163163
if (this.scrubber == null) {
164-
this.scrubber = new ContainerScrubber(containerSet, config);
164+
this.scrubber = new ContainerScrubber(config, controller);
165165
}
166166
scrubber.up();
167167
}

0 commit comments

Comments
 (0)