HADOOP-8775. MR2 distcp permits non-positive value to -bandwidth option which causes job never to complete. Contributed by Sandy Ryza.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1382119 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a7998921a7
commit
6ba9ff9177
@ -482,6 +482,9 @@ Branch-2 ( Unreleased changes )
|
|||||||
HADOOP-8431. Running distcp wo args throws IllegalArgumentException.
|
HADOOP-8431. Running distcp wo args throws IllegalArgumentException.
|
||||||
(Sandy Ryza via eli)
|
(Sandy Ryza via eli)
|
||||||
|
|
||||||
|
HADOOP-8775. MR2 distcp permits non-positive value to -bandwidth option
|
||||||
|
which causes job never to complete. (Sandy Ryza via atm)
|
||||||
|
|
||||||
BREAKDOWN OF HDFS-3042 SUBTASKS
|
BREAKDOWN OF HDFS-3042 SUBTASKS
|
||||||
|
|
||||||
HADOOP-8220. ZKFailoverController doesn't handle failure to become active
|
HADOOP-8220. ZKFailoverController doesn't handle failure to become active
|
||||||
|
@ -156,6 +156,10 @@ public static DistCpOptions parse(String args[]) throws IllegalArgumentException
|
|||||||
try {
|
try {
|
||||||
Integer mapBandwidth = Integer.parseInt(
|
Integer mapBandwidth = Integer.parseInt(
|
||||||
getVal(command, DistCpOptionSwitch.BANDWIDTH.getSwitch()).trim());
|
getVal(command, DistCpOptionSwitch.BANDWIDTH.getSwitch()).trim());
|
||||||
|
if (mapBandwidth.intValue() <= 0) {
|
||||||
|
throw new IllegalArgumentException("Bandwidth specified is not positive: " +
|
||||||
|
mapBandwidth);
|
||||||
|
}
|
||||||
option.setMapBandwidth(mapBandwidth);
|
option.setMapBandwidth(mapBandwidth);
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
throw new IllegalArgumentException("Bandwidth specified is invalid: " +
|
throw new IllegalArgumentException("Bandwidth specified is invalid: " +
|
||||||
|
@ -111,6 +111,24 @@ public void testParsebandwidth() {
|
|||||||
Assert.assertEquals(options.getMapBandwidth(), 11);
|
Assert.assertEquals(options.getMapBandwidth(), 11);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test(expected=IllegalArgumentException.class)
|
||||||
|
public void testParseNonPositiveBandwidth() {
|
||||||
|
OptionsParser.parse(new String[] {
|
||||||
|
"-bandwidth",
|
||||||
|
"-11",
|
||||||
|
"hdfs://localhost:8020/source/first",
|
||||||
|
"hdfs://localhost:8020/target/"});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected=IllegalArgumentException.class)
|
||||||
|
public void testParseZeroBandwidth() {
|
||||||
|
OptionsParser.parse(new String[] {
|
||||||
|
"-bandwidth",
|
||||||
|
"0",
|
||||||
|
"hdfs://localhost:8020/source/first",
|
||||||
|
"hdfs://localhost:8020/target/"});
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testParseSkipCRC() {
|
public void testParseSkipCRC() {
|
||||||
DistCpOptions options = OptionsParser.parse(new String[] {
|
DistCpOptions options = OptionsParser.parse(new String[] {
|
||||||
|
Loading…
Reference in New Issue
Block a user