HADOOP-12588. Fix intermittent test failure of TestGangliaMetrics. Contributed by Masatake Iwasaki.
This commit is contained in:
parent
6da9deec20
commit
bd5e207432
@ -1550,6 +1550,9 @@ Release 2.7.3 - UNRELEASED
|
||||
HADOOP-12602. TestMetricsSystemImpl#testQSize occasionally fails.
|
||||
(Masatake Iwasaki via aajisaka)
|
||||
|
||||
HADOOP-12588. Fix intermittent test failure of TestGangliaMetrics.
|
||||
(Masatake Iwasaki via aajisaka)
|
||||
|
||||
Release 2.7.2 - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
@ -29,7 +29,9 @@
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import org.apache.commons.io.Charsets;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.hadoop.metrics2.AbstractMetric;
|
||||
@ -145,7 +147,7 @@ public void testTagsForPrefix() throws Exception {
|
||||
private void checkMetrics(List<byte[]> bytearrlist, int expectedCount) {
|
||||
boolean[] foundMetrics = new boolean[expectedMetrics.length];
|
||||
for (byte[] bytes : bytearrlist) {
|
||||
String binaryStr = new String(bytes);
|
||||
String binaryStr = new String(bytes, Charsets.UTF_8);
|
||||
for (int index = 0; index < expectedMetrics.length; index++) {
|
||||
if (binaryStr.indexOf(expectedMetrics[index]) >= 0) {
|
||||
foundMetrics[index] = true;
|
||||
@ -188,13 +190,13 @@ private static class TestSource {
|
||||
* hence all the captured byte arrays were pointing to one instance.
|
||||
*/
|
||||
private class MockDatagramSocket extends DatagramSocket {
|
||||
private ArrayList<byte[]> capture;
|
||||
private List<byte[]> capture;
|
||||
|
||||
/**
|
||||
* @throws SocketException
|
||||
*/
|
||||
public MockDatagramSocket() throws SocketException {
|
||||
capture = new ArrayList<byte[]>();
|
||||
capture = new CopyOnWriteArrayList<byte[]>();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
@ -211,7 +213,7 @@ public void send(DatagramPacket p) throws IOException {
|
||||
/**
|
||||
* @return the captured byte arrays
|
||||
*/
|
||||
ArrayList<byte[]> getCapturedSend() {
|
||||
List<byte[]> getCapturedSend() {
|
||||
return capture;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user