[ 
https://issues.apache.org/jira/browse/HDDS-9346?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17811820#comment-17811820
 ] 

ChenXi edited comment on HDDS-9346 at 1/29/24 10:56 AM:
--------------------------------------------------------

[~sumitagrawl] Thank for you updated. The design looks good.

I have a few questions you can refer:
 # If a keyA has been deleted by user, and the `Transaction` that contain 
`Block` of this keyA not executed by DN (mean that the `Block` still exist in 
DN).  Can we distinguish between such cases, or do we need to?
 # When the GetBlockCommand command gets the list of blocks on a DN, where does 
it get the list of blocks from? From Container DB or Blcok file on disk, if 
there is a difference between these two data sources, which one should take 
precedence?
 # Can Recon ensure the completeness of the container's block list, even if 
Recon is offline for a long time or encounters network problems(such as a very 
very slow and unstable network with OM) during the block list update?"
 # DeleteOrphanBlockCommand If you send it directly to the DN, do we need to 
let the DN persiste this Command, and if we can send it to the SCM and reuse 
the current block deletion logic?
 # Orphan block deletion user-triggered or auto-execute, if user-triggered, it 
may be difficult for the user to have additional information to decide whether 
or not to trigger, so auto-execute may be an option?


was (Author: JIRAUSER294158):
[~sumitagrawl] Thank for you updated. The design looks good.

I have a few questions you can refer:
 # If a keyA has been deleted by user, and the `Transaction` that contain 
`Block` of this keyA not executed by DN (mean that the `Block` still exist in 
DN).  Can we distinguish between such cases, or do we need to?
 # When the GetBlockCommand command gets the list of blocks on a DN, where does 
it get the list of blocks from? From Container DB or Blcok file on disk, if 
there is a difference between these two data sources, which one should take 
precedence?
 # Can Recon ensure the completeness of the container's block list, even if 
Recon is offline for a long time or encounters network problems(such as a very 
very slow and unstable network with OM) during the block list update?"
 # DeleteOrphanBlockCommand If you send it directly to the DN, do we need to 
let the DN persiste this Command, and if we can send it to the SCM and reuse 
the current block deletion logic?
 # Orphan block deletion user-triggered or auto-execute, if user-triggered, it 
may be difficult for the user to have additional information to decide whether 
or not to trigger, so auto-execute may be an option.

> Orphan blocks cleanup from DN
> -----------------------------
>
>                 Key: HDDS-9346
>                 URL: https://issues.apache.org/jira/browse/HDDS-9346
>             Project: Apache Ozone
>          Issue Type: Bug
>            Reporter: Ashish Kumar
>            Assignee: Sumit Agrawal
>            Priority: Major
>         Attachments: ozone orphan blocks cleanup.pdf
>
>
> There are various cases when some blocks can remain inside closed container 
> on data node but there is no reference in OM for these blocks.
> These blocks just consumes space on DN and currently there is no way we can 
> cleanup these blocks.
> In this Jira we should identify the scenario and solution for this cleanup.



--
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