HBASE-18180 Possible connection leak while closing BufferedMutator in TableOutputFormat

Signed-off-by: tedyu <yuzhihong@gmail.com>
This commit is contained in:
Pankaj Kumar 2017-06-12 19:53:48 +08:00 committed by tedyu
parent 316e02e3d8
commit d5749bf8ed
2 changed files with 19 additions and 8 deletions

View File

@ -70,10 +70,15 @@ public class TableOutputFormat extends FileOutputFormat<ImmutableBytesWritable,
}
public void close(Reporter reporter) throws IOException {
this.m_mutator.close();
if (connection != null) {
connection.close();
connection = null;
try {
if (this.m_mutator != null) {
this.m_mutator.close();
}
} finally {
if (connection != null) {
connection.close();
connection = null;
}
}
}

View File

@ -118,10 +118,16 @@ implements Configurable {
* @see RecordWriter#close(TaskAttemptContext)
*/
@Override
public void close(TaskAttemptContext context)
throws IOException {
mutator.close();
connection.close();
public void close(TaskAttemptContext context) throws IOException {
try {
if (mutator != null) {
mutator.close();
}
} finally {
if (connection != null) {
connection.close();
}
}
}
/**