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 IMPROVEMENTS
MAPREDUCE-6431. JobClient should be an AutoClosable (haibochen via rkanter)
OPTIMIZATIONS OPTIMIZATIONS
BUG FIXES BUG FIXES

View File

@ -87,4 +87,14 @@ public void testGetStagingAreaDir() throws IOException, InterruptedException {
client.getClusterHandle().getStagingAreaDir().toString() client.getClusterHandle().getStagingAreaDir().toString()
.equals(client.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 @InterfaceAudience.Public
@InterfaceStability.Stable @InterfaceStability.Stable
public class JobClient extends CLI { public class JobClient extends CLI implements AutoCloseable {
@InterfaceAudience.Private @InterfaceAudience.Private
public static final String MAPREDUCE_CLIENT_RETRY_POLICY_ENABLED_KEY = public static final String MAPREDUCE_CLIENT_RETRY_POLICY_ENABLED_KEY =
@ -499,6 +499,7 @@ public JobClient(InetSocketAddress jobTrackAddr,
/** /**
* Close the <code>JobClient</code>. * Close the <code>JobClient</code>.
*/ */
@Override
public synchronized void close() throws IOException { public synchronized void close() throws IOException {
cluster.close(); cluster.close();
} }