[
https://issues.apache.org/jira/browse/HDDS-9551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17790718#comment-17790718
]
Dave Teng commented on HDDS-9551:
---------------------------------
sure. Found the following logic on the SCM server side during allocating a
block, which already tries to "getPipeline" without exclude list if the first
request with exclude list fails.
# findPipelinesByState method
(https://github.com/apache/ozone/blob/master/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/WritableRatisContainerProvider.java#L185-L198)
in WritableRatisContainerProvider will retry getPipelines without the exclude
list if the first attempt fails.
# If WritableRatisContainerProvider fails to get a pipeline after these two
attempts of "getPipeline", it will create a new pipeline and use that pipeline.
([https://github.com/apache/ozone/blob/master/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/WritableRatisContainerProvider.java#L112-L121)]
# Then WritableRatisContainerProvider will try to get pipelines twice more.
One request will have an exclude list, and the other will not.
(https://github.com/apache/ozone/blob/master/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/WritableRatisContainerProvider.java#L153-L158)
> Allow the client write to fall back to nodes in the exclude list if that is
> all that is available
> -------------------------------------------------------------------------------------------------
>
> Key: HDDS-9551
> URL: https://issues.apache.org/jira/browse/HDDS-9551
> Project: Apache Ozone
> Issue Type: Task
> Components: Ozone Client
> Reporter: Dave Teng
> Assignee: Dave Teng
> Priority: Major
> Labels: pull-request-available
>
> Allow the client write to fall back to nodes in the exclude list if that is
> all that is available
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]