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

Shilun Fan updated HDFS-16252:
------------------------------
    Hadoop Flags: Reviewed

> Correct docs for dfs.http.client.retry.policy.spec 
> ---------------------------------------------------
>
>                 Key: HDFS-16252
>                 URL: https://issues.apache.org/jira/browse/HDFS-16252
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: documentation
>    Affects Versions: 3.4.0, 3.3.2
>            Reporter: Stephen O'Donnell
>            Assignee: Stephen O'Donnell
>            Priority: Major
>             Fix For: 3.4.0, 3.3.2
>
>         Attachments: HDFS-16252.001.patch, HDFS-16252.002.patch
>
>
> The hdfs-default doc for dfs.http.client.retry.policy.spec is incorrect, as 
> it has the wait time and retries switched around in the descriptio. Also, the 
> doc for dfs.client.retry.policy.spec is not present and should be the same as 
> for dfs.http.client.retry.policy.spec.
> The code shows the timeout is first and then the number of retries:
> {code}
>     String  POLICY_SPEC_KEY = PREFIX + "policy.spec";
>     String  POLICY_SPEC_DEFAULT = "10000,6,60000,10"; //t1,n1,t2,n2,...
>     // In RetryPolicies.java, we can see it gets the timeout as the first in 
> the pair
>    /**
>      * Parse the given string as a MultipleLinearRandomRetry object.
>      * The format of the string is "t_1, n_1, t_2, n_2, ...",
>      * where t_i and n_i are the i-th pair of sleep time and number of 
> retries.
>      * Note that the white spaces in the string are ignored.
>      *
>      * @return the parsed object, or null if the parsing fails.
>      */
>     public static MultipleLinearRandomRetry parseCommaSeparatedString(String 
> s) {
>       final String[] elements = s.split(",");
>       if (elements.length == 0) {
>         LOG.warn("Illegal value: there is no element in \"" + s + "\".");
>         return null;
>       }
>       if (elements.length % 2 != 0) {
>         LOG.warn("Illegal value: the number of elements in \"" + s + "\" is "
>             + elements.length + " but an even number of elements is 
> expected.");
>         return null;
>       }
>       final List<RetryPolicies.MultipleLinearRandomRetry.Pair> pairs
>           = new ArrayList<RetryPolicies.MultipleLinearRandomRetry.Pair>();
>    
>       for(int i = 0; i < elements.length; ) {
>         //parse the i-th sleep-time
>         final int sleep = parsePositiveInt(elements, i++, s);
>         if (sleep == -1) {
>           return null; //parse fails
>         }
>         //parse the i-th number-of-retries
>         final int retries = parsePositiveInt(elements, i++, s);
>         if (retries == -1) {
>           return null; //parse fails
>         }
>         pairs.add(new RetryPolicies.MultipleLinearRandomRetry.Pair(retries, 
> sleep));
>       }
>       return new RetryPolicies.MultipleLinearRandomRetry(pairs);
>   }
> {code}
> This change simply updates the docs.



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

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

Reply via email to