You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by sa...@apache.org on 2015/07/15 02:05:59 UTC
phoenix git commit: PHOENIX-2111 Addendum - prevent
IllegalStateException for older clients
Repository: phoenix
Updated Branches:
refs/heads/4.x-HBase-0.98 4198ea6af -> 481a802ee
PHOENIX-2111 Addendum - prevent IllegalStateException for older clients
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/481a802e
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/481a802e
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/481a802e
Branch: refs/heads/4.x-HBase-0.98
Commit: 481a802ee56b0560c34cec0bb956931f73c73d2c
Parents: 4198ea6
Author: Samarth <sa...@salesforce.com>
Authored: Tue Jul 14 17:05:21 2015 -0700
Committer: Samarth <sa...@salesforce.com>
Committed: Tue Jul 14 17:05:35 2015 -0700
----------------------------------------------------------------------
.../coprocessor/MetaDataEndpointImpl.java | 22 ++++----------------
1 file changed, 4 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/481a802e/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
index 6372700..da8110c 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
@@ -1110,20 +1110,6 @@ public class MetaDataEndpointImpl extends MetaDataProtocol implements Coprocesso
return physicalTableRow;
}
- private long getSequenceNumberForTable(byte[] headerRowKey) throws IOException {
- Get get = new Get(headerRowKey);
- get.addColumn(TABLE_FAMILY_BYTES, TABLE_SEQ_NUM_BYTES);
- byte[] b;
- try (HTableInterface hTable = ServerUtil.getHTableForCoprocessorScan(env, PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES)) {
- Result result = hTable.get(get);
- b = result.getValue(TABLE_FAMILY_BYTES, TABLE_SEQ_NUM_BYTES);
- }
- if (b == null) {
- throw new IllegalArgumentException("No rows returned for the row key: " + Bytes.toString(headerRowKey));
- }
- return PLong.INSTANCE.getCodec().decodeLong(new ImmutableBytesWritable(b), SortOrder.getDefault());
- }
-
@Override
public void createTable(RpcController controller, CreateTableRequest request,
RpcCallback<MetaDataResponse> done) {
@@ -1203,10 +1189,10 @@ public class MetaDataEndpointImpl extends MetaDataProtocol implements Coprocesso
if (tableType == PTableType.VIEW && viewPhysicalTableRow != null && request.hasClientVersion()) {
// Starting 4.5, the client passes the sequence number of the physical table in the table metadata.
parentTableSeqNumber = MetaDataUtil.getSequenceNumber(viewPhysicalTableRow);
- } else if (tableType == PTableType.VIEW) {
- // Before 4.5, due to a bug, the parent table key wasn't available. Using get to
- // figure out the parent table sequence number.
- parentTableSeqNumber = getSequenceNumberForTable(parentTableKey);
+ } else if (tableType == PTableType.VIEW && !request.hasClientVersion()) {
+ // Before 4.5, due to a bug, the parent table key wasn't available.
+ // So don't do anything and prevent the exception from being thrown.
+ parentTableSeqNumber = parentTable.getSequenceNumber();
} else {
parentTableSeqNumber = MetaDataUtil.getParentSequenceNumber(tableMetadata);
}