xiaoyuyao commented on a change in pull request #1145:
URL: https://github.com/apache/hadoop-ozone/pull/1145#discussion_r449190798



##########
File path: 
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/ContainerManagerImpl.java
##########
@@ -93,94 +98,45 @@ public ContainerManagerImpl(
   }
 
   @Override
-  public Set<ContainerID> getContainerIDs() {
-    lock.readLock().lock();
-    try {
-      return containerStateManager.getContainerIDs();
-    } finally {
-      lock.readLock().unlock();
-    }
-  }
-
-  @Override
-  public Set<ContainerInfo> getContainers() {
-    lock.readLock().lock();
-    try {
-      return containerStateManager.getContainerIDs().stream().map(id -> {
-        try {
-          return containerStateManager.getContainer(id);
-        } catch (ContainerNotFoundException e) {
-          // How can this happen? o_O
-          return null;
-        }
-      }).filter(Objects::nonNull).collect(Collectors.toSet());
-    } finally {
-      lock.readLock().unlock();
-    }
-  }
-
-  @Override
-  public ContainerInfo getContainer(final ContainerID containerID)
+  public ContainerInfo getContainer(final ContainerID id)
       throws ContainerNotFoundException {
     lock.readLock().lock();
     try {
-      return containerStateManager.getContainer(containerID);
+      return Optional.ofNullable(containerStateManager
+          .getContainer(id.getProtobuf()))
+          .orElseThrow(() -> new ContainerNotFoundException("ID " + id));
     } finally {
       lock.readLock().unlock();
     }
   }
 
   @Override
-  public Set<ContainerInfo> getContainers(final LifeCycleState state) {
-    lock.readLock().lock();
-    try {
-      return containerStateManager.getContainerIDs(state).stream().map(id -> {
-        try {
-          return containerStateManager.getContainer(id);
-        } catch (ContainerNotFoundException e) {
-          // How can this happen? o_O
-          return null;
-        }
-      }).filter(Objects::nonNull).collect(Collectors.toSet());
-    } finally {
-      lock.readLock().unlock();
-    }
-  }
-
-  @Override
-  public boolean exists(final ContainerID containerID) {
+  public List<ContainerInfo> listContainers(final ContainerID startID,
+                                            final int count) {
     lock.readLock().lock();
     try {
-      return (containerStateManager.getContainer(containerID) != null);
-    } catch (ContainerNotFoundException ex) {
-      return false;
+      final long startId = startID == null ? 0 : startID.getId();

Review comment:
       NIT: can we use a different name startId and startID is confusing.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to