HDFS-6225. Merge r1586181 from trunk.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1586182 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
129bf91c5e
commit
55758cbd81
|
@ -40,6 +40,9 @@ Release 2.5.0 - UNRELEASED
|
|||
HDFS-6170. Support GETFILESTATUS operation in WebImageViewer.
|
||||
(Akira Ajisaka via wheat9)
|
||||
|
||||
HDFS-6225. Remove the o.a.h.hdfs.server.common.UpgradeStatusReport.
|
||||
(wheat9)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
BUG FIXES
|
||||
|
|
|
@ -1,89 +0,0 @@
|
|||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.hadoop.hdfs.server.common;
|
||||
|
||||
import org.apache.hadoop.classification.InterfaceAudience;
|
||||
|
||||
/**
|
||||
* Base upgrade upgradeStatus class.
|
||||
* Overload this class if specific status fields need to be reported.
|
||||
*
|
||||
* Describes status of current upgrade.
|
||||
*/
|
||||
@InterfaceAudience.Private
|
||||
public class UpgradeStatusReport {
|
||||
protected final int version;
|
||||
protected final short upgradeStatus;
|
||||
protected final boolean finalized;
|
||||
|
||||
public UpgradeStatusReport(int version, short status, boolean isFinalized) {
|
||||
this.version = version;
|
||||
this.upgradeStatus = status;
|
||||
this.finalized = isFinalized;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the layout version of the currently running upgrade.
|
||||
* @return layout version
|
||||
*/
|
||||
public int getVersion() {
|
||||
return this.version;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get upgrade upgradeStatus as a percentage of the total upgrade done.
|
||||
*
|
||||
* @see Upgradeable#getUpgradeStatus()
|
||||
*/
|
||||
public short getUpgradeStatus() {
|
||||
return upgradeStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is current upgrade finalized.
|
||||
* @return true if finalized or false otherwise.
|
||||
*/
|
||||
public boolean isFinalized() {
|
||||
return this.finalized;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get upgradeStatus data as a text for reporting.
|
||||
* Should be overloaded for a particular upgrade specific upgradeStatus data.
|
||||
*
|
||||
* @param details true if upgradeStatus details need to be included,
|
||||
* false otherwise
|
||||
* @return text
|
||||
*/
|
||||
public String getStatusText(boolean details) {
|
||||
return "Upgrade for version " + getVersion()
|
||||
+ (upgradeStatus<100 ?
|
||||
" is in progress. Status = " + upgradeStatus + "%" :
|
||||
" has been completed."
|
||||
+ "\nUpgrade is " + (finalized ? "" : "not ")
|
||||
+ "finalized.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Print basic upgradeStatus details.
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return getStatusText(false);
|
||||
}
|
||||
}
|
|
@ -586,33 +586,6 @@ public class TestJspHelper {
|
|||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpgradeStatusReport() {
|
||||
short status = 6;
|
||||
int version = 15;
|
||||
String EXPECTED_NOTF_PATTERN = "Upgrade for version {0} has been completed.\nUpgrade is not finalized.";
|
||||
String EXPECTED_PATTERN = "Upgrade for version {0} is in progress. Status = {1}%";
|
||||
|
||||
UpgradeStatusReport upgradeStatusReport = new UpgradeStatusReport(version,
|
||||
status, true);
|
||||
assertTrue(upgradeStatusReport.getVersion() == version);
|
||||
assertTrue(upgradeStatusReport.getUpgradeStatus() == status);
|
||||
assertTrue(upgradeStatusReport.isFinalized());
|
||||
|
||||
assertEquals(MessageFormat.format(EXPECTED_PATTERN, version, status),
|
||||
upgradeStatusReport.getStatusText(true));
|
||||
|
||||
status += 100;
|
||||
upgradeStatusReport = new UpgradeStatusReport(version, status, false);
|
||||
assertFalse(upgradeStatusReport.isFinalized());
|
||||
assertTrue(upgradeStatusReport.toString().equals(
|
||||
MessageFormat.format(EXPECTED_NOTF_PATTERN, version)));
|
||||
assertTrue(upgradeStatusReport.getStatusText(false).equals(
|
||||
MessageFormat.format(EXPECTED_NOTF_PATTERN, version)));
|
||||
assertTrue(upgradeStatusReport.getStatusText(true).equals(
|
||||
MessageFormat.format(EXPECTED_NOTF_PATTERN, version)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAuthority(){
|
||||
DatanodeID dnWithIp = new DatanodeID("127.0.0.1", "hostName", null,
|
||||
|
|
Loading…
Reference in New Issue