From f205ca9c9b4adb45db5706cd746fee1cc5282609 Mon Sep 17 00:00:00 2001 From: mbautin Date: Sat, 19 May 2012 00:01:15 +0000 Subject: [PATCH] [jira] [HBASE-6007] Make getTableRegions return an empty list if the table does not exist Summary: Making the getTableRegions Thrift API method handle TableNotFoundException and return an empty list in that case. Without this the behavior is dependent on whether an HTable object is present in the thread-local cache in case a table was deleted. Test Plan: Unit tests Reviewers: kannan, liyintang Reviewed By: liyintang CC: stack Differential Revision: https://reviews.facebook.net/D3243 git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1340310 13f79535-47bb-0310-9956-ffa450edef68 --- .../hadoop/hbase/thrift/ThriftServerRunner.java | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java index 99b1392..ebc9c91 100644 --- src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java +++ src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java @@ -583,11 +583,19 @@ public class ThriftServerRunner implements Runnable { } } + /** + * @return the list of regions in the given table, or an empty list if the table does not exist + */ @Override public List getTableRegions(ByteBuffer tableName) throws IOError { try { - HTable table = getTable(tableName); + HTable table; + try { + table = getTable(tableName); + } catch (TableNotFoundException ex) { + return new ArrayList(); + } Map regionLocations = table.getRegionLocations(); List results = new ArrayList(); -- 1.7.4.4