[ 
https://issues.apache.org/jira/browse/HDDS-4125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Glen Geng updated HDDS-4125:
----------------------------
    Description: 
When a node goes stale the pipelines in that node have to be closed and removed 
from {{PipelineManager}}. Currently, the pipeline is only closed and left in 
{{PipelineManager}}.

 

Since the Scheduler in SCMPipelineManager that used to destroyPipeline is 
removed,
{code:java}
scheduler.schedule(() -> destroyPipeline(pipeline),
    pipelineDestroyTimeoutInMillis, TimeUnit.MILLISECONDS, LOG,
    String.format("Destroy pipeline failed for pipeline:%s", pipeline));{code}
meanwhile the PipelineManagerV2Impl::scrubPipeline only handles and remove 
RATIS THREE pipeline,
{code:java}
public void scrubPipeline(ReplicationType type, ReplicationFactor factor)
    throws IOException {
  checkLeader();
  if (type != ReplicationType.RATIS || factor != ReplicationFactor.THREE) {
    // Only srub pipeline for RATIS THREE pipeline
    return;
  }
{code}
 RATIS ONE Pipeline is closed but not removed when a datanode goes stale. The 
solution is let scrubPipeline handle all kinds of pipelines.

  was:When a node goes stale the pipelines in that node have to be closed and 
removed from {{PipelineManager}}. Currently, the pipeline is only closed and 
left in {{PipelineManager}}.


> Pipeline is not removed when a datanode goes stale
> --------------------------------------------------
>
>                 Key: HDDS-4125
>                 URL: https://issues.apache.org/jira/browse/HDDS-4125
>             Project: Hadoop Distributed Data Store
>          Issue Type: Sub-task
>          Components: SCM HA
>            Reporter: Nanda kumar
>            Assignee: Glen Geng
>            Priority: Major
>              Labels: pull-request-available
>
> When a node goes stale the pipelines in that node have to be closed and 
> removed from {{PipelineManager}}. Currently, the pipeline is only closed and 
> left in {{PipelineManager}}.
>  
> Since the Scheduler in SCMPipelineManager that used to destroyPipeline is 
> removed,
> {code:java}
> scheduler.schedule(() -> destroyPipeline(pipeline),
>     pipelineDestroyTimeoutInMillis, TimeUnit.MILLISECONDS, LOG,
>     String.format("Destroy pipeline failed for pipeline:%s", pipeline));{code}
> meanwhile the PipelineManagerV2Impl::scrubPipeline only handles and remove 
> RATIS THREE pipeline,
> {code:java}
> public void scrubPipeline(ReplicationType type, ReplicationFactor factor)
>     throws IOException {
>   checkLeader();
>   if (type != ReplicationType.RATIS || factor != ReplicationFactor.THREE) {
>     // Only srub pipeline for RATIS THREE pipeline
>     return;
>   }
> {code}
>  RATIS ONE Pipeline is closed but not removed when a datanode goes stale. The 
> solution is let scrubPipeline handle all kinds of pipelines.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: ozone-issues-h...@hadoop.apache.org

Reply via email to