PHOENIX-3481 Phoenix initialization fails for HBase 0.98.21 and beyond
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/c763cf97 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/c763cf97 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/c763cf97 Branch: refs/heads/calcite Commit: c763cf97f3c1b2013aae81a6b938e798bb242a9e Parents: 3b07c2f Author: Samarth <samarth.j...@salesforce.com> Authored: Tue Nov 15 10:42:46 2016 -0800 Committer: Samarth <samarth.j...@salesforce.com> Committed: Tue Nov 15 10:42:46 2016 -0800 ---------------------------------------------------------------------- .../apache/phoenix/query/ConnectionQueryServicesImpl.java | 9 +-------- .../src/main/java/org/apache/phoenix/util/ServerUtil.java | 5 +++++ 2 files changed, 6 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/c763cf97/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java ---------------------------------------------------------------------- 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 379df9d..fc59603 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 @@ -1071,14 +1071,7 @@ public class ConnectionQueryServicesImpl extends DelegateQueryServices implement * brought down. */ newDesc.setValue(HTableDescriptor.SPLIT_POLICY, MetaDataSplitPolicy.class.getName()); - if (allowOnlineTableSchemaUpdate()) { - // No need to wait/poll for this update - admin.modifyTable(physicalTable, newDesc); - } else { - admin.disableTable(physicalTable); - admin.modifyTable(physicalTable, newDesc); - admin.enableTable(physicalTable); - } + modifyTable(tableName, newDesc, true); } return null; } else { http://git-wip-us.apache.org/repos/asf/phoenix/blob/c763cf97/phoenix-core/src/main/java/org/apache/phoenix/util/ServerUtil.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/ServerUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/util/ServerUtil.java index 679c7a1..a3940fc 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/util/ServerUtil.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/util/ServerUtil.java @@ -25,6 +25,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.hadoop.hbase.DoNotRetryIOException; +import org.apache.hadoop.hbase.NotServingRegionException; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.HTableInterface; import org.apache.hadoop.hbase.client.HTablePool; @@ -34,6 +35,7 @@ import org.apache.phoenix.exception.PhoenixIOException; import org.apache.phoenix.exception.SQLExceptionCode; import org.apache.phoenix.exception.SQLExceptionInfo; import org.apache.phoenix.hbase.index.util.VersionUtil; +import org.apache.phoenix.schema.StaleRegionBoundaryCacheException; @SuppressWarnings("deprecation") @@ -113,6 +115,9 @@ public class ServerUtil { public static SQLException parseServerExceptionOrNull(Throwable t) { while (t.getCause() != null) { + if (t instanceof NotServingRegionException) { + return parseRemoteException(new StaleRegionBoundaryCacheException()); + } t = t.getCause(); } return parseRemoteException(t);