[
https://issues.apache.org/jira/browse/HDDS-8661?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christos Bisias updated HDDS-8661:
----------------------------------
Description:
Subtask of HDDS-8538.
{color:#172b4d}When a datanode dies and its containers go missing, calling
*getContainerWithPipeline()* always results in an exception while the pipeline
isn't available. To cover the case of dead datanodes, we should also be using
*getContainer()* which checks only the SCM and if the container doesn't exist,
throws an exception. {color}
When cleaning up missing containers, their datanodes aren't available and the
containers will be only deleted from the SCM. Recon's health task should pick
up the change and remove the container from its tables.
After trying to get a container along with a pipeline, also check just the SCM.
design doc: [Ozone Missing Container
Cleanup|https://docs.google.com/document/d/1J_0D9bTCmpgqR82MYtLv9bbdrZYNB_PJdxFbgCLhUEQ/edit#]
was:
Subtask of HDDS-8538.
{color:#172b4d}When a datanode dies and its containers go missing, calling
*getContainerWithPipeline()* always results in an exception while the pipeline
isn't available. In case of dead datanodes, we should also be using
*getContainer()* which checks only the SCM and if the container doesn't exist,
throws an exception. {color}
When cleaning up missing containers, their datanodes aren't available and the
containers will be only deleted from the SCM. Recon's health task should pick
up the change and remove the container from its tables.
After trying to get a container along with a pipeline, also check just the SCM.
design doc: [Ozone Missing Container
Cleanup|https://docs.google.com/document/d/1J_0D9bTCmpgqR82MYtLv9bbdrZYNB_PJdxFbgCLhUEQ/edit#]
> Extend Recon's health task to pick up container deletes when container
> pipeline isn't available
> -----------------------------------------------------------------------------------------------
>
> Key: HDDS-8661
> URL: https://issues.apache.org/jira/browse/HDDS-8661
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Christos Bisias
> Assignee: Christos Bisias
> Priority: Major
>
> Subtask of HDDS-8538.
> {color:#172b4d}When a datanode dies and its containers go missing, calling
> *getContainerWithPipeline()* always results in an exception while the
> pipeline isn't available. To cover the case of dead datanodes, we should also
> be using *getContainer()* which checks only the SCM and if the container
> doesn't exist, throws an exception. {color}
> When cleaning up missing containers, their datanodes aren't available and the
> containers will be only deleted from the SCM. Recon's health task should pick
> up the change and remove the container from its tables.
> After trying to get a container along with a pipeline, also check just the
> SCM.
>
> design doc: [Ozone Missing Container
> Cleanup|https://docs.google.com/document/d/1J_0D9bTCmpgqR82MYtLv9bbdrZYNB_PJdxFbgCLhUEQ/edit#]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]