diff --git a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java index b6adfe07a1b..71b5937ab52 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java @@ -128,6 +128,7 @@ import org.apache.hadoop.hbase.NamespaceNotFoundException; import org.apache.hadoop.hbase.TableExistsException; import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.TableNotEnabledException; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Append; import org.apache.hadoop.hbase.client.ClusterConnection; @@ -1583,7 +1584,7 @@ private TableDescriptor ensureTableCreated(byte[] physicalTableName, PTableType SQLExceptionCode.INCONSISTENT_NAMESPACE_MAPPING_PROPERTIES.getErrorCode()) { try { // In case we wrongly created SYSTEM.CATALOG or SYSTEM:CATALOG, we should drop it - admin.disableTable(TableName.valueOf(physicalTableName)); + disableTable(admin, TableName.valueOf(physicalTableName)); admin.deleteTable(TableName.valueOf(physicalTableName)); } catch (org.apache.hadoop.hbase.TableNotFoundException ignored) { // Ignore this since it just means that another client with a similar set of @@ -1740,7 +1741,7 @@ private void modifyTable(byte[] tableName, TableDescriptor newDesc, boolean shou TableName tn = TableName.valueOf(tableName); try (Admin admin = getAdmin()) { if (!allowOnlineTableSchemaUpdate()) { - admin.disableTable(tn); + disableTable(admin, tn); admin.modifyTable(newDesc); // TODO: Update to TableDescriptor admin.enableTable(tn); } else { @@ -1965,6 +1966,14 @@ private void ensureViewIndexTableCreated(byte[] physicalTableName, Map tableNamesToDelete) throws SQLExcepti try { TableName tn = TableName.valueOf(tableName); TableDescriptor htableDesc = this.getTableDescriptor(tableName); - admin.disableTable(tn); + disableTable(admin, tn); admin.deleteTable(tn); tableStatsCache.invalidateAll(htableDesc); clearTableRegionCache(TableName.valueOf(tableName)); @@ -3727,7 +3736,7 @@ protected PhoenixConnection upgradeSystemCatalogIfRequired(PhoenixConnection met // co-location of data and index regions. If we just modify the // table descriptor when online schema change enabled may reopen // the region in same region server instead of following data region. - admin.disableTable(table.getTableName()); + disableTable(admin,table.getTableName()); admin.modifyTable(table); admin.enableTable(table.getTableName()); } diff --git a/phoenix-core/src/test/java/org/apache/phoenix/query/ConnectionQueryServicesImplTest.java b/phoenix-core/src/test/java/org/apache/phoenix/query/ConnectionQueryServicesImplTest.java index 4e6e615c908..90916249029 100644 --- a/phoenix-core/src/test/java/org/apache/phoenix/query/ConnectionQueryServicesImplTest.java +++ b/phoenix-core/src/test/java/org/apache/phoenix/query/ConnectionQueryServicesImplTest.java @@ -60,7 +60,6 @@ import org.apache.phoenix.util.ReadOnlyProps; import org.junit.Before; import org.junit.ClassRule; -import org.junit.Ignore; import org.junit.Test; import org.mockito.Mock; import org.mockito.Mockito;