You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "surendra singh lilhore (JIRA)" <ji...@apache.org> on 2015/05/09 11:32:00 UTC
[jira] [Commented] (HDFS-8143) HDFS Mover tool should exit after
some retry when failed to move blocks.
[ https://issues.apache.org/jira/browse/HDFS-8143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14536317#comment-14536317 ]
surendra singh lilhore commented on HDFS-8143:
----------------------------------------------
Thanks [~szetszwo] for reviewing. Attached new patch, please review.
bq. If the mover exit due to failure, it should exit with an error state like balancer.
Mover is already handling this..
{code}
try {
final Map<URI, List<Path>> map = getNameNodePathsToMove(conf, args);
return Mover.run(map, conf);
} catch (IOException e) {
System.out.println(e + ". Exiting ...");
return ExitStatus.IO_EXCEPTION.getExitCode();
} catch (InterruptedException e) {
System.out.println(e + ". Exiting ...");
return ExitStatus.INTERRUPTED.getExitCode();
} catch (ParseException e) {
System.out.println(e + ". Exiting ...");
return ExitStatus.ILLEGAL_ARGUMENTS.getExitCode();
} catch (IllegalArgumentException e) {
System.out.println(e + ". Exiting ...");
return ExitStatus.ILLEGAL_ARGUMENTS.getExitCode();
} finally {
System.out.format("%-24s ", DateFormat.getDateTimeInstance().format(new Date()));
System.out.println("Mover took " + StringUtils.formatTime(Time.monotonicNow()-startTime));
}
{code}
Other comment fixed in new patch....
> HDFS Mover tool should exit after some retry when failed to move blocks.
> ------------------------------------------------------------------------
>
> Key: HDFS-8143
> URL: https://issues.apache.org/jira/browse/HDFS-8143
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: balancer & mover
> Affects Versions: 2.6.0
> Reporter: surendra singh lilhore
> Assignee: surendra singh lilhore
> Priority: Blocker
> Attachments: HDFS-8143.patch, HDFS-8143_1.patch
>
>
> Mover is not coming out in case of failed to move blocks.
> {code}
> hasRemaining |= Dispatcher.waitForMoveCompletion(storages.targets.values());
> {code}
> {{Dispatcher.waitForMoveCompletion()}} will always return true if some blocks migration failed. So hasRemaining never become false.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)