You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ra...@apache.org on 2017/11/30 04:55:39 UTC

phoenix git commit: PHOENIX-4411 Fix all IT tests failing with ClassCastException with new cell interface(Rajeshbabu)

Repository: phoenix
Updated Branches:
  refs/heads/5.x-HBase-2.0 fd4c94d24 -> ab56b3de5


PHOENIX-4411 Fix all IT tests failing with ClassCastException with new cell interface(Rajeshbabu)


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/ab56b3de
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/ab56b3de
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/ab56b3de

Branch: refs/heads/5.x-HBase-2.0
Commit: ab56b3de58f55e5425584016786d1f9ba42e28b3
Parents: fd4c94d
Author: Rajeshbabu Chintaguntla <ra...@apache.org>
Authored: Thu Nov 30 10:24:57 2017 +0530
Committer: Rajeshbabu Chintaguntla <ra...@apache.org>
Committed: Thu Nov 30 10:24:57 2017 +0530

----------------------------------------------------------------------
 .../phoenix/coprocessor/SequenceRegionObserver.java  | 15 +++++++++------
 .../phoenix/query/ConnectionQueryServicesImpl.java   |  6 ++++--
 .../phoenix/jdbc/SecureUserConnectionsTest.java      |  1 -
 3 files changed, 13 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/ab56b3de/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/SequenceRegionObserver.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/SequenceRegionObserver.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/SequenceRegionObserver.java
index 3ee0973..75ab61b 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/SequenceRegionObserver.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/SequenceRegionObserver.java
@@ -26,6 +26,7 @@ import java.util.Optional;
 
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellUtil;
+import org.apache.hadoop.hbase.ExtendedCell;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.client.Append;
@@ -107,8 +108,9 @@ public class SequenceRegionObserver implements RegionObserver, RegionCoprocessor
      * @since 3.0.0
      */
     @Override
-    public Result preIncrement(final ObserverContext<RegionCoprocessorEnvironment> e,
-        final Increment increment) throws IOException {
+    public Result preIncrement(
+            org.apache.hadoop.hbase.coprocessor.ObserverContext<RegionCoprocessorEnvironment> e,
+            Increment increment) throws IOException {
         RegionCoprocessorEnvironment env = e.getEnvironment();
         // We need to set this to prevent region.increment from being called
         e.bypass();
@@ -327,8 +329,9 @@ public class SequenceRegionObserver implements RegionObserver, RegionCoprocessor
      */
     @SuppressWarnings("deprecation")
     @Override
-    public Result preAppend(final ObserverContext<RegionCoprocessorEnvironment> e,
-            final Append append) throws IOException {
+    public Result preAppend(
+            org.apache.hadoop.hbase.coprocessor.ObserverContext<RegionCoprocessorEnvironment> e,
+            Append append) throws IOException {
         byte[] opBuf = append.getAttribute(OPERATION_ATTRIB);
         if (opBuf == null) {
             return null;
@@ -395,7 +398,7 @@ public class SequenceRegionObserver implements RegionObserver, RegionCoprocessor
                 Mutation m = null;
                 switch (op) {
                 case RETURN_SEQUENCE:
-                    KeyValue currentValueKV = org.apache.hadoop.hbase.KeyValueUtil.ensureKeyValue(result.rawCells()[0]);
+                    KeyValue currentValueKV = PhoenixKeyValueUtil.maybeCopyCell(result.rawCells()[0]);
                     long expectedValue = PLong.INSTANCE.getCodec().decodeLong(append.getAttribute(CURRENT_VALUE_ATTRIB), 0, SortOrder.getDefault());
                     long value = PLong.INSTANCE.getCodec().decodeLong(currentValueKV.getValueArray(),
                       currentValueKV.getValueOffset(), SortOrder.getDefault());
@@ -419,7 +422,7 @@ public class SequenceRegionObserver implements RegionObserver, RegionCoprocessor
                 if (!hadClientTimestamp) {
                     for (List<Cell> kvs : m.getFamilyCellMap().values()) {
                         for (Cell kv : kvs) {
-                            ((KeyValue)kv).updateLatestStamp(clientTimestampBuf);
+                            ((ExtendedCell)kv).setTimestamp(clientTimestampBuf, 0);
                         }
                     }
                 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/ab56b3de/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 6f84915..9485887 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
@@ -906,7 +906,9 @@ public class ConnectionQueryServicesImpl extends DelegateQueryServices implement
                 }
             } else if (SchemaUtil.isSequenceTable(tableName)) {
                 if(!newDesc.hasCoprocessor(SequenceRegionObserver.class.getName())) {
-                    builder.addCoprocessor(SequenceRegionObserver.class.getName(), null, priority, null);
+                    // Just giving more priority to this coprocessor till HBASE-19384 get's fixed
+                    // because in HBase 2.0 the bypass is not working as old versions.
+                    builder.addCoprocessor(SequenceRegionObserver.class.getName(), null, priority + 1, null);
                 }
             }
 
@@ -3744,7 +3746,7 @@ public class ConnectionQueryServicesImpl extends DelegateQueryServices implement
                 return;
             }
             Table hTable = this.getTable(SchemaUtil.getPhysicalName(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_NAME_BYTES,this.getProps()).getName());
-            Object[] resultObjects = null;
+            Object[] resultObjects = new Object[incrementBatch.size()];
             SQLException sqlE = null;
             try {
                 hTable.batch(incrementBatch, resultObjects);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/ab56b3de/phoenix-core/src/test/java/org/apache/phoenix/jdbc/SecureUserConnectionsTest.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/jdbc/SecureUserConnectionsTest.java b/phoenix-core/src/test/java/org/apache/phoenix/jdbc/SecureUserConnectionsTest.java
index 0fee08a..2bed452 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/jdbc/SecureUserConnectionsTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/jdbc/SecureUserConnectionsTest.java
@@ -55,7 +55,6 @@ import org.junit.Test;
  * a ConcurrentHashMap. We can use a HashSet to determine when instances of ConnectionInfo
  * collide and when they do not.
  */
-@Ignore
 public class SecureUserConnectionsTest {
     private static final Log LOG = LogFactory.getLog(SecureUserConnectionsTest.class); 
     private static final int KDC_START_ATTEMPTS = 10;