HDFS-11280. Allow WebHDFS to reuse HTTP connections to NN. Contributed by Zheng Shao.
This commit is contained in:
parent
5ed63e3e9d
commit
a605ff36a5
@ -659,6 +659,8 @@ protected HttpURLConnection connect(URL url) throws IOException {
|
|||||||
url = new URL(conn.getHeaderField("Location"));
|
url = new URL(conn.getHeaderField("Location"));
|
||||||
redirectHost = url.getHost() + ":" + url.getPort();
|
redirectHost = url.getHost() + ":" + url.getPort();
|
||||||
} finally {
|
} finally {
|
||||||
|
// TODO: consider not calling conn.disconnect() to allow connection reuse
|
||||||
|
// See http://tinyurl.com/java7-http-keepalive
|
||||||
conn.disconnect();
|
conn.disconnect();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -891,7 +893,9 @@ final T getResponse(HttpURLConnection conn) throws IOException {
|
|||||||
LOG.debug("Response decoding failure.", e);
|
LOG.debug("Response decoding failure.", e);
|
||||||
throw ioe;
|
throw ioe;
|
||||||
} finally {
|
} finally {
|
||||||
conn.disconnect();
|
// Don't call conn.disconnect() to allow connection reuse
|
||||||
|
// See http://tinyurl.com/java7-http-keepalive
|
||||||
|
conn.getInputStream().close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -938,6 +942,9 @@ public void close() throws IOException {
|
|||||||
try {
|
try {
|
||||||
validateResponse(op, conn, true);
|
validateResponse(op, conn, true);
|
||||||
} finally {
|
} finally {
|
||||||
|
// This is a connection to DataNode. Let's disconnect since
|
||||||
|
// there is little chance that the connection will be reused
|
||||||
|
// any time soonl
|
||||||
conn.disconnect();
|
conn.disconnect();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user