Soumitra Sulav created HDDS-12624:
-------------------------------------

             Summary: Ozone pipeline create throws incorrect error on pipeline 
limit
                 Key: HDDS-12624
                 URL: https://issues.apache.org/jira/browse/HDDS-12624
             Project: Apache Ozone
          Issue Type: Bug
          Components: Ozone Client
            Reporter: Soumitra Sulav


We have set {{ozone.scm.datanode.pipeline.limit}} to 1.
And we have only 3 data nodes running.

We already have an OPEN pipeline with three Datanodes

{code:java}
# ozone admin pipeline list
Pipeline[ Id: 44764394-5c16-4df4-b362-18a1a2de12a7, Nodes: 
5255dadf-b877-481a-b041-a741749cc7e2(host1) ReplicaIndex: 
0a9a94631-fd3f-4e12-b05c-196e0b793164(host2) ReplicaIndex: 
084de52c9-da9b-4976-a58b-25d7932f01a0(host3) ReplicaIndex: 0, 
ReplicationConfig: RATIS/THREE, State:OPEN, 
leaderId:5255dadf-b877-481a-b041-a741749cc7e2, 
CreationTimestamp2025-03-18T10:15:18.637Z[UTC]]
{code}

If we try to create a new pipeline the client keeps on retrying and throwing 
error.
The Error should be graceful saying that the pipeline limit is reached instead 
of retries.
{code:java}
# ozone admin pipeline create -f THREE -t RATIS
com.google.protobuf.ServiceException: 
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdds.scm.exceptions.SCMException):
 Pipeline creation failed due to no sufficient healthy datanodes. Required 3. 
Found 0. Excluded 3.
        at 
org.apache.hadoop.hdds.scm.pipeline.PipelinePlacementPolicy.filterViableNodes(PipelinePlacementPolicy.java:167)
        at 
org.apache.hadoop.hdds.scm.pipeline.PipelinePlacementPolicy.chooseDatanodesInternal(PipelinePlacementPolicy.java:256)
        at 
org.apache.hadoop.hdds.scm.SCMCommonPlacementPolicy.chooseDatanodes(SCMCommonPlacementPolicy.java:208)
        at 
org.apache.hadoop.hdds.scm.SCMCommonPlacementPolicy.chooseDatanodes(SCMCommonPlacementPolicy.java:139)
        at 
org.apache.hadoop.hdds.scm.pipeline.RatisPipelineProvider.create(RatisPipelineProvider.java:177)
        at 
org.apache.hadoop.hdds.scm.pipeline.RatisPipelineProvider.create(RatisPipelineProvider.java:57)
        at 
org.apache.hadoop.hdds.scm.pipeline.PipelineFactory.create(PipelineFactory.java:89)
        at 
org.apache.hadoop.hdds.scm.pipeline.PipelineManagerImpl.createPipeline(PipelineManagerImpl.java:255)
        at 
org.apache.hadoop.hdds.scm.pipeline.PipelineManagerImpl.createPipeline(PipelineManagerImpl.java:241)
        at 
org.apache.hadoop.hdds.scm.server.SCMClientProtocolServer.createReplicationPipeline(SCMClientProtocolServer.java:687)
        at 
org.apache.hadoop.hdds.scm.protocol.StorageContainerLocationProtocolServerSideTranslatorPB.allocatePipeline(StorageContainerLocationProtocolServerSideTranslatorPB.java:877)
{code}




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to