[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stephen O'Donnell updated HDFS-15439: - Fix Version/s: 3.2.3 3.1.5 3.3.1 > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Assignee: AMC-team >Priority: Major > Fix For: 3.3.1, 3.4.0, 3.1.5, 3.2.3 > > Attachments: HDFS-15439.000.patch, HDFS-15439.001.patch, > HDFS-15439.002.patch > > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ayush Saxena updated HDFS-15439: Fix Version/s: 3.4.0 Hadoop Flags: Reviewed Resolution: Fixed Status: Resolved (was: Patch Available) Committed to trunk. Thanx [~AMC-team] for the contribution!!! > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Assignee: AMC-team >Priority: Major > Fix For: 3.4.0 > > Attachments: HDFS-15439.000.patch, HDFS-15439.001.patch, > HDFS-15439.002.patch > > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Attachment: HDFS-15439.002.patch > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > Attachments: HDFS-15439.000.patch, HDFS-15439.001.patch, > HDFS-15439.002.patch > > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Attachment: (was: HDFS-15439.002.patch) > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > Attachments: HDFS-15439.000.patch, HDFS-15439.001.patch > > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Attachment: HDFS-15439.002.patch > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > Attachments: HDFS-15439.000.patch, HDFS-15439.001.patch, > HDFS-15439.002.patch > > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Attachment: HDFS-15439.001.patch > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > Attachments: HDFS-15439.000.patch, HDFS-15439.001.patch > > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Attachment: (was: HDFS-15439.001.patch) > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > Attachments: HDFS-15439.000.patch > > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Attachment: HDFS-15439.001.patch > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > Attachments: HDFS-15439.000.patch, HDFS-15439.001.patch > > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Attachment: (was: HDFS-15439.001.patch) > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > Attachments: HDFS-15439.000.patch > > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Attachment: HDFS-15439.001.patch > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > Attachments: HDFS-15439.000.patch, HDFS-15439.001.patch > > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Attachment: HDFS-15439.000.patch Status: Patch Available (was: Open) > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > Attachments: HDFS-15439.000.patch > > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Attachment: (was: HDFS-15439.000.patch) > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > Attachments: HDFS-15439.000.patch > > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Attachment: HDFS-15439.000.patch > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > Attachments: HDFS-15439.000.patch > > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Description: Configuration parameter "dfs.mover.retry.max.attempts" is to define the maximum number of retries before the mover consider the move failed. There is no checking code so this parameter can accept any int value. Theoratically, setting this value to <=0 should mean that no retry at all. However, if you set the value to negative value. The checking condition for retry failed will never satisfied because the if statement is "*if (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* {code:java} private Result processNamespace() throws IOException { ... //wait for pending move to finish and retry the failed migration if (hasFailed && !hasSuccess) { if (retryCount.get() == retryMaxAttempts) { result.setRetryFailed(); LOG.error("Failed to move some block's after " + retryMaxAttempts + " retries."); return result; } else { retryCount.incrementAndGet(); } } else { // Reset retry count if no failure. retryCount.set(0); } ... } {code} *How to fix* Add checking code of "dfs.mover.retry.max.attempts" to accept only non-negative value or change the if statement condition when retry count exceeds max attempts. was: Configuration parameter "dfs.mover.retry.max.attempts" is to define the maximum number of retries before the mover consider the move failed. There is no checking code so this parameter can accept any int value. Theoratically, setting this value to <=0 should mean that no retry at all. However, if you set the value to negative value. The checking condition for retry failed will never satisfied because the if statement is "*if (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* {code:java} private Result processNamespace() throws IOException { ... //wait for pending move to finish and retry the failed migration if (hasFailed && !hasSuccess) { if (retryCount.get() == retryMaxAttempts) { // retryMaxAttempts < 0 result.setRetryFailed(); LOG.error("Failed to move some block's after " + retryMaxAttempts + " retries."); return result; } else { retryCount.incrementAndGet(); } } else { // Reset retry count if no failure. retryCount.set(0); } ... } {code} *How to fix* Add checking code of "dfs.mover.retry.max.attempts" to accept only non-negative value or change the if statement condition when retry count exceeds max attempts. > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands,
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever.
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Summary: Setting dfs.mover.retry.max.attempts to negative value will retry forever. (was: Setting dfs.mover.retry.max.attempts to negative value will retry forever (theoratcially).) > Setting dfs.mover.retry.max.attempts to negative value will retry forever. > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { // retryMaxAttempts < 0 > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever (theoratcially).
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Description: Configuration parameter "dfs.mover.retry.max.attempts" is to define the maximum number of retries before the mover consider the move failed. There is no checking code so this parameter can accept any int value. Theoratically, setting this value to <=0 should mean that no retry at all. However, if you set the value to negative value. The checking condition for retry failed will never satisfied because the if statement is "*if (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* {code:java} private Result processNamespace() throws IOException { ... //wait for pending move to finish and retry the failed migration if (hasFailed && !hasSuccess) { if (retryCount.get() == retryMaxAttempts) { // retryMaxAttempts < 0 result.setRetryFailed(); LOG.error("Failed to move some block's after " + retryMaxAttempts + " retries."); return result; } else { retryCount.incrementAndGet(); } } else { // Reset retry count if no failure. retryCount.set(0); } ... } {code} *How to fix* Add checking code of "dfs.mover.retry.max.attempts" to accept only non-negative value or change the if statement condition when retry count exceeds max attempts. was: Configuration parameter "dfs.mover.retry.max.attempts" is to define the maximum number of retries before the mover consider the move failed. There is no checking code so this parameter can accept any int value. Theoratically, setting this value to <=0 should mean that no retry at all. However, if you set the value to negative value. The checking condition for retry failed will never satisfied because the if statement is "*if (retryCount.get() == retryMaxAttempts)*". The code is in Mover.java. {code:java} private Result processNamespace() throws IOException { ... //wait for pending move to finish and retry the failed migration if (hasFailed && !hasSuccess) { if (retryCount.get() == retryMaxAttempts) { // retryMaxAttempts < 0 result.setRetryFailed(); LOG.error("Failed to move some block's after " + retryMaxAttempts + " retries."); return result; } else { retryCount.incrementAndGet(); } } else { // Reset retry count if no failure. retryCount.set(0); } ... } {code} *How to fix* Add checking code of "dfs.mover.retry.max.attempts" to accept only non-negative value or change the if statement condition when retry count exceeds max attempts. > Setting dfs.mover.retry.max.attempts to negative value will retry forever > (theoratcially). > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The retry count will always +1 by > retryCount.incrementAndGet() after failed but never *=* *retryMaxAttempts.* > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { // retryMaxAttempts < 0 > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands,
[jira] [Updated] (HDFS-15439) Setting dfs.mover.retry.max.attempts to negative value will retry forever (theoratcially).
[ https://issues.apache.org/jira/browse/HDFS-15439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] AMC-team updated HDFS-15439: Summary: Setting dfs.mover.retry.max.attempts to negative value will retry forever (theoratcially). (was: Setting dfs.mover.retry.max.attempts to negative value will fail the retry policy.) > Setting dfs.mover.retry.max.attempts to negative value will retry forever > (theoratcially). > -- > > Key: HDFS-15439 > URL: https://issues.apache.org/jira/browse/HDFS-15439 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer mover >Reporter: AMC-team >Priority: Major > > Configuration parameter "dfs.mover.retry.max.attempts" is to define the > maximum number of retries before the mover consider the move failed. There is > no checking code so this parameter can accept any int value. > Theoratically, setting this value to <=0 should mean that no retry at all. > However, if you set the value to negative value. The checking condition for > retry failed will never satisfied because the if statement is "*if > (retryCount.get() == retryMaxAttempts)*". The code is in Mover.java. > {code:java} > private Result processNamespace() throws IOException { > ... //wait for pending move to finish and retry the failed migration > if (hasFailed && !hasSuccess) { > if (retryCount.get() == retryMaxAttempts) { // retryMaxAttempts < 0 > result.setRetryFailed(); > LOG.error("Failed to move some block's after " > + retryMaxAttempts + " retries."); > return result; > } else { > retryCount.incrementAndGet(); > } > } else { > // Reset retry count if no failure. > retryCount.set(0); > } > ... > } > {code} > *How to fix* > Add checking code of "dfs.mover.retry.max.attempts" to accept only > non-negative value or change the if statement condition when retry count > exceeds max attempts. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org