MAPREDUCE-6431. JobClient should be an AutoClosable (haibochen via rkanter)

This commit is contained in:
Robert Kanter 2016-01-27 17:11:07 -08:00
parent ec25c7f9c7
commit dca0dc8ac2
3 changed files with 14 additions and 1 deletions

View File

@ -311,6 +311,8 @@ Release 2.9.0 - UNRELEASED
IMPROVEMENTS
MAPREDUCE-6431. JobClient should be an AutoClosable (haibochen via rkanter)
OPTIMIZATIONS
BUG FIXES

View File

@ -87,4 +87,14 @@ public void testGetStagingAreaDir() throws IOException, InterruptedException {
client.getClusterHandle().getStagingAreaDir().toString()
.equals(client.getStagingAreaDir().toString()));
}
/**
* Asks the compiler to check if JobClient is AutoClosable.
*/
@Test(timeout = 10000)
public void testAutoClosable() throws IOException {
Configuration conf = new Configuration();
try (JobClient jobClient = new JobClient(conf)) {
}
}
}

View File

@ -137,7 +137,7 @@
*/
@InterfaceAudience.Public
@InterfaceStability.Stable
public class JobClient extends CLI {
public class JobClient extends CLI implements AutoCloseable {
@InterfaceAudience.Private
public static final String MAPREDUCE_CLIENT_RETRY_POLICY_ENABLED_KEY =
@ -499,6 +499,7 @@ public JobClient(InetSocketAddress jobTrackAddr,
/**
* Close the <code>JobClient</code>.
*/
@Override
public synchronized void close() throws IOException {
cluster.close();
}