Apache-Phoenix | 4.x | HBase 1.6 | Build #170 SUCCESS

2020-12-31 Thread Apache Jenkins Server

4.x branch  HBase 1.6  build #170 status SUCCESS
Build #170 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/4.x/170/


Apache-Phoenix | 4.x | HBase 1.4 | Build #170 FAILURE

2020-12-31 Thread Apache Jenkins Server

4.x branch  HBase 1.4  build #170 status FAILURE
Build #170 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/4.x/170/


Apache-Phoenix | master | HBase 2.2 | Build #177 ABORTED

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.2  build #177 status ABORTED
Build #177 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/177/


Apache-Phoenix | 4.x | HBase 1.3 | Build #170 FAILURE

2020-12-31 Thread Apache Jenkins Server

4.x branch  HBase 1.3  build #170 status FAILURE
Build #170 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/4.x/170/


Apache-Phoenix | master | HBase 2.4 | Build #177 SUCCESS

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.4  build #177 status SUCCESS
Build #177 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/177/


Apache-Phoenix | 4.x | HBase 1.6 | Build #169 SUCCESS

2020-12-31 Thread Apache Jenkins Server

4.x branch  HBase 1.6  build #169 status SUCCESS
Build #169 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/4.x/169/


Apache-Phoenix | master | HBase 2.3 | Build #177 FAILURE

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.3  build #177 status FAILURE
Build #177 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/177/


Apache-Phoenix | 4.x | HBase 1.3 | Build #169 FAILURE

2020-12-31 Thread Apache Jenkins Server

4.x branch  HBase 1.3  build #169 status FAILURE
Build #169 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/4.x/169/


Apache-Phoenix | master | HBase 2.2 | Build #175 SUCCESS

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.2  build #175 status SUCCESS
Build #175 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/175/


Apache-Phoenix | master | HBase 2.4 | Build #176 FAILURE

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.4  build #176 status FAILURE
Build #176 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/176/


Apache-Phoenix | 4.x | HBase 1.4 | Build #169 FAILURE

2020-12-31 Thread Apache Jenkins Server

4.x branch  HBase 1.4  build #169 status FAILURE
Build #169 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/4.x/169/


Apache-Phoenix | master | HBase 2.1 | Build #177 FAILURE

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.1  build #177 status FAILURE
Build #177 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/177/


Apache-Phoenix | master | HBase 2.2 | Build #176 FAILURE

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.2  build #176 status FAILURE
Build #176 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/176/


Apache-Phoenix | master | HBase 2.4 | Build #175 FAILURE

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.4  build #175 status FAILURE
Build #175 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/175/


Apache-Phoenix | master | HBase 2.3 | Build #175 FAILURE

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.3  build #175 status FAILURE
Build #175 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/175/


Apache-Phoenix | master | HBase 2.3 | Build #176 FAILURE

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.3  build #176 status FAILURE
Build #176 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/176/


Apache-Phoenix | master | HBase 2.1 | Build #175 SUCCESS

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.1  build #175 status SUCCESS
Build #175 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/175/


[phoenix] branch 4.x updated: PHOENIX-6289 : De-flake UpsertSelectIT#testUpsertSelectWithNoIndex

2020-12-31 Thread gjacoby
This is an automated email from the ASF dual-hosted git repository.

gjacoby pushed a commit to branch 4.x
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/4.x by this push:
 new dfbdeac  PHOENIX-6289 : De-flake 
UpsertSelectIT#testUpsertSelectWithNoIndex
dfbdeac is described below

commit dfbdeac6dc176f48ecb206033b942b94e4e47a9f
Author: Viraj Jasani 
AuthorDate: Thu Dec 31 18:36:22 2020 +0530

PHOENIX-6289 : De-flake UpsertSelectIT#testUpsertSelectWithNoIndex
---
 .../org/apache/phoenix/end2end/UpsertSelectIT.java  | 21 -
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
index 007d1ef..cf624c3 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
@@ -45,8 +45,11 @@ import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.sql.Timestamp;
+import java.util.Map;
 import java.util.Properties;
 
+import com.google.common.collect.Maps;
+import org.apache.hadoop.hbase.regionserver.ScanInfoUtil;
 import org.apache.phoenix.compile.QueryPlan;
 import org.apache.phoenix.exception.SQLExceptionCode;
 import org.apache.phoenix.jdbc.PhoenixResultSet;
@@ -59,10 +62,11 @@ import org.apache.phoenix.util.EnvironmentEdgeManager;
 import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.apache.phoenix.util.QueryUtil;
+import org.apache.phoenix.util.ReadOnlyProps;
 import org.apache.phoenix.util.TestUtil;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -72,6 +76,21 @@ import org.junit.runners.Parameterized.Parameters;
 public class UpsertSelectIT extends ParallelStatsDisabledIT {
 private final String allowServerSideMutations;
 
+@BeforeClass
+public static synchronized void doSetup() throws Exception {
+Map props = Maps.newHashMapWithExpectedSize(1);
+// An hour - inherited from ParallelStatsDisabledIT
+props.put(ScanInfoUtil.PHOENIX_MAX_LOOKBACK_AGE_CONF_KEY,
+Integer.toString(60 * 60));
+// Postpone scans of SYSTEM.TASK indefinitely so as to prevent
+// any addition to GLOBAL_OPEN_PHOENIX_CONNECTIONS
+props.put(QueryServices.TASK_HANDLING_INTERVAL_MS_ATTRIB,
+Long.toString(Long.MAX_VALUE));
+props.put(QueryServices.TASK_HANDLING_INITIAL_DELAY_MS_ATTRIB,
+Long.toString(Long.MAX_VALUE));
+setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
+}
+
 public UpsertSelectIT(String allowServerSideMutations) {
 this.allowServerSideMutations = allowServerSideMutations;
 }



[phoenix] branch master updated (67adab0 -> e7264df)

2020-12-31 Thread gjacoby
This is an automated email from the ASF dual-hosted git repository.

gjacoby pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix.git.


from 67adab0  [DOCS] update sqlline manual address
 add e7264df  PHOENIX-6289 : De-flake 
UpsertSelectIT#testUpsertSelectWithNoIndex

No new revisions were added by this update.

Summary of changes:
 .../org/apache/phoenix/end2end/UpsertSelectIT.java | 23 +-
 1 file changed, 22 insertions(+), 1 deletion(-)



[phoenix] branch master updated (cfb7058 -> 67adab0)

2020-12-31 Thread gjacoby
This is an automated email from the ASF dual-hosted git repository.

gjacoby pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix.git.


from cfb7058  PHOENIX-6284 : De-flake 
UpgradeIT#testConcurrentUpgradeThrowsUpgradeInProgressException
 add 67adab0  [DOCS] update sqlline manual address

No new revisions were added by this update.

Summary of changes:
 bin/readme.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



[phoenix] branch 4.x updated: PHOENIX-6284 : De-flake UpgradeIT#testConcurrentUpgradeThrowsUpgradeInProgressException

2020-12-31 Thread gjacoby
This is an automated email from the ASF dual-hosted git repository.

gjacoby pushed a commit to branch 4.x
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/4.x by this push:
 new 24c78e9  PHOENIX-6284 : De-flake 
UpgradeIT#testConcurrentUpgradeThrowsUpgradeInProgressException
24c78e9 is described below

commit 24c78e95f19fd778c724ae91ce117bbc5dd8121b
Author: Viraj Jasani 
AuthorDate: Wed Dec 30 19:05:56 2020 +0530

PHOENIX-6284 : De-flake 
UpgradeIT#testConcurrentUpgradeThrowsUpgradeInProgressException
---
 .../java/org/apache/phoenix/end2end/UpgradeIT.java | 76 --
 1 file changed, 41 insertions(+), 35 deletions(-)

diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java
index 81b634d..dd386bc 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java
@@ -38,7 +38,6 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import java.io.IOException;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
@@ -50,44 +49,39 @@ import java.util.Properties;
 import java.util.Set;
 import java.util.concurrent.Callable;
 import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.FutureTask;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellUtil;
-import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.KeyValue;
-import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.client.ResultScanner;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.client.Table;
-import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.phoenix.schema.types.PInteger;
 import org.apache.phoenix.coprocessor.MetaDataProtocol;
 import org.apache.phoenix.exception.UpgradeInProgressException;
 import org.apache.phoenix.exception.UpgradeRequiredException;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
-import org.apache.phoenix.parse.PFunction;
 import org.apache.phoenix.query.ConnectionQueryServices;
 import org.apache.phoenix.query.ConnectionQueryServicesImpl;
 import org.apache.phoenix.query.DelegateConnectionQueryServices;
-import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.query.QueryServices;
-import org.apache.phoenix.schema.PMetaData;
 import org.apache.phoenix.schema.PName;
 import org.apache.phoenix.schema.PNameFactory;
-import org.apache.phoenix.schema.PTable;
 import org.apache.phoenix.schema.PTable.LinkType;
 import org.apache.phoenix.schema.PTableType;
 import org.apache.phoenix.schema.SequenceAllocation;
 import org.apache.phoenix.schema.SequenceKey;
-import org.apache.phoenix.schema.types.PInteger;
 import org.apache.phoenix.util.EnvironmentEdgeManager;
 import org.apache.phoenix.util.MetaDataUtil;
 import org.apache.phoenix.util.PhoenixRuntime;
@@ -212,31 +206,44 @@ public class UpgradeIT extends ParallelStatsDisabledIT {
 }
 
 @Test
-public void testConcurrentUpgradeThrowsUprgadeInProgressException() throws 
Exception {
+public void testConcurrentUpgradeThrowsUpgradeInProgressException() throws 
Exception {
 final AtomicBoolean mutexStatus1 = new AtomicBoolean(false);
 final AtomicBoolean mutexStatus2 = new AtomicBoolean(false);
+final AtomicBoolean mutexStatus3 = new AtomicBoolean(true);
 final CountDownLatch latch = new CountDownLatch(2);
 final AtomicInteger numExceptions = new AtomicInteger(0);
-ConnectionQueryServices services = null;
-final byte[] mutexKey = Bytes.toBytes(generateUniqueName());
 try (Connection conn = getConnection(false, null)) {
-services = conn.unwrap(PhoenixConnection.class).getQueryServices();
-FutureTask task1 = new FutureTask<>(new 
AcquireMutexRunnable(mutexStatus1, services, latch, numExceptions, mutexKey));
-FutureTask task2 = new FutureTask<>(new 
AcquireMutexRunnable(mutexStatus2, services, latch, numExceptions, mutexKey));
-Thread t1 = new Thread(task1);
-t1.setDaemon(true);
-Thread t2 = new Thread(task2);
-

[phoenix] branch master updated (86f3181 -> cfb7058)

2020-12-31 Thread gjacoby
This is an automated email from the ASF dual-hosted git repository.

gjacoby pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix.git.


from 86f3181  PHOENIX-6277 upsert into data error after 
HBASE-24850,HBASE-24754 merged (#1039)
 add cfb7058  PHOENIX-6284 : De-flake 
UpgradeIT#testConcurrentUpgradeThrowsUpgradeInProgressException

No new revisions were added by this update.

Summary of changes:
 .../java/org/apache/phoenix/end2end/UpgradeIT.java | 74 --
 1 file changed, 40 insertions(+), 34 deletions(-)



[phoenix] branch master updated (8ca7a48 -> 86f3181)

2020-12-31 Thread gjacoby
This is an automated email from the ASF dual-hosted git repository.

gjacoby pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix.git.


from 8ca7a48  PHOENIX-6290 Extend IndexRegionSplitPolicy from 
SteppingSplitPolicy on master
 add 86f3181  PHOENIX-6277 upsert into data error after 
HBASE-24850,HBASE-24754 merged (#1039)

No new revisions were added by this update.

Summary of changes:
 .../phoenix/coprocessor/MetaDataEndpointImpl.java  | 20 +++---
 .../hbase/index/scanner/ScannerBuilder.java|  9 ++-
 .../org/apache/phoenix/jdbc/PhoenixStatement.java  | 77 +++---
 .../filter/TestApplyAndFilterDeletesFilter.java|  3 +-
 4 files changed, 56 insertions(+), 53 deletions(-)



Apache-Phoenix | master | HBase 2.3 | Build #174 SUCCESS

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.3  build #174 status SUCCESS
Build #174 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/174/


Apache-Phoenix | master | HBase 2.1 | Build #174 SUCCESS

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.1  build #174 status SUCCESS
Build #174 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/174/


Apache-Phoenix | master | HBase 2.4 | Build #174 FAILURE

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.4  build #174 status FAILURE
Build #174 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/174/


Apache-Phoenix | master | HBase 2.2 | Build #174 FAILURE

2020-12-31 Thread Apache Jenkins Server

master branch  HBase 2.2  build #174 status FAILURE
Build #174 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/174/


[phoenix] branch master updated: PHOENIX-6290 Extend IndexRegionSplitPolicy from SteppingSplitPolicy on master

2020-12-31 Thread stoty
This is an automated email from the ASF dual-hosted git repository.

stoty pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/master by this push:
 new 8ca7a48  PHOENIX-6290 Extend IndexRegionSplitPolicy from 
SteppingSplitPolicy on master
8ca7a48 is described below

commit 8ca7a48579ba1066c68e7e026fbfd4038d1e9725
Author: Istvan Toth 
AuthorDate: Wed Dec 30 16:50:12 2020 +0100

PHOENIX-6290 Extend IndexRegionSplitPolicy from SteppingSplitPolicy on 
master
---
 .../java/org/apache/phoenix/hbase/index/IndexRegionSplitPolicy.java   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/IndexRegionSplitPolicy.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/IndexRegionSplitPolicy.java
index 8fd3da5..ee94494 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/IndexRegionSplitPolicy.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/IndexRegionSplitPolicy.java
@@ -21,7 +21,7 @@ import java.util.List;
 import java.util.Optional;
 
 import org.apache.hadoop.hbase.regionserver.HStore;
-import 
org.apache.hadoop.hbase.regionserver.IncreasingToUpperBoundRegionSplitPolicy;
+import org.apache.hadoop.hbase.regionserver.SteppingSplitPolicy;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.phoenix.query.QueryConstants;
 
@@ -29,7 +29,7 @@ import org.apache.phoenix.query.QueryConstants;
  * Split policy for local indexed tables to select split key from non local 
index column families
  * always.
  */
-public class IndexRegionSplitPolicy extends 
IncreasingToUpperBoundRegionSplitPolicy {
+public class IndexRegionSplitPolicy extends SteppingSplitPolicy {
 
 @Override
 protected boolean skipStoreFileRangeCheck(String familyName) {



[phoenix] branch master updated: PHOENIX-6280 Support HBase 2.4

2020-12-31 Thread stoty
This is an automated email from the ASF dual-hosted git repository.

stoty pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/master by this push:
 new a3a19af  PHOENIX-6280 Support HBase 2.4
a3a19af is described below

commit a3a19afcdc06f4834051f33b3a2adc4577b454c0
Author: Istvan Toth 
AuthorDate: Thu Dec 24 11:25:31 2020 +0100

PHOENIX-6280 Support HBase 2.4
---
 Jenkinsfile|   2 +-
 phoenix-core/pom.xml   |  19 ++
 .../it/resources/compatible_client_versions.json   |   3 +-
 .../hadoop/hbase/ipc/PhoenixRpcScheduler.java  |   2 +-
 .../IndexHalfStoreFileReaderGenerator.java |   3 +-
 .../org/apache/phoenix/execute/DelegateHTable.java |   5 -
 .../hbase/index/parallel/ThreadPoolManager.java|   5 +-
 .../apache/phoenix/schema/MetaDataSplitPolicy.java |  47 +++--
 .../schema/SplitOnLeadingVarCharColumnsPolicy.java |   4 +-
 .../phoenix/transaction/OmidTransactionTable.java  |   5 -
 .../phoenix/compat/hbase/CompatDelegateHTable.java |   8 +
 .../compat/hbase/CompatOmidTransactionTable.java   |   8 +
 .../compat/hbase/CompatPhoenixRpcScheduler.java|   2 +-
 ...onTable.java => CompatSteppingSplitPolicy.java} |  10 +-
 .../apache/phoenix/compat/hbase/CompatUtil.java|   9 +-
 .../phoenix/compat/hbase/CompatDelegateHTable.java |   7 +
 .../compat/hbase/CompatOmidTransactionTable.java   |   8 +
 .../compat/hbase/CompatPhoenixRpcScheduler.java|   2 +-
 .../compat/hbase/CompatSteppingSplitPolicy.java|  10 +-
 .../apache/phoenix/compat/hbase/CompatUtil.java|   8 +
 .../phoenix/compat/hbase/CompatDelegateHTable.java |   6 +
 .../compat/hbase/CompatOmidTransactionTable.java   |   6 +
 .../compat/hbase/CompatPhoenixRpcScheduler.java|   2 +-
 .../compat/hbase/CompatSteppingSplitPolicy.java|  10 +-
 .../apache/phoenix/compat/hbase/CompatUtil.java|   8 +
 phoenix-hbase-compat-2.4.0/pom.xml | 102 +++
 .../phoenix/compat/hbase/CompatDelegateHTable.java |   7 +
 .../compat/hbase/CompatOmidTransactionTable.java   |   7 +
 .../phoenix/compat/hbase/CompatPermissionUtil.java |  59 ++
 .../compat/hbase/CompatPhoenixRpcScheduler.java|   2 +-
 .../compat/hbase/CompatSteppingSplitPolicy.java|   5 +-
 .../compat/hbase/CompatStoreFileReader.java|  48 +
 .../apache/phoenix/compat/hbase/CompatUtil.java|   8 +
 .../compat/hbase/HbaseCompatCapabilities.java  |  26 +--
 .../apache/phoenix/compat/hbase/OffsetCell.java| 136 ++
 .../CompatBaseScannerRegionObserver.java   | 197 +
 .../coprocessor/CompatIndexRegionObserver.java |  25 +--
 .../phoenix/compat/hbase/test/DelegateCell.java| 139 +++
 phoenix-server/pom.xml |  17 ++
 pom.xml|  25 +++
 40 files changed, 931 insertions(+), 71 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 5bb1ebd..1b4e1f5 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -39,7 +39,7 @@ pipeline {
 axes {
 axis {
 name 'HBASE_PROFILE'
-values '2.1', '2.2', '2.3'
+values '2.1', '2.2', '2.3', '2.4'
 }
 }
 
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 9f8efca..fd25797 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -70,6 +70,9 @@
 || ("${hbase.compat.version}".equals("2.3.0")
hbaseMinor == 3
hbasePatch =0)
+|| ("${hbase.compat.version}".equals("2.4.0")
+   hbaseMinor == 4
+   hbasePatch =0)
   )
 
   
@@ -590,5 +593,21 @@
   
 
   
+  
+phoenix-hbase-compat-2.4.0
+
+
+  
+hbase.profile
+2.4
+  
+
+
+  
+org.apache.zookeeper
+zookeeper-jute
+  
+
+  
 
 
diff --git a/phoenix-core/src/it/resources/compatible_client_versions.json 
b/phoenix-core/src/it/resources/compatible_client_versions.json
index 692cb38..aa94642 100644
--- a/phoenix-core/src/it/resources/compatible_client_versions.json
+++ b/phoenix-core/src/it/resources/compatible_client_versions.json
@@ -22,5 +22,6 @@
 "1.5": ["4.15.0"],
 "2.1": ["5.1.0"],
 "2.2": ["5.1.0"],
-"2.3": ["5.1.0"]
+"2.3": ["5.1.0"],
+"2.4": ["5.1.0"]
 }
diff --git 
a/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
 
b/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
index 4508a2d..9c56316 100644
--- 
a/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
+++ 
b/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
@@