bharatviswa504 commented on a change in pull request #663: HDDS-3156 update
allocateContainer to remove additional createPipeline step.
URL: https://github.com/apache/hadoop-ozone/pull/663#discussion_r391349507
##########
File path:
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/ContainerStateManager.java
##########
@@ -247,23 +247,29 @@ ContainerInfo allocateContainer(final PipelineManager
pipelineManager,
final HddsProtos.ReplicationType type,
final HddsProtos.ReplicationFactor replicationFactor, final String owner)
throws IOException {
-
+ final List<Pipeline> pipelines = pipelineManager
+ .getPipelines(type, replicationFactor, Pipeline.PipelineState.OPEN);
Pipeline pipeline;
- try {
- // TODO: #CLUTIL remove creation logic when all replication types and
- // factors are handled by pipeline creator job.
- pipeline = pipelineManager.createPipeline(type, replicationFactor);
- pipelineManager.waitPipelineReady(pipeline.getId(), 0);
- } catch (IOException e) {
- final List<Pipeline> pipelines = pipelineManager
- .getPipelines(type, replicationFactor, Pipeline.PipelineState.OPEN);
- if (pipelines.isEmpty()) {
- throw new IOException("Could not allocate container. Cannot get any" +
- " matching pipeline for Type:" + type +
- ", Factor:" + replicationFactor + ", State:PipelineState.OPEN");
- }
+
+ if (!pipelines.isEmpty() && replicationFactor == ReplicationFactor.THREE
+ && type == ReplicationType.RATIS) {
+ // Let background create Ratis THREE pipelines.
Review comment:
If ozone.scm.pipeline.creation.auto.factor.one is not disabled even ratis
with factor one pipeline creation is taken care by BackGroundPipelineCreator.
----------------------------------------------------------------
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]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]