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:
parent
d0ffad0387
commit
bd816a2739
|
@ -244,6 +244,8 @@ Release 2.0.5-beta - UNRELEASED
|
||||||
HDFS-4799. Corrupt replica can be prematurely removed from
|
HDFS-4799. Corrupt replica can be prematurely removed from
|
||||||
corruptReplicas map. (todd via kihwal)
|
corruptReplicas map. (todd via kihwal)
|
||||||
|
|
||||||
|
HDFS-4751. TestLeaseRenewer#testThreadName flakes. (Andrew Wang via atm)
|
||||||
|
|
||||||
Release 2.0.4-alpha - 2013-04-25
|
Release 2.0.4-alpha - 2013-04-25
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -35,6 +35,7 @@ import org.apache.hadoop.security.UserGroupInformation;
|
||||||
import org.apache.hadoop.util.Daemon;
|
import org.apache.hadoop.util.Daemon;
|
||||||
import org.apache.hadoop.util.StringUtils;
|
import org.apache.hadoop.util.StringUtils;
|
||||||
import org.apache.hadoop.util.Time;
|
import org.apache.hadoop.util.Time;
|
||||||
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -323,6 +324,11 @@ class LeaseRenewer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
synchronized void setEmptyTime(long time) {
|
||||||
|
emptyTime = time;
|
||||||
|
}
|
||||||
|
|
||||||
/** Close a file. */
|
/** Close a file. */
|
||||||
void closeFile(final String src, final DFSClient dfsc) {
|
void closeFile(final String src, final DFSClient dfsc) {
|
||||||
dfsc.removeFileBeingWritten(src);
|
dfsc.removeFileBeingWritten(src);
|
||||||
|
|
|
@ -182,8 +182,6 @@ public class TestLeaseRenewer {
|
||||||
renewer.isRunning());
|
renewer.isRunning());
|
||||||
|
|
||||||
// Pretend to open a file
|
// Pretend to open a file
|
||||||
Mockito.doReturn(false)
|
|
||||||
.when(MOCK_DFSCLIENT).isFilesBeingWrittenEmpty();
|
|
||||||
renewer.put(filePath, mockStream, MOCK_DFSCLIENT);
|
renewer.put(filePath, mockStream, MOCK_DFSCLIENT);
|
||||||
|
|
||||||
Assert.assertTrue("Renewer should have started running",
|
Assert.assertTrue("Renewer should have started running",
|
||||||
|
@ -194,9 +192,8 @@ public class TestLeaseRenewer {
|
||||||
Assert.assertEquals("LeaseRenewer:myuser@hdfs://nn1/", threadName);
|
Assert.assertEquals("LeaseRenewer:myuser@hdfs://nn1/", threadName);
|
||||||
|
|
||||||
// Pretend to close the file
|
// Pretend to close the file
|
||||||
Mockito.doReturn(true)
|
|
||||||
.when(MOCK_DFSCLIENT).isFilesBeingWrittenEmpty();
|
|
||||||
renewer.closeFile(filePath, MOCK_DFSCLIENT);
|
renewer.closeFile(filePath, MOCK_DFSCLIENT);
|
||||||
|
renewer.setEmptyTime(Time.now());
|
||||||
|
|
||||||
// Should stop the renewer running within a few seconds
|
// Should stop the renewer running within a few seconds
|
||||||
long failTime = Time.now() + 5000;
|
long failTime = Time.now() + 5000;
|
||||||
|
|
Loading…
Reference in New Issue