From 88e4876eb800d39871ba2472017db6bec5e4b055 Mon Sep 17 00:00:00 2001 From: Lars George Date: Sat, 13 Jul 2013 15:19:03 +0000 Subject: [PATCH] HBASE-8938 Thrift2 does not close scanner instance (Hamed Madani) git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1502798 13f79535-47bb-0310-9956-ffa450edef68 --- .../hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java index 930107556dc..1aa150aa8c4 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java @@ -336,11 +336,17 @@ public class ThriftHBaseServiceHandler implements THBaseService.Iface { @Override public void closeScanner(int scannerId) throws TIOError, TIllegalArgument, TException { - if (removeScanner(scannerId) == null) { + LOG.debug("scannerClose: id=" + scannerId); + ResultScanner scanner = getScanner(scannerId); + if (scanner == null) { + String message = "scanner ID is invalid"; + LOG.warn(message); TIllegalArgument ex = new TIllegalArgument(); ex.setMessage("Invalid scanner Id"); throw ex; } + scanner.close(); + removeScanner(scannerId); } }