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

Ethan Rose updated HDDS-12206:
------------------------------
    Description: 
Add a command that can be used to check the state of all replicas in a portion 
of the namespace. For example, something like {{ozone debug replicas verify 
<URI>... [--checksums] [--metadata] ...}} where:
 * {{ozone debug replicas verify}} does one iteration through the namespace 
provided in {{{}<URI>{}}}. It may use multiple threads to work through all the 
keys.
 * For each key under {{{}<URI>{}}}, the client does checks on all the replicas 
based on the flags provided. At least one flag is required.
 * Client uses the block info to checks on the replicas as specified by the 
flags:
 ** {{{}--checksums{}}}: Download data from the datanode to do client side 
checksum verification. Replaces the {{read-replicas}} commad.
 ** {{{}--metadata{}}}: Only check block existence by {{GetBlock}} calls to the 
datanodes without downloading data.
 ** The command can be extended to add more replica checks in the future.

The command should output results in json format grouped by key and the results 
of the checks run. It may optionally omit results from keys with no issues.

This would replace other {{ozone debug}} tools like {{find-missing-padding}} 
and {{read-replicas.}}

  was:
Add a command that can be used to check the state of all replicas in a portion 
of the namespace. For example, something like {{ozone debug replicas verify 
<URI>... [--checksums] [--metadata] [--padding]}} where:
 * {{ozone debug replicas verify}} does one iteration through the namespace 
provided in {{{}<URI>{}}}. It may use multiple threads to work through all the 
keys.
 * For each key under {{{}<URI>{}}}, the client does checks on all the replicas 
based on the flags provided. At least one flag is required.
 * Client uses the block info to checks on the replicas as specified by the 
flags:
 ** {{{}--checksums{}}}: Download data from the datanode to do client side 
checksum verification. Replaces the {{read-replicas}} commad.
 ** {{{}--padding{}}}: Check for EC missing padding. Replaces the 
{{find-missing-padding}} command and is a no-op for non-EC keys.
 ** {{{}--metadata{}}}: Only check block existence by {{GetBlock}} calls to the 
datanodes without downloading data.

More flags can be added as we come up with new checks that would be good to 
have. The command should output results in json format grouped by key and the 
results of the checks run. It may optionally omit results from keys with no 
issues.

This would replace other {{ozone debug}} tools like {{find-missing-padding}} 
and {{read-replicas.}}


> Create an `ozone debug` command to run checks on all replicas
> -------------------------------------------------------------
>
>                 Key: HDDS-12206
>                 URL: https://issues.apache.org/jira/browse/HDDS-12206
>             Project: Apache Ozone
>          Issue Type: Improvement
>            Reporter: Ethan Rose
>            Assignee: Rishabh Patel
>            Priority: Major
>
> Add a command that can be used to check the state of all replicas in a 
> portion of the namespace. For example, something like {{ozone debug replicas 
> verify <URI>... [--checksums] [--metadata] ...}} where:
>  * {{ozone debug replicas verify}} does one iteration through the namespace 
> provided in {{{}<URI>{}}}. It may use multiple threads to work through all 
> the keys.
>  * For each key under {{{}<URI>{}}}, the client does checks on all the 
> replicas based on the flags provided. At least one flag is required.
>  * Client uses the block info to checks on the replicas as specified by the 
> flags:
>  ** {{{}--checksums{}}}: Download data from the datanode to do client side 
> checksum verification. Replaces the {{read-replicas}} commad.
>  ** {{{}--metadata{}}}: Only check block existence by {{GetBlock}} calls to 
> the datanodes without downloading data.
>  ** The command can be extended to add more replica checks in the future.
> The command should output results in json format grouped by key and the 
> results of the checks run. It may optionally omit results from keys with no 
> issues.
> This would replace other {{ozone debug}} tools like {{find-missing-padding}} 
> and {{read-replicas.}}



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

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

Reply via email to