HDFS-4751. TestLeaseRenewer#testThreadName flakes. Contributed by Andrew Wang.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1481166 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Aaron Myers 2013-05-10 19:54:27 +00:00
parent d0ffad0387
commit bd816a2739
3 changed files with 9 additions and 4 deletions

View File

@ -244,6 +244,8 @@ Release 2.0.5-beta - UNRELEASED
HDFS-4799. Corrupt replica can be prematurely removed from
corruptReplicas map. (todd via kihwal)
HDFS-4751. TestLeaseRenewer#testThreadName flakes. (Andrew Wang via atm)
Release 2.0.4-alpha - 2013-04-25
INCOMPATIBLE CHANGES

View File

@ -35,6 +35,7 @@ import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.util.Daemon;
import org.apache.hadoop.util.StringUtils;
import org.apache.hadoop.util.Time;
import com.google.common.annotations.VisibleForTesting;
/**
* <p>
@ -323,6 +324,11 @@ class LeaseRenewer {
}
}
@VisibleForTesting
synchronized void setEmptyTime(long time) {
emptyTime = time;
}
/** Close a file. */
void closeFile(final String src, final DFSClient dfsc) {
dfsc.removeFileBeingWritten(src);

View File

@ -182,8 +182,6 @@ public class TestLeaseRenewer {
renewer.isRunning());
// Pretend to open a file
Mockito.doReturn(false)
.when(MOCK_DFSCLIENT).isFilesBeingWrittenEmpty();
renewer.put(filePath, mockStream, MOCK_DFSCLIENT);
Assert.assertTrue("Renewer should have started running",
@ -194,9 +192,8 @@ public class TestLeaseRenewer {
Assert.assertEquals("LeaseRenewer:myuser@hdfs://nn1/", threadName);
// Pretend to close the file
Mockito.doReturn(true)
.when(MOCK_DFSCLIENT).isFilesBeingWrittenEmpty();
renewer.closeFile(filePath, MOCK_DFSCLIENT);
renewer.setEmptyTime(Time.now());
// Should stop the renewer running within a few seconds
long failTime = Time.now() + 5000;