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
This commit is contained in:
Lars George 2013-07-13 15:19:03 +00:00
parent 4371bae636
commit 88e4876eb8
1 changed files with 7 additions and 1 deletions

View File

@ -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);
}
}