[19/26] phoenix git commit: PHOENIX-4824 Update BRANCH_NAMES in dev/test-patch.properties

2018-07-29 Thread pboado
PHOENIX-4824 Update BRANCH_NAMES in dev/test-patch.properties


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

Branch: refs/heads/4.x-cdh5.14
Commit: 25f0e0a83a9beb1e91f0258c04403d5b04cd9deb
Parents: 283c92b
Author: Thomas D'Silva 
Authored: Sat Jul 28 11:49:08 2018 -0700
Committer: Thomas D'Silva 
Committed: Sat Jul 28 14:23:49 2018 -0700

--
 dev/test-patch.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/25f0e0a8/dev/test-patch.properties
--
diff --git a/dev/test-patch.properties b/dev/test-patch.properties
index ea8d75d..b3dc46f 100644
--- a/dev/test-patch.properties
+++ b/dev/test-patch.properties
@@ -27,7 +27,7 @@ MAX_LINE_LENGTH=100
 # All supported branches for testing with precommit build
 # be sure to consider branch name prefixes in the order, ie, 4.x should appear
 # before 4 since the latter is a prefix
-BRANCH_NAMES="4.x-HBase-0.98 4.x-HBase-1.1 4.x-HBase-1.2 master"
+BRANCH_NAMES="4.x-HBase-1.2 4.x-HBase-1.3 4.x-HBase-1.4 master"
 
 
 # All supported Hadoop versions that we want to test the compilation with



[22/26] phoenix git commit: PHOENIX-4818 Fix RAT check for missing licenses

2018-07-29 Thread pboado
PHOENIX-4818 Fix RAT check for missing licenses


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

Branch: refs/heads/4.x-cdh5.14
Commit: 4c2d6c957dd791b20771ce51fd948db78de47d1a
Parents: d7d6775
Author: Vincent Poon 
Authored: Sun Jul 22 22:19:15 2018 +0100
Committer: Pedro Boado 
Committed: Sun Jul 29 10:05:09 2018 +0100

--
 .../phoenix/end2end/SplitSystemCatalogTests.java   | 17 +
 .../end2end/StatsEnabledSplitSystemCatalogIT.java  | 17 +
 .../apache/phoenix/query/ConnectionCachingIT.java  | 17 +
 .../schema/ParentTableNotFoundException.java   | 17 +
 4 files changed, 68 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/4c2d6c95/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
index 27fc5c6..67d3fd3 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.phoenix.end2end;
 
 import java.lang.annotation.ElementType;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/4c2d6c95/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
index e25415a..197263f 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.phoenix.end2end;
 
 import static org.apache.phoenix.util.TestUtil.analyzeTable;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/4c2d6c95/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
index b2ef052..d1dda04 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, 

[15/26] phoenix git commit: PHOENIX-3534 Support multi region SYSTEM.CATALOG table (Thomas D'Silva and Rahul Gidwani)

2018-07-29 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/3987c123/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogIT.java
new file mode 100644
index 000..51d3b86
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogIT.java
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.curator.shaded.com.google.common.collect.Lists;
+import org.apache.phoenix.query.BaseTest;
+import org.apache.phoenix.util.ReadOnlyProps;
+import org.apache.phoenix.util.SchemaUtil;
+import org.junit.BeforeClass;
+import org.junit.experimental.categories.Category;
+
+import com.google.common.collect.Maps;
+
+/**
+ * Base class for tests that run with split SYSTEM.CATALOG.
+ * 
+ */
+@Category(SplitSystemCatalogTests.class)
+public class SplitSystemCatalogIT extends BaseTest {
+
+protected static String SCHEMA1 = "SCHEMA1";
+protected static String SCHEMA2 = "SCHEMA2";
+protected static String SCHEMA3 = "SCHEMA3";
+protected static String SCHEMA4 = "SCHEMA4";
+
+protected static String TENANT1 = "tenant1";
+protected static String TENANT2 = "tenant2";
+
+@BeforeClass
+public static void doSetup() throws Exception {
+NUM_SLAVES_BASE = 6;
+Map props = Collections.emptyMap();
+boolean splitSystemCatalog = (driver == null);
+setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
+// Split SYSTEM.CATALOG once after the mini-cluster is started
+if (splitSystemCatalog) {
+splitSystemCatalog();
+}
+}
+
+protected static void splitSystemCatalog() throws SQLException, Exception {
+try (Connection conn = DriverManager.getConnection(getUrl())) {
+}
+String tableName = "TABLE";
+String fullTableName1 = SchemaUtil.getTableName(SCHEMA1, tableName);
+String fullTableName2 = SchemaUtil.getTableName(SCHEMA2, tableName);
+String fullTableName3 = SchemaUtil.getTableName(SCHEMA3, tableName);
+String fullTableName4 = SchemaUtil.getTableName(SCHEMA4, tableName);
+ArrayList tableList = Lists.newArrayList(fullTableName1, 
fullTableName2, fullTableName3);
+Map> tenantToTableMap = Maps.newHashMap();
+tenantToTableMap.put(null, tableList);
+tenantToTableMap.put(TENANT1, Lists.newArrayList(fullTableName2, 
fullTableName3));
+tenantToTableMap.put(TENANT2, Lists.newArrayList(fullTableName4));
+splitSystemCatalog(tenantToTableMap);
+}
+
+}

http://git-wip-us.apache.org/repos/asf/phoenix/blob/3987c123/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
new file mode 100644
index 000..27fc5c6
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
@@ -0,0 +1,11 @@
+package org.apache.phoenix.end2end;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+public @interface SplitSystemCatalogTests {
+}

http://git-wip-us.apache.org/repos/asf/phoenix/blob/3987c123/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
 

[16/26] phoenix git commit: PHOENIX-3534 Support multi region SYSTEM.CATALOG table (Thomas D'Silva and Rahul Gidwani)

2018-07-29 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/3987c123/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
index ab3a4ab..e39d492 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
@@ -21,6 +21,8 @@ import static 
org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE;
 import static org.apache.phoenix.util.PhoenixRuntime.TENANT_ID_ATTRIB;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
@@ -33,37 +35,46 @@ import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Properties;
+import java.util.List;
 
 import org.apache.commons.lang.ArrayUtils;
-import org.apache.hadoop.hbase.client.HTableInterface;
+import org.apache.hadoop.hbase.client.HTable;
+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.util.Bytes;
 import org.apache.phoenix.coprocessor.TephraTransactionalProcessor;
 import org.apache.phoenix.exception.SQLExceptionCode;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
 import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.schema.ColumnNotFoundException;
+import org.apache.phoenix.schema.PColumn;
 import org.apache.phoenix.schema.PName;
 import org.apache.phoenix.schema.PNameFactory;
 import org.apache.phoenix.schema.PTable;
 import org.apache.phoenix.schema.PTableKey;
 import org.apache.phoenix.schema.PTableType;
-import org.apache.phoenix.util.PropertiesUtil;
-import org.apache.phoenix.util.StringUtil;
-import org.apache.phoenix.util.TestUtil;
+import org.apache.phoenix.schema.TableNotFoundException;
+import org.apache.phoenix.util.IndexUtil;
+import org.apache.phoenix.util.PhoenixRuntime;
+import org.apache.phoenix.util.SchemaUtil;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
 
+import com.google.common.base.Function;
+import com.google.common.collect.Lists;
+
 @RunWith(Parameterized.class)
-public class AlterTableWithViewsIT extends ParallelStatsDisabledIT {
-
+public class AlterTableWithViewsIT extends SplitSystemCatalogIT {
+
 private final boolean isMultiTenant;
 private final boolean columnEncoded;
-
-private final String TENANT_SPECIFIC_URL1 = getUrl() + ';' + 
TENANT_ID_ATTRIB + "=tenant1";
-private final String TENANT_SPECIFIC_URL2 = getUrl() + ';' + 
TENANT_ID_ATTRIB + "=tenant2";
+private final String TENANT_SPECIFIC_URL1 = getUrl() + ';' + 
TENANT_ID_ATTRIB + "=" + TENANT1;
+private final String TENANT_SPECIFIC_URL2 = getUrl() + ';' + 
TENANT_ID_ATTRIB + "=" + TENANT2;
 
 public AlterTableWithViewsIT(boolean isMultiTenant, boolean columnEncoded) 
{
 this.isMultiTenant = isMultiTenant;
@@ -77,6 +88,14 @@ public class AlterTableWithViewsIT extends 
ParallelStatsDisabledIT {
 { true, false }, { true, true } });
 }
 
+// transform PColumn to String
+private Function function = new Function(){
+@Override
+public String apply(PColumn input) {
+return input.getName().getString();
+}
+};
+
 private String generateDDL(String format) {
 return generateDDL("", format);
 }
@@ -101,8 +120,9 @@ public class AlterTableWithViewsIT extends 
ParallelStatsDisabledIT {
 public void testAddNewColumnsToBaseTableWithViews() throws Exception {
 try (Connection conn = DriverManager.getConnection(getUrl());
 Connection viewConn = isMultiTenant ? 
DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ) {   
-String tableName = generateUniqueName();
-String viewOfTable = tableName + "_VIEW";
+String tableName = SchemaUtil.getTableName(SCHEMA1, 
generateUniqueName());
+String viewOfTable = SchemaUtil.getTableName(SCHEMA2, 
generateUniqueName());
+
 String ddlFormat = "CREATE TABLE IF NOT EXISTS " + tableName + " ("
 + " %s ID char(1) NOT NULL,"
 + " COL1 integer NOT NULL,"
@@ -113,12 +133,13 @@ public class AlterTableWithViewsIT extends 
ParallelStatsDisabledIT {

[12/26] phoenix git commit: PHOENIX-3534 Support multi region SYSTEM.CATALOG table (Thomas D'Silva and Rahul Gidwani)

2018-07-29 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/3987c123/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 ae2fa66..5e8a5dc 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
@@ -17,8 +17,6 @@
  */
 package org.apache.phoenix.coprocessor;
 
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkState;
 import static org.apache.hadoop.hbase.KeyValueUtil.createFirstOnRow;
 import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.APPEND_ONLY_SCHEMA_BYTES;
 import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.ARRAY_SIZE_BYTES;
@@ -55,7 +53,6 @@ import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.MULTI_TENANT_BYTES
 import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.NULLABLE_BYTES;
 import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.NUM_ARGS_BYTES;
 import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.ORDINAL_POSITION_BYTES;
-import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.PARENT_TENANT_ID_BYTES;
 import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.PK_NAME_BYTES;
 import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.RETURN_TYPE_BYTES;
 import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SALT_BUCKETS_BYTES;
@@ -78,9 +75,8 @@ import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.VIEW_INDEX_ID_BYTE
 import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.VIEW_STATEMENT_BYTES;
 import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.VIEW_TYPE_BYTES;
 import static 
org.apache.phoenix.query.QueryConstants.DIVERGED_VIEW_BASE_COLUMN_COUNT;
-import static org.apache.phoenix.query.QueryConstants.SEPARATOR_BYTE_ARRAY;
 import static org.apache.phoenix.schema.PTableType.INDEX;
-import static org.apache.phoenix.util.ByteUtil.EMPTY_BYTE_ARRAY;
+import static org.apache.phoenix.schema.PTableType.TABLE;
 import static org.apache.phoenix.util.SchemaUtil.getVarCharLength;
 import static org.apache.phoenix.util.SchemaUtil.getVarChars;
 
@@ -91,14 +87,16 @@ import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
+import java.util.ListIterator;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.NavigableMap;
+import java.util.Properties;
 import java.util.Set;
 
 import org.apache.hadoop.conf.Configuration;
@@ -108,26 +106,21 @@ import org.apache.hadoop.hbase.Coprocessor;
 import org.apache.hadoop.hbase.CoprocessorEnvironment;
 import org.apache.hadoop.hbase.DoNotRetryIOException;
 import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.KeyValue.Type;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Delete;
 import org.apache.hadoop.hbase.client.Get;
-import org.apache.hadoop.hbase.client.HTableInterface;
 import org.apache.hadoop.hbase.client.Mutation;
 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.coprocessor.CoprocessorException;
 import org.apache.hadoop.hbase.coprocessor.CoprocessorService;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
-import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
-import org.apache.hadoop.hbase.filter.Filter;
-import org.apache.hadoop.hbase.filter.FilterList;
 import org.apache.hadoop.hbase.filter.FirstKeyOnlyFilter;
-import org.apache.hadoop.hbase.filter.PageFilter;
-import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
 import org.apache.hadoop.hbase.ipc.RpcServer.Call;
 import org.apache.hadoop.hbase.ipc.RpcUtil;
@@ -140,6 +133,7 @@ import org.apache.hadoop.hbase.util.Pair;
 import org.apache.hadoop.hbase.util.VersionInfo;
 import org.apache.phoenix.cache.GlobalCache;
 import org.apache.phoenix.cache.GlobalCache.FunctionBytesPtr;
+import org.apache.phoenix.compile.ColumnNameTrackingExpressionCompiler;
 import org.apache.phoenix.compile.ColumnResolver;
 import org.apache.phoenix.compile.FromCompiler;
 import org.apache.phoenix.compile.QueryPlan;
@@ -183,6 +177,7 @@ import 

[24/26] phoenix git commit: PHOENIX-3991 ROW_TIMESTAMP on TIMESTAMP column type throws ArrayOutOfBound when upserting without providing a value.

2018-07-29 Thread pboado
PHOENIX-3991 ROW_TIMESTAMP on TIMESTAMP column type throws ArrayOutOfBound when 
upserting without providing a value.


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

Branch: refs/heads/4.x-cdh5.14
Commit: 2a0b56a4667c6476e14c8b419d8d49011afb2612
Parents: 09ceb39
Author: Sergey Soldatov 
Authored: Wed Jul 25 20:48:03 2018 +0100
Committer: Pedro Boado 
Committed: Sun Jul 29 10:06:57 2018 +0100

--
 .../apache/phoenix/end2end/RowTimestampIT.java  | 26 +---
 .../apache/phoenix/execute/MutationState.java   |  6 -
 2 files changed, 27 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/2a0b56a4/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java
index 09fd821..2cf4d9d 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java
@@ -73,13 +73,22 @@ public class RowTimestampIT extends ParallelStatsDisabledIT 
{
 }
 
 @Test
-public void testWithUpsertingRowTimestampColSpecified() throws Exception {
+public void testUpsertingRowTimestampColSpecifiedWithTimestamp() throws 
Exception {
+upsertingRowTimestampColSpecified("TIMESTAMP");
+}
+
+@Test
+public void testUpsertingRowTimestampColSpecifiedWithDate() throws 
Exception {
+upsertingRowTimestampColSpecified("DATE");
+}
+
+private void upsertingRowTimestampColSpecified(String type) throws 
Exception {
 String tableName = generateUniqueName();
 String indexName = generateUniqueName();
 try (Connection conn = DriverManager.getConnection(getUrl())) {
 conn.createStatement()
 .execute("CREATE TABLE IF NOT EXISTS " + tableName
-+ " (PK1 VARCHAR NOT NULL, PK2 DATE NOT NULL, KV1 
VARCHAR, KV2 VARCHAR CONSTRAINT PK PRIMARY KEY(PK1, PK2 "
++ " (PK1 VARCHAR NOT NULL, PK2 " + type + " NOT 
NULL, KV1 VARCHAR, KV2 VARCHAR CONSTRAINT PK PRIMARY KEY(PK1, PK2 "
 + sortOrder + " ROW_TIMESTAMP)) " + 
tableDDLOptions);
 }
 try (Connection conn = DriverManager.getConnection(getUrl())) {
@@ -195,14 +204,23 @@ public class RowTimestampIT extends 
ParallelStatsDisabledIT {
 }
 
 @Test
-public void 
testAutomaticallySettingRowTimestampForImmutableTableAndIndexes() throws 
Exception {
+public void testAutomaticallySettingRowTimestampWithTimestamp () throws 
Exception {
+
automaticallySettingRowTimestampForImmutableTableAndIndexes("TIMESTAMP");
+}
+
+@Test
+public void testAutomaticallySettingRowTimestampWithDate () throws 
Exception {
+automaticallySettingRowTimestampForImmutableTableAndIndexes("DATE");
+}
+
+private void 
automaticallySettingRowTimestampForImmutableTableAndIndexes(String type) throws 
Exception {
 long startTime = EnvironmentEdgeManager.currentTimeMillis();
 String tableName = generateUniqueName();
 String indexName = generateUniqueName();
 try (Connection conn = DriverManager.getConnection(getUrl())) {
 conn.createStatement()
 .execute("CREATE TABLE IF NOT EXISTS " + tableName
-+ " (PK1 VARCHAR NOT NULL, PK2 DATE NOT NULL, KV1 
VARCHAR, KV2 VARCHAR CONSTRAINT PK PRIMARY KEY(PK1, PK2 "
++ " (PK1 VARCHAR NOT NULL, PK2 " + type + " NOT 
NULL, KV1 VARCHAR, KV2 VARCHAR CONSTRAINT PK PRIMARY KEY(PK1, PK2 "
 + sortOrder + " ROW_TIMESTAMP)) " + 
tableDDLOptions);
 }
 try (Connection conn = DriverManager.getConnection(getUrl())) {

http://git-wip-us.apache.org/repos/asf/phoenix/blob/2a0b56a4/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java 
b/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
index c29d6b5..d2d1eea 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
@@ -25,6 +25,7 @@ import static 
org.apache.phoenix.monitoring.GlobalClientMetrics.GLOBAL_MUTATION_
 
 import java.io.IOException;
 import 

[17/26] phoenix git commit: PHOENIX-3534 Support multi region SYSTEM.CATALOG table (Thomas D'Silva and Rahul Gidwani)

2018-07-29 Thread pboado
PHOENIX-3534 Support multi region SYSTEM.CATALOG table (Thomas D'Silva and 
Rahul Gidwani)


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

Branch: refs/heads/4.x-cdh5.14
Commit: 3987c1230af5e24bab1854b7677d826043500873
Parents: 6b89aa2
Author: Thomas D'Silva 
Authored: Sat Jul 14 11:34:47 2018 -0700
Committer: Thomas D'Silva 
Committed: Wed Jul 18 18:00:05 2018 -0700

--
 .../StatisticsCollectionRunTrackerIT.java   |2 +-
 .../AlterMultiTenantTableWithViewsIT.java   |  284 +-
 .../apache/phoenix/end2end/AlterTableIT.java|   45 +-
 .../phoenix/end2end/AlterTableWithViewsIT.java  |  545 ++--
 .../phoenix/end2end/AppendOnlySchemaIT.java |4 +-
 .../end2end/BaseTenantSpecificViewIndexIT.java  |   38 +-
 .../end2end/ExplainPlanWithStatsEnabledIT.java  |   69 +-
 .../MigrateSystemTablesToSystemNamespaceIT.java |   38 +-
 .../apache/phoenix/end2end/PhoenixDriverIT.java |   37 +-
 .../end2end/QueryDatabaseMetaDataIT.java|9 +-
 .../apache/phoenix/end2end/SaltedViewIT.java|   45 -
 .../phoenix/end2end/SplitSystemCatalogIT.java   |   80 +
 .../end2end/SplitSystemCatalogTests.java|   11 +
 .../StatsEnabledSplitSystemCatalogIT.java   |  244 ++
 .../SystemCatalogCreationOnConnectionIT.java|   34 +-
 .../apache/phoenix/end2end/SystemCatalogIT.java |   31 +-
 .../end2end/TenantSpecificTablesDDLIT.java  |   13 +-
 .../end2end/TenantSpecificViewIndexIT.java  |   68 +-
 .../org/apache/phoenix/end2end/UpgradeIT.java   |  319 +--
 .../java/org/apache/phoenix/end2end/ViewIT.java |  868 --
 .../phoenix/end2end/index/BaseIndexIT.java  |   43 +-
 .../index/ChildViewsUseParentViewIndexIT.java   |7 +-
 .../phoenix/end2end/index/DropColumnIT.java |  117 -
 .../phoenix/end2end/index/IndexMetadataIT.java  |4 +-
 .../phoenix/end2end/index/MutableIndexIT.java   |  842 +++---
 .../phoenix/end2end/index/ViewIndexIT.java  |   68 +-
 .../apache/phoenix/execute/PartialCommitIT.java |4 +-
 .../SystemCatalogWALEntryFilterIT.java  |   85 +-
 .../org/apache/phoenix/rpc/UpdateCacheIT.java   |9 +-
 .../ColumnNameTrackingExpressionCompiler.java   |   46 +
 .../phoenix/compile/CreateTableCompiler.java|2 +-
 .../apache/phoenix/compile/FromCompiler.java|   15 +-
 .../phoenix/compile/ListJarsQueryPlan.java  |2 +-
 .../apache/phoenix/compile/TraceQueryPlan.java  |2 +-
 .../apache/phoenix/compile/UnionCompiler.java   |2 +-
 .../apache/phoenix/compile/UpsertCompiler.java  |2 +-
 .../coprocessor/MetaDataEndpointImpl.java   | 2577 +-
 .../phoenix/coprocessor/MetaDataProtocol.java   |3 +-
 .../apache/phoenix/coprocessor/TableInfo.java   |   79 +
 .../coprocessor/TableViewFinderResult.java  |   48 +
 .../apache/phoenix/coprocessor/ViewFinder.java  |  144 +
 .../coprocessor/WhereConstantParser.java|  106 +
 .../coprocessor/generated/MetaDataProtos.java   |  626 -
 .../coprocessor/generated/PTableProtos.java |  323 ++-
 .../phoenix/expression/LikeExpression.java  |2 +-
 .../apache/phoenix/jdbc/PhoenixConnection.java  |8 +-
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  534 ++--
 .../apache/phoenix/jdbc/PhoenixStatement.java   |8 +-
 .../phoenix/parse/DropTableStatement.java   |8 +-
 .../apache/phoenix/parse/ParseNodeFactory.java  |2 +-
 .../phoenix/query/ConnectionQueryServices.java  |   17 +-
 .../query/ConnectionQueryServicesImpl.java  |   43 +-
 .../query/ConnectionlessQueryServicesImpl.java  |   13 +-
 .../query/DelegateConnectionQueryServices.java  |8 +-
 .../apache/phoenix/query/QueryConstants.java|   14 +-
 .../org/apache/phoenix/query/QueryServices.java |2 +
 .../phoenix/query/QueryServicesOptions.java |2 +
 .../SystemCatalogWALEntryFilter.java|   45 +-
 .../apache/phoenix/schema/DelegateColumn.java   |   15 +
 .../apache/phoenix/schema/MetaDataClient.java   |   57 +-
 .../phoenix/schema/MetaDataSplitPolicy.java |   26 +-
 .../java/org/apache/phoenix/schema/PColumn.java |   12 +
 .../org/apache/phoenix/schema/PColumnImpl.java  |  113 +-
 .../apache/phoenix/schema/PMetaDataImpl.java|3 +-
 .../java/org/apache/phoenix/schema/PTable.java  |   17 +-
 .../org/apache/phoenix/schema/PTableImpl.java   |  279 +-
 .../org/apache/phoenix/schema/PTableKey.java|4 +-
 .../schema/ParentTableNotFoundException.java|   30 +
 .../org/apache/phoenix/schema/SaltingUtil.java  |4 +-
 .../apache/phoenix/schema/TableProperty.java|   22 +-
 .../java/org/apache/phoenix/util/IndexUtil.java |   16 +-
 .../org/apache/phoenix/util/MetaDataUtil.java   |  171 +-
 .../org/apache/phoenix/util/PhoenixRuntime.java |1 -
 

phoenix git commit: Changes for CDH 5.14.x [Forced Update!]

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.14-cdh5.14 fd9342328 -> 3c72eef25 (forced update)


Changes for CDH 5.14.x


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

Branch: refs/heads/4.14-cdh5.14
Commit: 3c72eef250ffd6ea172d273121a400a944d02843
Parents: 0a06e59
Author: Pedro Boado 
Authored: Sat Mar 10 17:54:04 2018 +
Committer: Pedro Boado 
Committed: Mon Jun 4 19:17:12 2018 +0100

--
 phoenix-assembly/pom.xml|  2 +-
 phoenix-client/pom.xml  |  2 +-
 phoenix-core/pom.xml|  2 +-
 .../hadoop/hbase/ipc/PhoenixRpcScheduler.java   | 34 ++--
 phoenix-flume/pom.xml   |  2 +-
 phoenix-hive/pom.xml|  2 +-
 phoenix-kafka/pom.xml   |  2 +-
 phoenix-load-balancer/pom.xml   |  2 +-
 phoenix-parcel/pom.xml  |  2 +-
 phoenix-pherf/pom.xml   |  2 +-
 phoenix-pig/pom.xml |  2 +-
 phoenix-queryserver-client/pom.xml  |  2 +-
 phoenix-queryserver/pom.xml |  2 +-
 phoenix-server/pom.xml  |  2 +-
 phoenix-spark/pom.xml   |  2 +-
 phoenix-tracing-webapp/pom.xml  |  2 +-
 pom.xml |  4 +--
 17 files changed, 49 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/3c72eef2/phoenix-assembly/pom.xml
--
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 7d98c25..e28d9f7 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.14.2
   
   phoenix-assembly
   Phoenix Assembly

http://git-wip-us.apache.org/repos/asf/phoenix/blob/3c72eef2/phoenix-client/pom.xml
--
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index fe5836b..9d0dee1 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.14.2
   
   phoenix-client
   Phoenix Client

http://git-wip-us.apache.org/repos/asf/phoenix/blob/3c72eef2/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 8b09c67..ab4c891 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.14.2
   
   phoenix-core
   Phoenix Core

http://git-wip-us.apache.org/repos/asf/phoenix/blob/3c72eef2/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
--
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 4fdddf5..d1f05f8 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
@@ -124,6 +124,36 @@ public class PhoenixRpcScheduler extends RpcScheduler {
 public void setMetadataExecutorForTesting(RpcExecutor executor) {
 this.metadataCallExecutor = executor;
 }
-
-
+
+@Override
+public int getReadQueueLength() {
+return delegate.getReadQueueLength();
+}
+
+@Override
+public int getWriteQueueLength() {
+return delegate.getWriteQueueLength();
+}
+
+@Override
+public int getScanQueueLength() {
+return delegate.getScanQueueLength();
+}
+
+@Override
+public int getActiveReadRpcHandlerCount() {
+return delegate.getActiveReadRpcHandlerCount();
+}
+
+@Override
+public int getActiveWriteRpcHandlerCount() {
+return delegate.getActiveWriteRpcHandlerCount();
+}
+
+@Override
+public int getActiveScanRpcHandlerCount() {
+return delegate.getActiveScanRpcHandlerCount();
+}
+
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/3c72eef2/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index e400589..d1e1363 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 

phoenix git commit: Changes for CDH 5.13.x [Forced Update!]

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.14-cdh5.13 b8127085d -> b68b9e34c (forced update)


Changes for CDH 5.13.x


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

Branch: refs/heads/4.14-cdh5.13
Commit: b68b9e34c6ece256c6b57edfbe0431af1fc27eb6
Parents: 0a06e59
Author: Pedro Boado 
Authored: Sat Mar 10 17:54:04 2018 +
Committer: Pedro Boado 
Committed: Mon Jun 4 19:16:11 2018 +0100

--
 phoenix-assembly/pom.xml|  2 +-
 phoenix-client/pom.xml  |  2 +-
 phoenix-core/pom.xml|  2 +-
 .../hadoop/hbase/ipc/PhoenixRpcScheduler.java   | 34 ++--
 phoenix-flume/pom.xml   |  2 +-
 phoenix-hive/pom.xml|  2 +-
 phoenix-kafka/pom.xml   |  2 +-
 phoenix-load-balancer/pom.xml   |  2 +-
 phoenix-parcel/pom.xml  |  2 +-
 phoenix-pherf/pom.xml   |  2 +-
 phoenix-pig/pom.xml |  2 +-
 phoenix-queryserver-client/pom.xml  |  2 +-
 phoenix-queryserver/pom.xml |  2 +-
 phoenix-server/pom.xml  |  2 +-
 phoenix-spark/pom.xml   |  2 +-
 phoenix-tracing-webapp/pom.xml  |  2 +-
 pom.xml |  4 +--
 17 files changed, 49 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/b68b9e34/phoenix-assembly/pom.xml
--
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 7d98c25..560c1c0 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.13.2
   
   phoenix-assembly
   Phoenix Assembly

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b68b9e34/phoenix-client/pom.xml
--
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index fe5836b..6ed997e 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.13.2
   
   phoenix-client
   Phoenix Client

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b68b9e34/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 8b09c67..753b5a9 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.13.2
   
   phoenix-core
   Phoenix Core

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b68b9e34/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
--
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 4fdddf5..d1f05f8 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
@@ -124,6 +124,36 @@ public class PhoenixRpcScheduler extends RpcScheduler {
 public void setMetadataExecutorForTesting(RpcExecutor executor) {
 this.metadataCallExecutor = executor;
 }
-
-
+
+@Override
+public int getReadQueueLength() {
+return delegate.getReadQueueLength();
+}
+
+@Override
+public int getWriteQueueLength() {
+return delegate.getWriteQueueLength();
+}
+
+@Override
+public int getScanQueueLength() {
+return delegate.getScanQueueLength();
+}
+
+@Override
+public int getActiveReadRpcHandlerCount() {
+return delegate.getActiveReadRpcHandlerCount();
+}
+
+@Override
+public int getActiveWriteRpcHandlerCount() {
+return delegate.getActiveWriteRpcHandlerCount();
+}
+
+@Override
+public int getActiveScanRpcHandlerCount() {
+return delegate.getActiveScanRpcHandlerCount();
+}
+
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b68b9e34/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index e400589..1f2e8c4 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 

[phoenix] Git Push Summary [forced push!] [Forced Update!]

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.14-cdh5.11 0901175ce -> 0a06e5964 (forced update)


phoenix git commit: Changes for CDH 5.12.x [Forced Update!]

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.14-cdh5.12 5356476ae -> 44939d29e (forced update)


Changes for CDH 5.12.x


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

Branch: refs/heads/4.14-cdh5.12
Commit: 44939d29e04d07cc668c93437c805f8dcf60cd58
Parents: 0a06e59
Author: Pedro Boado 
Authored: Sat Mar 10 17:54:04 2018 +
Committer: Pedro Boado 
Committed: Mon Jun 4 19:10:49 2018 +0100

--
 phoenix-assembly/pom.xml|  2 +-
 phoenix-client/pom.xml  |  2 +-
 phoenix-core/pom.xml|  2 +-
 .../hadoop/hbase/ipc/PhoenixRpcScheduler.java   | 34 ++--
 phoenix-flume/pom.xml   |  2 +-
 phoenix-hive/pom.xml|  2 +-
 phoenix-kafka/pom.xml   |  2 +-
 phoenix-load-balancer/pom.xml   |  2 +-
 phoenix-parcel/pom.xml  |  2 +-
 phoenix-pherf/pom.xml   |  2 +-
 phoenix-pig/pom.xml |  2 +-
 phoenix-queryserver-client/pom.xml  |  2 +-
 phoenix-queryserver/pom.xml |  2 +-
 phoenix-server/pom.xml  |  2 +-
 phoenix-spark/pom.xml   |  2 +-
 phoenix-tracing-webapp/pom.xml  |  2 +-
 pom.xml |  4 +--
 17 files changed, 49 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/44939d29/phoenix-assembly/pom.xml
--
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 7d98c25..47b593f 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.12.2
   
   phoenix-assembly
   Phoenix Assembly

http://git-wip-us.apache.org/repos/asf/phoenix/blob/44939d29/phoenix-client/pom.xml
--
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index fe5836b..5736f9b 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.12.2
   
   phoenix-client
   Phoenix Client

http://git-wip-us.apache.org/repos/asf/phoenix/blob/44939d29/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 8b09c67..ad429bf 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.12.2
   
   phoenix-core
   Phoenix Core

http://git-wip-us.apache.org/repos/asf/phoenix/blob/44939d29/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
--
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 4fdddf5..d1f05f8 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
@@ -124,6 +124,36 @@ public class PhoenixRpcScheduler extends RpcScheduler {
 public void setMetadataExecutorForTesting(RpcExecutor executor) {
 this.metadataCallExecutor = executor;
 }
-
-
+
+@Override
+public int getReadQueueLength() {
+return delegate.getReadQueueLength();
+}
+
+@Override
+public int getWriteQueueLength() {
+return delegate.getWriteQueueLength();
+}
+
+@Override
+public int getScanQueueLength() {
+return delegate.getScanQueueLength();
+}
+
+@Override
+public int getActiveReadRpcHandlerCount() {
+return delegate.getActiveReadRpcHandlerCount();
+}
+
+@Override
+public int getActiveWriteRpcHandlerCount() {
+return delegate.getActiveWriteRpcHandlerCount();
+}
+
+@Override
+public int getActiveScanRpcHandlerCount() {
+return delegate.getActiveScanRpcHandlerCount();
+}
+
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/44939d29/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index e400589..bb2654c 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 

[phoenix] Git Push Summary

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.12 [created] 5356476ae


[phoenix] Git Push Summary

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.13 [created] b8127085d


[phoenix] Git Push Summary

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.11 [created] 0901175ce


[07/26] phoenix git commit: Revert "PHOENIX-4790 Simplify check for client side delete"

2018-07-29 Thread pboado
Revert "PHOENIX-4790 Simplify check for client side delete"

This reverts commit ebfb92be376d19663cab204384513b1e52c18dd9.


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

Branch: refs/heads/4.x-cdh5.14
Commit: 6b89aa291aa54e056c8d863abefca5ea8f2016f0
Parents: 480cb20
Author: James Taylor 
Authored: Thu Jul 12 20:05:06 2018 -0700
Committer: James Taylor 
Committed: Thu Jul 12 20:05:06 2018 -0700

--
 .../apache/phoenix/compile/DeleteCompiler.java  | 24 
 1 file changed, 19 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/6b89aa29/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
index 78b2db9..5f9c76c 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
@@ -46,6 +46,7 @@ import org.apache.phoenix.execute.AggregatePlan;
 import org.apache.phoenix.execute.MutationState;
 import org.apache.phoenix.execute.MutationState.MultiRowMutationState;
 import org.apache.phoenix.execute.MutationState.RowMutationState;
+import org.apache.phoenix.filter.SkipScanFilter;
 import org.apache.phoenix.hbase.index.ValueGetter;
 import org.apache.phoenix.hbase.index.covered.update.ColumnReference;
 import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
@@ -480,7 +481,6 @@ public class DeleteCompiler {
 projectedColumns.add(column);
 aliasedNodes.add(FACTORY.aliasedNode(null, FACTORY.column(null, 
'"' + column.getName().getString() + '"', null)));
 }
-boolean noQueryReqd = true;
 // Project all non PK indexed columns so that we can do the proper 
index maintenance
 for (PTable index : table.getIndexes()) {
 IndexMaintainer maintainer = index.getIndexMaintainer(table, 
connection);
@@ -492,8 +492,6 @@ public class DeleteCompiler {
 boolean hasNoColumnFamilies = 
table.getColumnFamilies().isEmpty();
 PColumn column = hasNoColumnFamilies ? 
table.getColumnForColumnName(columnName) : 
table.getColumnFamily(familyName).getPColumnForColumnName(columnName);
 if(!projectedColumns.contains(column)) {
-// We must run a query if any index contains a non pk 
column
-noQueryReqd = false;
 projectedColumns.add(column);
 aliasedNodes.add(FACTORY.aliasedNode(null, 
FACTORY.column(hasNoColumnFamilies ? null : TableName.create(null, familyName), 
'"' + columnName + '"', null)));
 }
@@ -513,7 +511,7 @@ public class DeleteCompiler {
 select = StatementNormalizer.normalize(transformedSelect, 
resolverToBe);
 }
 final boolean hasPreOrPostProcessing = hasPreProcessing || 
hasPostProcessing;
-noQueryReqd &= !hasPreOrPostProcessing;
+boolean noQueryReqd = !hasPreOrPostProcessing;
 // No limit and no sub queries, joins, etc in where clause
 // Can't run on same server for transactional data, as we need the row 
keys for the data
 // that is being upserted for conflict detection purposes.
@@ -552,8 +550,24 @@ public class DeleteCompiler {
 }
 
 runOnServer &= queryPlans.get(0).getTableRef().getTable().getType() != 
PTableType.INDEX;
-
+
+// We need to have all indexed columns available in all immutable 
indexes in order
+// to generate the delete markers from the query. We also cannot have 
any filters
+// except for our SkipScanFilter for point lookups.
+// A simple check of the non existence of a where clause in the parse 
node is not sufficient, as the where clause
+// may have been optimized out. Instead, we check that there's a 
single SkipScanFilter
+// If we can generate a plan for every index, that means all the 
required columns are available in every index,
+// hence we can drive the delete from any of the plans.
 noQueryReqd &= queryPlans.size() == 1 + clientSideIndexes.size();
+int queryPlanIndex = 0;
+while (noQueryReqd && queryPlanIndex < queryPlans.size()) {
+QueryPlan plan = queryPlans.get(queryPlanIndex++);
+StatementContext context = plan.getContext();
+noQueryReqd &= (!context.getScan().hasFilter()
+

[20/26] phoenix git commit: PHOENIX-4805 Move Avatica version to 1.12 for PQS

2018-07-29 Thread pboado
PHOENIX-4805 Move Avatica version to 1.12 for PQS


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

Branch: refs/heads/4.x-cdh5.14
Commit: 205fe1155b5342a831934358034d28733199d635
Parents: 25f0e0a
Author: Karan Mehta 
Authored: Fri Jul 6 21:35:52 2018 +0100
Committer: Pedro Boado 
Committed: Sun Jul 29 10:03:30 2018 +0100

--
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/205fe115/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 0c3836d..d7d965b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -141,7 +141,7 @@
 
 1.6
 2.1.2
-1.10.0
+1.12.0
 8.1.7.v20120910
 0.14.0-incubating
 ${cdh.spark.version}



[23/26] phoenix git commit: PHOENIX-4817 Fixed Phoenix Tracing Web Application (fixed check null, trace table name, webapp path, column names) and traceserver.py

2018-07-29 Thread pboado
PHOENIX-4817 Fixed Phoenix Tracing Web Application (fixed check null, trace 
table name, webapp path, column names) and traceserver.py

Closes #311

Signed-off-by: Josh Elser 


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

Branch: refs/heads/4.x-cdh5.14
Commit: 09ceb39f0df20cdb0eb401577f387204a833d0e4
Parents: 4c2d6c9
Author: Vitaly Monastyrev 
Authored: Tue Jul 24 17:14:12 2018 +0100
Committer: Pedro Boado 
Committed: Sun Jul 29 10:06:35 2018 +0100

--
 bin/traceserver.py  |  6 +-
 .../apache/phoenix/tracingwebapp/http/Main.java | 13 +--
 .../tracingwebapp/http/TraceServlet.java| 87 +++-
 3 files changed, 62 insertions(+), 44 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/09ceb39f/bin/traceserver.py
--
diff --git a/bin/traceserver.py b/bin/traceserver.py
index 665099e..62e168c 100755
--- a/bin/traceserver.py
+++ b/bin/traceserver.py
@@ -116,8 +116,10 @@ else:
 
 #" -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n " 
+ \
 #" -XX:+UnlockCommercialFeatures -XX:+FlightRecorder 
-XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true" + \
-java_cmd = '%(java)s $PHOENIX_OPTS ' + \
-'-cp ' + hbase_config_path + os.pathsep + 
phoenix_utils.phoenix_traceserver_jar + os.pathsep + 
phoenix_utils.phoenix_client_jar + \
+java_cmd = '%(java)s  ' + \
+'-cp ' + hbase_config_path + os.pathsep + 
phoenix_utils.phoenix_traceserver_jar + os.pathsep + \
+phoenix_utils.phoenix_client_jar + os.pathsep + 
phoenix_utils.phoenix_queryserver_jar + \
+os.pathsep + phoenix_utils.hadoop_classpath + \
 " -Dproc_phoenixtraceserver" + \
 " -Dlog4j.configuration=file:" + os.path.join(phoenix_utils.current_dir, 
"log4j.properties") + \
 " -Dpsql.root.logger=%(root_logger)s" + \

http://git-wip-us.apache.org/repos/asf/phoenix/blob/09ceb39f/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/Main.java
--
diff --git 
a/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/Main.java
 
b/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/Main.java
index 5875fc1..249f8e6 100755
--- 
a/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/Main.java
+++ 
b/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/Main.java
@@ -47,6 +47,7 @@ public final class Main extends Configured implements Tool {
 public static final String TRACE_SERVER_HTTP_JETTY_HOME_KEY =
 "phoenix.traceserver.http.home";
 public static final String DEFAULT_HTTP_HOME = "/";
+public static final String DEFAULT_WEBAPP_DIR_LOCATION = "src/main/webapp";
 
 public static void main(String[] args) throws Exception {
 int ret = ToolRunner.run(HBaseConfiguration.create(), new Main(), 
args);
@@ -62,15 +63,17 @@ public final class Main extends Configured implements Tool {
 final String home = getConf().get(TRACE_SERVER_HTTP_JETTY_HOME_KEY,
 DEFAULT_HTTP_HOME);
 //setting up the embedded server
-ProtectionDomain domain = Main.class.getProtectionDomain();
-URL location = domain.getCodeSource().getLocation();
-String webappDirLocation = location.toString().split("target")[0] 
+"src/main/webapp";
 Server server = new Server(port);
 WebAppContext root = new WebAppContext();
 
+URL webAppDir = 
Thread.currentThread().getContextClassLoader().getResource(DEFAULT_WEBAPP_DIR_LOCATION);
+if (webAppDir == null) {
+throw new RuntimeException(String.format("No %s directory was 
found into the JAR file", DEFAULT_WEBAPP_DIR_LOCATION));
+}
+
 root.setContextPath(home);
-root.setDescriptor(webappDirLocation + "/WEB-INF/web.xml");
-root.setResourceBase(webappDirLocation);
+root.setDescriptor(DEFAULT_WEBAPP_DIR_LOCATION + "/WEB-INF/web.xml");
+root.setResourceBase(webAppDir.toURI().toString());
 root.setParentLoaderPriority(true);
 server.setHandler(root);
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/09ceb39f/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/TraceServlet.java
--
diff --git 
a/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/TraceServlet.java
 
b/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/TraceServlet.java

[03/26] phoenix git commit: PHOENIX-3383 Comparison between descending row keys used in RVC is reverse

2018-07-29 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/e1f00c29/phoenix-core/src/main/java/org/apache/phoenix/compile/WhereOptimizer.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/WhereOptimizer.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/WhereOptimizer.java
index 87f00e4..a5287cb 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/WhereOptimizer.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/WhereOptimizer.java
@@ -17,8 +17,6 @@
  */
 package org.apache.phoenix.compile;
 
-import static java.util.Collections.singletonList;
-
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -27,10 +25,14 @@ import java.util.Comparator;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
 import java.util.Set;
 
 import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.hadoop.hbase.util.Pair;
 import org.apache.phoenix.expression.AndExpression;
 import org.apache.phoenix.expression.BaseExpression;
 import 
org.apache.phoenix.expression.BaseExpression.ExpressionComparabilityWrapper;
@@ -61,7 +63,6 @@ import org.apache.phoenix.schema.PTable;
 import org.apache.phoenix.schema.RowKeySchema;
 import org.apache.phoenix.schema.SaltingUtil;
 import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.ValueSchema.Field;
 import org.apache.phoenix.schema.tuple.Tuple;
 import org.apache.phoenix.schema.types.PChar;
 import org.apache.phoenix.schema.types.PDataType;
@@ -74,8 +75,11 @@ import org.apache.phoenix.util.SchemaUtil;
 
 import com.google.common.collect.Iterators;
 import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 
+import edu.umd.cs.findbugs.annotations.NonNull;
+
 
 /**
  *
@@ -115,6 +119,7 @@ public class WhereOptimizer {
RowKeySchema schema = table.getRowKeySchema();
boolean isMultiTenant = tenantId != null && table.isMultiTenant();
boolean isSharedIndex = table.getViewIndexId() != null;
+   ImmutableBytesWritable ptr = context.getTempPtr();

if (isMultiTenant) {
 tenantIdBytes = ScanUtil.getTenantIdBytes(schema, isSalted, 
tenantId, isSharedIndex);
@@ -158,31 +163,13 @@ public class WhereOptimizer {
 
 int pkPos = 0;
 int nPKColumns = table.getPKColumns().size();
-int[] slotSpan = new int[nPKColumns];
+int[] slotSpanArray = new int[nPKColumns];
 List> cnf = 
Lists.newArrayListWithExpectedSize(schema.getMaxFields());
-KeyRange minMaxRange = keySlots.getMinMaxRange();
-if (minMaxRange == null) {
-minMaxRange = KeyRange.EVERYTHING_RANGE;
-}
-boolean hasMinMaxRange = (minMaxRange != KeyRange.EVERYTHING_RANGE);
-int minMaxRangeOffset = 0;
-byte[] minMaxRangePrefix = null;
 boolean hasViewIndex = table.getViewIndexId() != null;
-if (hasMinMaxRange) {
-int minMaxRangeSize = (isSalted ? SaltingUtil.NUM_SALTING_BYTES : 
0)
-+ (isMultiTenant ? tenantIdBytes.length + 1 : 0)
-+ (hasViewIndex ? 
MetaDataUtil.getViewIndexIdDataType().getByteSize() : 0);
-minMaxRangePrefix = new byte[minMaxRangeSize];
-}
-
-Iterator iterator = keySlots.iterator();
+Iterator iterator = 
keySlots.getSlots().iterator();
 // Add placeholder for salt byte ranges
 if (isSalted) {
 cnf.add(SALT_PLACEHOLDER);
-if (hasMinMaxRange) {
-   System.arraycopy(SALT_PLACEHOLDER.get(0).getLowerRange(), 
0, minMaxRangePrefix, minMaxRangeOffset, SaltingUtil.NUM_SALTING_BYTES);
-   minMaxRangeOffset += SaltingUtil.NUM_SALTING_BYTES;
-}
 // Increment the pkPos, as the salt column is in the row schema
 // Do not increment the iterator, though, as there will never be
 // an expression in the keySlots for the salt column
@@ -194,35 +181,17 @@ public class WhereOptimizer {
 if (hasViewIndex) {
 byte[] viewIndexBytes = 
MetaDataUtil.getViewIndexIdDataType().toBytes(table.getViewIndexId());
 KeyRange indexIdKeyRange = KeyRange.getKeyRange(viewIndexBytes);
-cnf.add(singletonList(indexIdKeyRange));
-if (hasMinMaxRange) {
-System.arraycopy(viewIndexBytes, 0, minMaxRangePrefix, 
minMaxRangeOffset, viewIndexBytes.length);
-minMaxRangeOffset += viewIndexBytes.length;
-}
+cnf.add(Collections.singletonList(indexIdKeyRange));
 pkPos++;
 }
 
 // Add tenant data isolation for 

[10/26] phoenix git commit: PHOENIX-3534 Support multi region SYSTEM.CATALOG table (Thomas D'Silva and Rahul Gidwani)

2018-07-29 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/3987c123/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
index 8dd4a88..dab1048 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
@@ -29,9 +29,10 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.KeyValue;
+import org.apache.hadoop.hbase.CellComparator;
+import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.client.Result;
+import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.phoenix.compile.ColumnProjector;
 import org.apache.phoenix.compile.ExpressionProjector;
@@ -40,7 +41,12 @@ import org.apache.phoenix.compile.StatementContext;
 import org.apache.phoenix.coprocessor.MetaDataProtocol;
 import org.apache.phoenix.exception.SQLExceptionCode;
 import org.apache.phoenix.exception.SQLExceptionInfo;
+import org.apache.phoenix.expression.Expression;
+import org.apache.phoenix.expression.KeyValueColumnExpression;
+import org.apache.phoenix.expression.LikeExpression;
+import org.apache.phoenix.expression.LiteralExpression;
 import org.apache.phoenix.expression.RowKeyColumnExpression;
+import org.apache.phoenix.expression.StringBasedLikeExpression;
 import org.apache.phoenix.expression.function.ExternalSqlTypeIdFunction;
 import org.apache.phoenix.expression.function.IndexStateNameFunction;
 import org.apache.phoenix.expression.function.SQLIndexTypeFunction;
@@ -48,25 +54,33 @@ import 
org.apache.phoenix.expression.function.SQLTableTypeFunction;
 import org.apache.phoenix.expression.function.SQLViewTypeFunction;
 import org.apache.phoenix.expression.function.SqlTypeNameFunction;
 import org.apache.phoenix.expression.function.TransactionProviderNameFunction;
-import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
-import org.apache.phoenix.iterate.DelegateResultIterator;
 import org.apache.phoenix.iterate.MaterializedResultIterator;
 import org.apache.phoenix.iterate.ResultIterator;
+import org.apache.phoenix.parse.LikeParseNode.LikeType;
 import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.schema.MetaDataClient;
+import org.apache.phoenix.schema.PColumn;
+import org.apache.phoenix.schema.PColumnImpl;
 import org.apache.phoenix.schema.PDatum;
 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.RowKeyValueAccessor;
 import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.tuple.ResultTuple;
+import org.apache.phoenix.schema.tuple.MultiKeyValueTuple;
 import org.apache.phoenix.schema.tuple.SingleKeyValueTuple;
 import org.apache.phoenix.schema.tuple.Tuple;
+import org.apache.phoenix.schema.types.PBoolean;
 import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.types.PSmallint;
+import org.apache.phoenix.schema.types.PVarbinary;
 import org.apache.phoenix.schema.types.PVarchar;
 import org.apache.phoenix.util.ByteUtil;
 import org.apache.phoenix.util.KeyValueUtil;
+import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.util.StringUtil;
 
@@ -336,6 +350,11 @@ public class PhoenixDatabaseMetaData implements 
DatabaseMetaData {
 public static final byte[] COLUMN_QUALIFIER_COUNTER_BYTES = 
Bytes.toBytes(COLUMN_QUALIFIER_COUNTER);
 public static final String USE_STATS_FOR_PARALLELIZATION = 
"USE_STATS_FOR_PARALLELIZATION";
 public static final byte[] USE_STATS_FOR_PARALLELIZATION_BYTES = 
Bytes.toBytes(USE_STATS_FOR_PARALLELIZATION);
+
+public static final String SYSTEM_CHILD_LINK_TABLE = "CHILD_LINK";
+public static final String SYSTEM_CHILD_LINK_NAME = 
SchemaUtil.getTableName(SYSTEM_CATALOG_SCHEMA, SYSTEM_CHILD_LINK_TABLE);
+public static final byte[] SYSTEM_CHILD_LINK_NAME_BYTES = 
Bytes.toBytes(SYSTEM_CHILD_LINK_NAME);
+public static final TableName SYSTEM_LINK_HBASE_TABLE_NAME = 
TableName.valueOf(SYSTEM_CHILD_LINK_NAME);
 
 
 //SYSTEM:LOG
@@ -467,179 +486,352 @@ public class PhoenixDatabaseMetaData implements 
DatabaseMetaData {
 private static void appendConjunction(StringBuilder buf) {
 buf.append(buf.length() == 0 ? "" : " and ");
 }
-
+
+private static final PColumnImpl TENANT_ID_COLUMN = 

[11/26] phoenix git commit: PHOENIX-3534 Support multi region SYSTEM.CATALOG table (Thomas D'Silva and Rahul Gidwani)

2018-07-29 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/3987c123/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
index 883f96d..29cf2a3 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
@@ -91,8 +91,9 @@ public abstract class MetaDataProtocol extends 
MetaDataService {
 public static final long MIN_SYSTEM_TABLE_TIMESTAMP_4_12_0 = 
MIN_SYSTEM_TABLE_TIMESTAMP_4_11_0;
 public static final long MIN_SYSTEM_TABLE_TIMESTAMP_4_13_0 = 
MIN_SYSTEM_TABLE_TIMESTAMP_4_11_0;
 public static final long MIN_SYSTEM_TABLE_TIMESTAMP_4_14_0 = 
MIN_TABLE_TIMESTAMP + 28;
+public static final long MIN_SYSTEM_TABLE_TIMESTAMP_4_15_0 = 
MIN_TABLE_TIMESTAMP + 29;
 // MIN_SYSTEM_TABLE_TIMESTAMP needs to be set to the max of all the 
MIN_SYSTEM_TABLE_TIMESTAMP_* constants
-public static final long MIN_SYSTEM_TABLE_TIMESTAMP = 
MIN_SYSTEM_TABLE_TIMESTAMP_4_14_0;
+public static final long MIN_SYSTEM_TABLE_TIMESTAMP = 
MIN_SYSTEM_TABLE_TIMESTAMP_4_15_0;
 // Version below which we should disallow usage of mutable secondary 
indexing.
 public static final int MUTABLE_SI_VERSION_THRESHOLD = 
VersionUtil.encodeVersion("0", "94", "10");
 public static final int MAX_LOCAL_SI_VERSION_DISALLOW = 
VersionUtil.encodeVersion("0", "98", "8");

http://git-wip-us.apache.org/repos/asf/phoenix/blob/3987c123/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/TableInfo.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/TableInfo.java 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/TableInfo.java
new file mode 100644
index 000..b1c5f65
--- /dev/null
+++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/TableInfo.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.coprocessor;
+
+import java.util.Arrays;
+
+import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.phoenix.util.SchemaUtil;
+
+public class TableInfo {
+
+private final byte[] tenantId;
+private final byte[] schema;
+private final byte[] name;
+
+public TableInfo(byte[] tenantId, byte[] schema, byte[] name) {
+this.tenantId = tenantId;
+this.schema = schema;
+this.name = name;
+}
+
+public byte[] getRowKeyPrefix() {
+return SchemaUtil.getTableKey(tenantId, schema, name);
+}
+
+@Override
+public String toString() {
+return Bytes.toStringBinary(getRowKeyPrefix());
+}
+
+public byte[] getTenantId() {
+return tenantId;
+}
+
+public byte[] getSchemaName() {
+return schema;
+}
+
+public byte[] getTableName() {
+return name;
+}
+
+@Override
+public int hashCode() {
+final int prime = 31;
+int result = 1;
+result = prime * result + Arrays.hashCode(name);
+result = prime * result + Arrays.hashCode(schema);
+result = prime * result + Arrays.hashCode(tenantId);
+return result;
+}
+
+@Override
+public boolean equals(Object obj) {
+if (this == obj) return true;
+if (obj == null) return false;
+if (getClass() != obj.getClass()) return false;
+TableInfo other = (TableInfo) obj;
+if (!Arrays.equals(name, other.name)) return false;
+if (!Arrays.equals(schema, other.schema)) return false;
+if (!Arrays.equals(tenantId, other.tenantId)) return false;
+return true;
+}
+}

http://git-wip-us.apache.org/repos/asf/phoenix/blob/3987c123/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/TableViewFinderResult.java
--
diff --git 

[01/26] phoenix git commit: PHOENIX-4790 Simplify check for client side delete [Forced Update!]

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.14 8f24d1ec1 -> fd9342328 (forced update)


PHOENIX-4790 Simplify check for client side delete


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

Branch: refs/heads/4.x-cdh5.14
Commit: ebfb92be376d19663cab204384513b1e52c18dd9
Parents: a162c74
Author: James Taylor 
Authored: Tue Jun 19 16:33:21 2018 +0200
Committer: James Taylor 
Committed: Wed Jul 11 07:36:58 2018 -0700

--
 .../apache/phoenix/compile/DeleteCompiler.java  | 24 
 1 file changed, 5 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/ebfb92be/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
index 5f9c76c..78b2db9 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
@@ -46,7 +46,6 @@ import org.apache.phoenix.execute.AggregatePlan;
 import org.apache.phoenix.execute.MutationState;
 import org.apache.phoenix.execute.MutationState.MultiRowMutationState;
 import org.apache.phoenix.execute.MutationState.RowMutationState;
-import org.apache.phoenix.filter.SkipScanFilter;
 import org.apache.phoenix.hbase.index.ValueGetter;
 import org.apache.phoenix.hbase.index.covered.update.ColumnReference;
 import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
@@ -481,6 +480,7 @@ public class DeleteCompiler {
 projectedColumns.add(column);
 aliasedNodes.add(FACTORY.aliasedNode(null, FACTORY.column(null, 
'"' + column.getName().getString() + '"', null)));
 }
+boolean noQueryReqd = true;
 // Project all non PK indexed columns so that we can do the proper 
index maintenance
 for (PTable index : table.getIndexes()) {
 IndexMaintainer maintainer = index.getIndexMaintainer(table, 
connection);
@@ -492,6 +492,8 @@ public class DeleteCompiler {
 boolean hasNoColumnFamilies = 
table.getColumnFamilies().isEmpty();
 PColumn column = hasNoColumnFamilies ? 
table.getColumnForColumnName(columnName) : 
table.getColumnFamily(familyName).getPColumnForColumnName(columnName);
 if(!projectedColumns.contains(column)) {
+// We must run a query if any index contains a non pk 
column
+noQueryReqd = false;
 projectedColumns.add(column);
 aliasedNodes.add(FACTORY.aliasedNode(null, 
FACTORY.column(hasNoColumnFamilies ? null : TableName.create(null, familyName), 
'"' + columnName + '"', null)));
 }
@@ -511,7 +513,7 @@ public class DeleteCompiler {
 select = StatementNormalizer.normalize(transformedSelect, 
resolverToBe);
 }
 final boolean hasPreOrPostProcessing = hasPreProcessing || 
hasPostProcessing;
-boolean noQueryReqd = !hasPreOrPostProcessing;
+noQueryReqd &= !hasPreOrPostProcessing;
 // No limit and no sub queries, joins, etc in where clause
 // Can't run on same server for transactional data, as we need the row 
keys for the data
 // that is being upserted for conflict detection purposes.
@@ -550,24 +552,8 @@ public class DeleteCompiler {
 }
 
 runOnServer &= queryPlans.get(0).getTableRef().getTable().getType() != 
PTableType.INDEX;
-
-// We need to have all indexed columns available in all immutable 
indexes in order
-// to generate the delete markers from the query. We also cannot have 
any filters
-// except for our SkipScanFilter for point lookups.
-// A simple check of the non existence of a where clause in the parse 
node is not sufficient, as the where clause
-// may have been optimized out. Instead, we check that there's a 
single SkipScanFilter
-// If we can generate a plan for every index, that means all the 
required columns are available in every index,
-// hence we can drive the delete from any of the plans.
-noQueryReqd &= queryPlans.size() == 1 + clientSideIndexes.size();
-int queryPlanIndex = 0;
-while (noQueryReqd && queryPlanIndex < queryPlans.size()) {
-QueryPlan plan = queryPlans.get(queryPlanIndex++);
-StatementContext context = plan.getContext();
-noQueryReqd &= 

[14/26] phoenix git commit: PHOENIX-3534 Support multi region SYSTEM.CATALOG table (Thomas D'Silva and Rahul Gidwani)

2018-07-29 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/3987c123/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java
--
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java
index 34292ba..fdfd75b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java
@@ -28,172 +28,119 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import java.io.IOException;
+import java.math.BigDecimal;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
+import java.util.Map;
 import java.util.Properties;
 
+import org.apache.curator.shaded.com.google.common.collect.Lists;
+import org.apache.hadoop.hbase.DoNotRetryIOException;
 import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
+import org.apache.hadoop.hbase.client.Mutation;
+import org.apache.hadoop.hbase.client.Scan;
+import org.apache.hadoop.hbase.coprocessor.ObserverContext;
+import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
+import org.apache.hadoop.hbase.coprocessor.SimpleRegionObserver;
+import org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.hadoop.hbase.util.Pair;
 import org.apache.phoenix.compile.QueryPlan;
+import org.apache.phoenix.exception.PhoenixIOException;
 import org.apache.phoenix.exception.SQLExceptionCode;
 import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
+import org.apache.phoenix.jdbc.PhoenixStatement;
 import org.apache.phoenix.query.KeyRange;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.schema.ColumnAlreadyExistsException;
+import org.apache.phoenix.schema.PColumn;
+import org.apache.phoenix.schema.PTable;
+import org.apache.phoenix.schema.PTableType;
 import org.apache.phoenix.schema.ReadOnlyTableException;
 import org.apache.phoenix.schema.TableNotFoundException;
+import org.apache.phoenix.util.MetaDataUtil;
 import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.QueryUtil;
+import org.apache.phoenix.util.ReadOnlyProps;
 import org.apache.phoenix.util.SchemaUtil;
+import org.apache.phoenix.util.TestUtil;
+import org.junit.BeforeClass;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
 
+import com.google.common.base.Predicate;
+import com.google.common.collect.Collections2;
+import com.google.common.collect.Maps;
 
+@RunWith(Parameterized.class)
+public class ViewIT extends SplitSystemCatalogIT {
 
-public class ViewIT extends BaseViewIT {
-   
-public ViewIT(boolean transactional) {
-   super(transactional);
-   }
-
-@Test
-public void testReadOnlyOnReadOnlyView() throws Exception {
-Connection earlierCon = DriverManager.getConnection(getUrl());
-Connection conn = DriverManager.getConnection(getUrl());
-String ddl = "CREATE TABLE " + fullTableName + " (k INTEGER NOT NULL 
PRIMARY KEY, v1 DATE) "+ tableDDLOptions;
-conn.createStatement().execute(ddl);
-String fullParentViewName = "V_" + generateUniqueName();
-ddl = "CREATE VIEW " + fullParentViewName + " (v2 VARCHAR) AS SELECT * 
FROM " + fullTableName + " WHERE k > 5";
-conn.createStatement().execute(ddl);
-try {
-conn.createStatement().execute("UPSERT INTO " + fullParentViewName 
+ " VALUES(1)");
-fail();
-} catch (ReadOnlyTableException e) {
-
-}
-for (int i = 0; i < 10; i++) {
-conn.createStatement().execute("UPSERT INTO " + fullTableName + " 
VALUES(" + i + ")");
-}
-conn.commit();
-
-analyzeTable(conn, fullParentViewName, transactional);
-
-List splits = getAllSplits(conn, fullParentViewName);
-assertEquals(4, splits.size());
-
-int count = 0;
-ResultSet rs = conn.createStatement().executeQuery("SELECT k FROM " + 
fullTableName);
-while (rs.next()) {
-assertEquals(count++, rs.getInt(1));
-}
-assertEquals(10, count);
-
-count = 0;
-rs = conn.createStatement().executeQuery("SELECT k FROM " + 
fullParentViewName);
-while (rs.next()) {
-

[05/26] phoenix git commit: PHOENIX-4790 Addendum to check that query is a point lookup for delete not to run query

2018-07-29 Thread pboado
PHOENIX-4790 Addendum to check that query is a point lookup for delete not to 
run query


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

Branch: refs/heads/4.x-cdh5.14
Commit: 7f4730ed7d433b4d00abd1d28305f4fbbdf1e8f8
Parents: e1f00c2
Author: James Taylor 
Authored: Wed Jul 11 22:01:14 2018 -0700
Committer: James Taylor 
Committed: Wed Jul 11 22:05:49 2018 -0700

--
 .../src/main/java/org/apache/phoenix/compile/DeleteCompiler.java  | 3 +++
 1 file changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/7f4730ed/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
index 78b2db9..a214c24 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
@@ -541,6 +541,9 @@ public class DeleteCompiler {
 Iterator iterator = queryPlans.iterator();
 while (iterator.hasNext()) {
 QueryPlan plan = iterator.next();
+// Must be a point lookup in order to not run a query since
+// we have to have the full key be enumerated.
+noQueryReqd &= plan.getContext().getScanRanges().isPointLookup();
 if (plan.getTableRef().getTable().getIndexType() == 
IndexType.LOCAL) {
 if (!plan.getContext().getDataColumns().isEmpty()) {
 iterator.remove();



[04/26] phoenix git commit: PHOENIX-3383 Comparison between descending row keys used in RVC is reverse

2018-07-29 Thread pboado
PHOENIX-3383 Comparison between descending row keys used in RVC is reverse


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

Branch: refs/heads/4.x-cdh5.14
Commit: e1f00c29833c1db4f48873213151107d50e509c6
Parents: ebfb92b
Author: James Taylor 
Authored: Thu Jul 5 21:38:28 2018 -0700
Committer: James Taylor 
Committed: Wed Jul 11 07:37:03 2018 -0700

--
 .../org/apache/phoenix/end2end/QueryMoreIT.java |   12 +-
 .../org/apache/phoenix/compile/KeyPart.java |2 -
 .../org/apache/phoenix/compile/ScanRanges.java  |   77 +-
 .../apache/phoenix/compile/WhereOptimizer.java  | 1304 +-
 .../PhoenixTxIndexMutationGenerator.java|2 +-
 .../expression/function/FunctionExpression.java |   10 +-
 .../expression/function/InvertFunction.java |   19 +-
 .../expression/function/PrefixFunction.java |6 +-
 .../expression/function/RTrimFunction.java  |6 +-
 .../function/RoundDateExpression.java   |   22 +-
 .../function/RoundDecimalExpression.java|7 +-
 .../phoenix/iterate/BaseResultIterators.java|4 +-
 .../apache/phoenix/iterate/ExplainTable.java|   10 -
 .../java/org/apache/phoenix/query/KeyRange.java |   28 +-
 .../org/apache/phoenix/schema/RowKeySchema.java |   78 ++
 .../phoenix/compile/QueryCompilerTest.java  |2 +-
 .../phoenix/compile/QueryOptimizerTest.java |5 +-
 .../TenantSpecificViewIndexCompileTest.java |8 +-
 .../phoenix/compile/WhereOptimizerTest.java |  359 -
 .../RoundFloorCeilExpressionsTest.java  |   59 +-
 .../apache/phoenix/query/KeyRangeClipTest.java  |2 +-
 .../org/apache/phoenix/query/QueryPlanTest.java |8 +-
 .../apache/phoenix/schema/RowKeySchemaTest.java |   48 +
 23 files changed, 1567 insertions(+), 511 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/e1f00c29/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryMoreIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryMoreIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryMoreIT.java
index 9109c12..04272fa 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryMoreIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryMoreIT.java
@@ -372,9 +372,6 @@ public class QueryMoreIT extends ParallelStatsDisabledIT {
 }
 }
 
-// FIXME: this repros PHOENIX-3382, but turned up two more issues:
-// 1) PHOENIX-3383 Comparison between descending row keys used in RVC is 
reverse
-// 2) PHOENIX-3384 Optimize RVC expressions for non leading row key columns
 @Test
 public void testRVCOnDescWithLeadingPKEquality() throws Exception {
 final Connection conn = DriverManager.getConnection(getUrl());
@@ -398,14 +395,11 @@ public class QueryMoreIT extends ParallelStatsDisabledIT {
 conn.createStatement().execute("UPSERT INTO " + fullTableName + " 
VALUES ('org1',1,'02')");
 conn.commit();
 
-// FIXME: PHOENIX-3383
-// This comparison is really backwards: it should be (score, 
entity_id) < (2, '04'),
-// but because we're matching a descending key, our comparison has to 
be switched.
 try (Statement stmt = conn.createStatement()) {
 final ResultSet rs = stmt.executeQuery("SELECT entity_id, score\n" 
+ 
 "FROM " + fullTableName + "\n" + 
 "WHERE organization_id = 'org1'\n" + 
-"AND (score, entity_id) > (2, '04')\n" + 
+"AND (score, entity_id) < (2, '04')\n" + 
 "ORDER BY score DESC, entity_id DESC\n" + 
 "LIMIT 3");
 assertTrue(rs.next());
@@ -416,13 +410,11 @@ public class QueryMoreIT extends ParallelStatsDisabledIT {
 assertEquals(1.0, rs.getDouble(2), 0.001);
 assertFalse(rs.next());
 }
-// FIXME: PHOENIX-3384
-// It should not be necessary to specify organization_id in this query
 try (Statement stmt = conn.createStatement()) {
 final ResultSet rs = stmt.executeQuery("SELECT entity_id, score\n" 
+ 
 "FROM " + fullTableName + "\n" + 
 "WHERE organization_id = 'org1'\n" + 
-"AND (organization_id, score, entity_id) > ('org1', 2, 
'04')\n" + 
+"AND (organization_id, score, entity_id) < ('org1', 2, 
'04')\n" + 
 "ORDER BY score DESC, entity_id DESC\n" + 
 "LIMIT 3");
 assertTrue(rs.next());


[18/26] phoenix git commit: PHOENIX-4797 file not found or file exist exception when create global index use -snapshot option

2018-07-29 Thread pboado
PHOENIX-4797 file not found or file exist exception when create global index 
use -snapshot option


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

Branch: refs/heads/4.x-cdh5.14
Commit: 283c92b23db2904ce80b86f7e4fcd173bb8f6a54
Parents: 3987c12
Author: 492066199 <492066...@qq.com>
Authored: Fri Jul 6 10:45:38 2018 +0800
Committer: Karan Mehta 
Committed: Tue Jul 24 21:49:53 2018 -0700

--
 .../org/apache/phoenix/iterate/TableSnapshotResultIterator.java  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/283c92b2/phoenix-core/src/main/java/org/apache/phoenix/iterate/TableSnapshotResultIterator.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/iterate/TableSnapshotResultIterator.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/iterate/TableSnapshotResultIterator.java
index df60339..016d3be 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/iterate/TableSnapshotResultIterator.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/iterate/TableSnapshotResultIterator.java
@@ -39,6 +39,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
+import java.util.UUID;
 
 public class TableSnapshotResultIterator implements ResultIterator {
 
@@ -65,7 +66,8 @@ public class TableSnapshotResultIterator implements 
ResultIterator {
 this.scan = scan;
 this.scanMetricsHolder = scanMetricsHolder;
 this.scanIterator = UNINITIALIZED_SCANNER;
-this.restoreDir = new 
Path(configuration.get(PhoenixConfigurationUtil.RESTORE_DIR_KEY));
+this.restoreDir = new 
Path(configuration.get(PhoenixConfigurationUtil.RESTORE_DIR_KEY),
+UUID.randomUUID().toString());
 this.snapshotName = configuration.get(
 PhoenixConfigurationUtil.SNAPSHOT_NAME_KEY);
 this.rootDir = FSUtils.getRootDir(configuration);



[13/26] phoenix git commit: PHOENIX-3534 Support multi region SYSTEM.CATALOG table (Thomas D'Silva and Rahul Gidwani)

2018-07-29 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/3987c123/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java
index e968e99..4433e12 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java
@@ -35,8 +35,6 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Properties;
 
-import jline.internal.Log;
-
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.MetaTableAccessor;
 import org.apache.hadoop.hbase.TableName;
@@ -75,25 +73,27 @@ import org.junit.runners.Parameterized.Parameters;
 
 import com.google.common.primitives.Doubles;
 
+import jline.internal.Log;
+
 @RunWith(Parameterized.class)
 public class MutableIndexIT extends ParallelStatsDisabledIT {
 
 protected final boolean localIndex;
 private final String tableDDLOptions;
-   
+
 public MutableIndexIT(Boolean localIndex, String txProvider, Boolean 
columnEncoded) {
-   this.localIndex = localIndex;
-   StringBuilder optionBuilder = new StringBuilder();
-   if (txProvider != null) {
-   optionBuilder.append("TRANSACTIONAL=true," + 
PhoenixDatabaseMetaData.TRANSACTION_PROVIDER + "='" + txProvider + "'");
-   }
-   if (!columnEncoded) {
+this.localIndex = localIndex;
+StringBuilder optionBuilder = new StringBuilder();
+if (txProvider != null) {
+optionBuilder.append("TRANSACTIONAL=true," + 
PhoenixDatabaseMetaData.TRANSACTION_PROVIDER + "='" + txProvider + "'");
+}
+if (!columnEncoded) {
 if (optionBuilder.length()!=0)
 optionBuilder.append(",");
 optionBuilder.append("COLUMN_ENCODED_BYTES=0");
 }
-   this.tableDDLOptions = optionBuilder.toString();
-   }
+this.tableDDLOptions = optionBuilder.toString();
+}
 
 private static Connection getConnection(Properties props) throws 
SQLException {
 
props.setProperty(QueryServices.INDEX_MUTATE_BATCH_SIZE_THRESHOLD_ATTRIB, 
Integer.toString(1));
@@ -106,7 +106,7 @@ public class MutableIndexIT extends ParallelStatsDisabledIT 
{
 return getConnection(props);
 }
 
-   
@Parameters(name="MutableIndexIT_localIndex={0},transactional={1},columnEncoded={2}")
 // name is used by failsafe as file name in reports
+
@Parameters(name="MutableIndexIT_localIndex={0},transactional={1},columnEncoded={2}")
 // name is used by failsafe as file name in reports
 public static Collection data() {
 return Arrays.asList(new Object[][] { 
 { false, null, false }, { false, null, true },
@@ -121,16 +121,16 @@ public class MutableIndexIT extends 
ParallelStatsDisabledIT {
 @Test
 public void testCoveredColumnUpdates() throws Exception {
 try (Connection conn = getConnection()) {
-   conn.setAutoCommit(false);
-   String tableName = "TBL_" + generateUniqueName();
-   String indexName = "IDX_" + generateUniqueName();
-   String fullTableName = 
SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName);
-   String fullIndexName = 
SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName);
+conn.setAutoCommit(false);
+String tableName = "TBL_" + generateUniqueName();
+String indexName = "IDX_" + generateUniqueName();
+String fullTableName = 
SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName);
+String fullIndexName = 
SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName);
 
-   TestUtil.createMultiCFTestTable(conn, fullTableName, 
tableDDLOptions);
+TestUtil.createMultiCFTestTable(conn, fullTableName, 
tableDDLOptions);
 populateMultiCFTestTable(fullTableName);
 conn.createStatement().execute("CREATE " + (localIndex ? " LOCAL " 
: "") + " INDEX " + indexName + " ON " + fullTableName 
-   + " (char_col1 ASC, int_col1 ASC) INCLUDE (long_col1, 
long_col2)");
++ " (char_col1 ASC, int_col1 ASC) INCLUDE (long_col1, 
long_col2)");
 
 String query = "SELECT char_col1, int_col1, long_col2 from " + 
fullTableName;
 ResultSet rs = conn.createStatement().executeQuery("EXPLAIN " + 
query);
@@ -203,7 +203,7 @@ public class MutableIndexIT extends ParallelStatsDisabledIT 
{
 query = "SELECT b.* from " + fullTableName + " where int_col1 
= 4";
 rs = 

[09/26] phoenix git commit: PHOENIX-3534 Support multi region SYSTEM.CATALOG table (Thomas D'Silva and Rahul Gidwani)

2018-07-29 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/3987c123/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumnImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumnImpl.java 
b/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumnImpl.java
index 45aca98..a267629 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumnImpl.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumnImpl.java
@@ -17,6 +17,7 @@
  */
 package org.apache.phoenix.schema;
 
+import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.util.ByteStringer;
 import org.apache.phoenix.coprocessor.generated.PTableProtos;
 import org.apache.phoenix.query.QueryConstants;
@@ -42,36 +43,63 @@ public class PColumnImpl implements PColumn {
 private boolean isRowTimestamp;
 private boolean isDynamic;
 private byte[] columnQualifierBytes;
-
+private boolean derived;
+private long timestamp;
+
 public PColumnImpl() {
 }
 
-public PColumnImpl(PName name,
-   PName familyName,
-   PDataType dataType,
-   Integer maxLength,
-   Integer scale,
-   boolean nullable,
-   int position,
-   SortOrder sortOrder, Integer arrSize, byte[] 
viewConstant, boolean isViewReferenced, String expressionStr, boolean 
isRowTimestamp, boolean isDynamic, byte[] columnQualifierBytes) {
-init(name, familyName, dataType, maxLength, scale, nullable, position, 
sortOrder, arrSize, viewConstant, isViewReferenced, expressionStr, 
isRowTimestamp, isDynamic, columnQualifierBytes);
+public PColumnImpl(PColumn column, int position) {
+this(column, column.isDerived(), position);
 }
 
-public PColumnImpl(PColumn column, int position) {
+public PColumnImpl(PColumn column, byte[] viewConstant, boolean 
isViewReferenced) {
+this(column.getName(), column.getFamilyName(), column.getDataType(), 
column.getMaxLength(),
+column.getScale(), column.isNullable(), column.getPosition(), 
column.getSortOrder(), column.getArraySize(), viewConstant, isViewReferenced, 
column.getExpressionStr(), column.isRowTimestamp(), column.isDynamic(), 
column.getColumnQualifierBytes(),
+column.getTimestamp(), column.isDerived());
+}
+
+public PColumnImpl(PColumn column, boolean derivedColumn, int position) {
+this(column, derivedColumn, position, column.getViewConstant());
+}
+
+public PColumnImpl(PColumn column, boolean derivedColumn, int position, 
byte[] viewConstant) {
 this(column.getName(), column.getFamilyName(), column.getDataType(), 
column.getMaxLength(),
-column.getScale(), column.isNullable(), position, 
column.getSortOrder(), column.getArraySize(), column.getViewConstant(), 
column.isViewReferenced(), column.getExpressionStr(), column.isRowTimestamp(), 
column.isDynamic(), column.getColumnQualifierBytes());
+column.getScale(), column.isNullable(), position, 
column.getSortOrder(), column.getArraySize(), viewConstant, 
column.isViewReferenced(), column.getExpressionStr(), column.isRowTimestamp(), 
column.isDynamic(), column.getColumnQualifierBytes(),
+column.getTimestamp(), derivedColumn);
+}
+
+public PColumnImpl(PName name, PName familyName, PDataType dataType, 
Integer maxLength, Integer scale, boolean nullable,
+int position, SortOrder sortOrder, Integer arrSize, byte[] 
viewConstant, boolean isViewReferenced, String expressionStr, boolean 
isRowTimestamp, boolean isDynamic,
+byte[] columnQualifierBytes, long timestamp) {
+this(name, familyName, dataType, maxLength, scale, nullable, position, 
sortOrder, arrSize, viewConstant, isViewReferenced, expressionStr, 
isRowTimestamp, isDynamic, columnQualifierBytes, timestamp, false);
+}
+
+public PColumnImpl(PName name, PName familyName, PDataType dataType, 
Integer maxLength, Integer scale, boolean nullable,
+int position, SortOrder sortOrder, Integer arrSize, byte[] 
viewConstant, boolean isViewReferenced, String expressionStr, boolean 
isRowTimestamp, boolean isDynamic,
+byte[] columnQualifierBytes, long timestamp, boolean derived) {
+init(name, familyName, dataType, maxLength, scale, nullable, position, 
sortOrder, arrSize, viewConstant, isViewReferenced, expressionStr, 
isRowTimestamp, isDynamic, columnQualifierBytes, timestamp, derived);
+}
+
+private PColumnImpl(PName familyName, PName columnName, Long timestamp) {
+this.familyName = familyName;
+this.name = columnName;
+this.derived = true;
+if (timestamp!=null) {
+this.timestamp = timestamp;
+}
 }
 
-private void init(PName name,
-PName familyName,
-PDataType 

[02/26] phoenix git commit: PHOENIX-3383 Comparison between descending row keys used in RVC is reverse

2018-07-29 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/e1f00c29/phoenix-core/src/main/java/org/apache/phoenix/execute/PhoenixTxIndexMutationGenerator.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/execute/PhoenixTxIndexMutationGenerator.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/execute/PhoenixTxIndexMutationGenerator.java
index a7b5687..877c939 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/execute/PhoenixTxIndexMutationGenerator.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/execute/PhoenixTxIndexMutationGenerator.java
@@ -177,7 +177,7 @@ public class PhoenixTxIndexMutationGenerator {
 
 // Project empty key value column
 scan.addColumn(indexMaintainers.get(0).getDataEmptyKeyValueCF(), 
emptyKeyValueQualifier);
-ScanRanges scanRanges = 
ScanRanges.create(SchemaUtil.VAR_BINARY_SCHEMA, 
Collections.singletonList(keys), ScanUtil.SINGLE_COLUMN_SLOT_SPAN, 
KeyRange.EVERYTHING_RANGE, null, true, -1);
+ScanRanges scanRanges = 
ScanRanges.create(SchemaUtil.VAR_BINARY_SCHEMA, 
Collections.singletonList(keys), ScanUtil.SINGLE_COLUMN_SLOT_SPAN, null, true, 
-1);
 scanRanges.initializeScan(scan);
 Table txTable = 
indexMetaData.getTransactionContext().getTransactionalTable(htable, 
isImmutable);
 // For rollback, we need to see all versions, including

http://git-wip-us.apache.org/repos/asf/phoenix/blob/e1f00c29/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FunctionExpression.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FunctionExpression.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FunctionExpression.java
index b45706a..bc9fa9f 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FunctionExpression.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FunctionExpression.java
@@ -30,7 +30,15 @@ import org.apache.phoenix.expression.Expression;
  * @since 0.1
  */
 public abstract class FunctionExpression extends BaseCompoundExpression {
-public enum OrderPreserving {NO, YES_IF_LAST, YES};
+public enum OrderPreserving {NO, YES_IF_LAST, YES;
+
+public OrderPreserving combine(OrderPreserving that) {
+if (that == null) {
+return this;
+}
+return OrderPreserving.values()[Math.min(this.ordinal(), 
that.ordinal())];
+}};
+
 public FunctionExpression() {
 }
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/e1f00c29/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InvertFunction.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InvertFunction.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InvertFunction.java
index 3615cbe..8ef5914 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InvertFunction.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InvertFunction.java
@@ -96,7 +96,24 @@ public class InvertFunction extends ScalarFunction {
 @Override
 public KeyRange getKeyRange(CompareOp op, Expression rhs) {
 KeyRange range = childPart.getKeyRange(op, rhs);
-return range.invert();
+byte[] lower = range.getLowerRange();
+if (!range.lowerUnbound()) {
+lower = SortOrder.invert(lower, 0, lower.length);
+}
+byte[] upper;
+if (range.isSingleKey()) {
+upper = lower;
+} else {
+upper = range.getUpperRange();
+if (!range.upperUnbound()) {
+upper = SortOrder.invert(upper, 0, upper.length);
+}
+}
+range = KeyRange.getKeyRange(lower, range.isLowerInclusive(), 
upper, range.isUpperInclusive());
+if (getColumn().getSortOrder() == SortOrder.DESC) {
+range = range.invert();
+}
+return range;
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/phoenix/blob/e1f00c29/phoenix-core/src/main/java/org/apache/phoenix/expression/function/PrefixFunction.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/PrefixFunction.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/PrefixFunction.java
index cb98e28..ff3e74d 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/PrefixFunction.java
+++ 

[25/26] phoenix git commit: Revert "PHOENIX-4805 Move Avatica version to 1.12 for PQS"

2018-07-29 Thread pboado
Revert "PHOENIX-4805 Move Avatica version to 1.12 for PQS"


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

Branch: refs/heads/4.x-cdh5.14
Commit: 0901175ceeb09410f85e2b5ca248be49cdfda10c
Parents: 2a0b56a
Author: Pedro Boado 
Authored: Sun Jul 29 10:13:25 2018 +0100
Committer: Pedro Boado 
Committed: Sun Jul 29 10:13:25 2018 +0100

--
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0901175c/pom.xml
--
diff --git a/pom.xml b/pom.xml
index d7d965b..0c3836d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -141,7 +141,7 @@
 
 1.6
 2.1.2
-1.12.0
+1.10.0
 8.1.7.v20120910
 0.14.0-incubating
 ${cdh.spark.version}



[08/26] phoenix git commit: PHOENIX-3534 Support multi region SYSTEM.CATALOG table (Thomas D'Silva and Rahul Gidwani)

2018-07-29 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/3987c123/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java 
b/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java
index b127408..9d5583b 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java
@@ -82,12 +82,12 @@ import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Delete;
 import org.apache.hadoop.hbase.client.Get;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
-import org.apache.hadoop.hbase.client.HTableInterface;
 import org.apache.hadoop.hbase.client.Mutation;
 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.io.ImmutableBytesWritable;
 import org.apache.hadoop.hbase.regionserver.LocalIndexSplitter;
 import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;
@@ -96,6 +96,9 @@ import org.apache.phoenix.coprocessor.MetaDataEndpointImpl;
 import org.apache.phoenix.coprocessor.MetaDataProtocol;
 import org.apache.phoenix.coprocessor.MetaDataProtocol.MetaDataMutationResult;
 import org.apache.phoenix.coprocessor.MetaDataProtocol.MutationCode;
+import org.apache.phoenix.coprocessor.TableInfo;
+import org.apache.phoenix.coprocessor.TableViewFinderResult;
+import org.apache.phoenix.coprocessor.ViewFinder;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
 import org.apache.phoenix.query.QueryConstants;
@@ -175,11 +178,6 @@ public class UpgradeUtil {
 private static final String DELETE_LINK = "DELETE FROM " + 
SYSTEM_CATALOG_SCHEMA + "." + SYSTEM_CATALOG_TABLE
 + " WHERE (" + TABLE_SCHEM + "=? OR (" + TABLE_SCHEM + " IS NULL 
AND ? IS NULL)) AND " + TABLE_NAME + "=? AND " + COLUMN_FAMILY + "=? AND " + 
LINK_TYPE + " = " + LinkType.PHYSICAL_TABLE.getSerializedValue();
 
-private static final String GET_VIEWS_QUERY = "SELECT " + TENANT_ID + "," 
+ TABLE_SCHEM + "," + TABLE_NAME
-+ " FROM " + SYSTEM_CATALOG_SCHEMA + "." + SYSTEM_CATALOG_TABLE + 
" WHERE " + COLUMN_FAMILY + " = ? AND "
-+ LINK_TYPE + " = " + LinkType.PHYSICAL_TABLE.getSerializedValue() 
+ " AND ( " + TABLE_TYPE + "=" + "'"
-+ PTableType.VIEW.getSerializedValue() + "' OR " + TABLE_TYPE + " 
IS NULL) ORDER BY "+TENANT_ID;
-
 private UpgradeUtil() {
 }
 
@@ -225,8 +223,8 @@ public class UpgradeUtil {
 scan.setRaw(true);
 scan.setMaxVersions();
 ResultScanner scanner = null;
-HTableInterface source = null;
-HTableInterface target = null;
+Table source = null;
+Table target = null;
 try {
 source = conn.getQueryServices().getTable(sourceName);
 target = conn.getQueryServices().getTable(targetName);
@@ -646,7 +644,7 @@ public class UpgradeUtil {
 logger.info("Upgrading SYSTEM.SEQUENCE table");
 
 byte[] seqTableKey = SchemaUtil.getTableKey(null, 
PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_SCHEMA, 
PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_TABLE);
-HTableInterface sysTable = 
conn.getQueryServices().getTable(PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES);
+Table sysTable = 
conn.getQueryServices().getTable(PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES);
 try {
 logger.info("Setting SALT_BUCKETS property of SYSTEM.SEQUENCE to " 
+ SaltingUtil.MAX_BUCKET_NUM);
 KeyValue saltKV = KeyValueUtil.newKeyValue(seqTableKey, 
@@ -699,7 +697,7 @@ public class UpgradeUtil {
 Scan scan = new Scan();
 scan.setRaw(true);
 scan.setMaxVersions();
-HTableInterface seqTable = 
conn.getQueryServices().getTable(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_NAME_BYTES);
+Table seqTable = 
conn.getQueryServices().getTable(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_NAME_BYTES);
 try {
 boolean committed = false;
 logger.info("Adding salt byte to all SYSTEM.SEQUENCE 
rows");
@@ -1149,6 +1147,78 @@ public class UpgradeUtil {
 }
 }
 
+/**
+ * Move child links form SYSTEM.CATALOG to SYSTEM.CHILD_LINK
+ * @param oldMetaConnection caller should take care of closing the passed 
connection appropriately
+ * @throws SQLException
+ */
+public static void moveChildLinks(PhoenixConnection oldMetaConnection) 
throws SQLException {
+PhoenixConnection metaConnection = null;
+try {
+// Need to use own connection with max time stamp to be 

[26/26] phoenix git commit: Changes for CDH 5.14.x

2018-07-29 Thread pboado
Changes for CDH 5.14.x


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

Branch: refs/heads/4.x-cdh5.14
Commit: fd93423285f3709487e838d5a6e20036ecabdb72
Parents: 0901175
Author: Pedro Boado 
Authored: Sat Mar 10 17:54:04 2018 +
Committer: Pedro Boado 
Committed: Sun Jul 29 10:27:16 2018 +0100

--
 phoenix-assembly/pom.xml|  2 +-
 phoenix-client/pom.xml  |  2 +-
 phoenix-core/pom.xml|  2 +-
 .../hadoop/hbase/ipc/PhoenixRpcScheduler.java   | 34 ++--
 phoenix-flume/pom.xml   |  2 +-
 phoenix-hive/pom.xml|  2 +-
 phoenix-kafka/pom.xml   |  2 +-
 phoenix-load-balancer/pom.xml   |  2 +-
 phoenix-parcel/pom.xml  |  2 +-
 phoenix-pherf/pom.xml   |  2 +-
 phoenix-pig/pom.xml |  2 +-
 phoenix-queryserver-client/pom.xml  |  2 +-
 phoenix-queryserver/pom.xml |  2 +-
 phoenix-server/pom.xml  |  2 +-
 phoenix-spark/pom.xml   |  2 +-
 phoenix-tracing-webapp/pom.xml  |  2 +-
 pom.xml |  4 +--
 17 files changed, 49 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/fd934232/phoenix-assembly/pom.xml
--
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 7d98c25..e28d9f7 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.14.2
   
   phoenix-assembly
   Phoenix Assembly

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fd934232/phoenix-client/pom.xml
--
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index fe5836b..9d0dee1 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.14.2
   
   phoenix-client
   Phoenix Client

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fd934232/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 8b09c67..ab4c891 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.14.2
   
   phoenix-core
   Phoenix Core

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fd934232/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
--
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 4fdddf5..d1f05f8 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
@@ -124,6 +124,36 @@ public class PhoenixRpcScheduler extends RpcScheduler {
 public void setMetadataExecutorForTesting(RpcExecutor executor) {
 this.metadataCallExecutor = executor;
 }
-
-
+
+@Override
+public int getReadQueueLength() {
+return delegate.getReadQueueLength();
+}
+
+@Override
+public int getWriteQueueLength() {
+return delegate.getWriteQueueLength();
+}
+
+@Override
+public int getScanQueueLength() {
+return delegate.getScanQueueLength();
+}
+
+@Override
+public int getActiveReadRpcHandlerCount() {
+return delegate.getActiveReadRpcHandlerCount();
+}
+
+@Override
+public int getActiveWriteRpcHandlerCount() {
+return delegate.getActiveWriteRpcHandlerCount();
+}
+
+@Override
+public int getActiveScanRpcHandlerCount() {
+return delegate.getActiveScanRpcHandlerCount();
+}
+
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fd934232/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index e400589..d1e1363 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 +26,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.14.2
   
   

[21/26] phoenix git commit: PHOENIX-4809 Only cache PhoenixConnections when lease renewal is on

2018-07-29 Thread pboado
PHOENIX-4809 Only cache PhoenixConnections when lease renewal is on

Lease renewal is the only mechanism under which connections are removed
from the connectionQueue. Calling close() on a connection doesn't proactively
remove it from the instance of ConnectionQueryServicesImpl.


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

Branch: refs/heads/4.x-cdh5.14
Commit: d7d67757d626759fd65efd75da3a1498a1be4f3c
Parents: 205fe11
Author: Josh Elser 
Authored: Wed Jul 11 22:02:46 2018 +0100
Committer: Pedro Boado 
Committed: Sun Jul 29 10:04:05 2018 +0100

--
 .../phoenix/query/ConnectionCachingIT.java  | 87 
 .../query/ConnectionQueryServicesImpl.java  | 11 ++-
 2 files changed, 97 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/d7d67757/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
new file mode 100644
index 000..b2ef052
--- /dev/null
+++ b/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
@@ -0,0 +1,87 @@
+package org.apache.phoenix.query;
+
+import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
+import static org.junit.Assert.assertTrue;
+
+import java.lang.ref.WeakReference;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.util.Arrays;
+import java.util.Properties;
+import java.util.concurrent.LinkedBlockingQueue;
+
+import org.apache.phoenix.end2end.ParallelStatsEnabledIT;
+import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.query.ConnectionQueryServices;
+import org.apache.phoenix.query.ConnectionQueryServicesImpl;
+import org.apache.phoenix.query.DelegateConnectionQueryServices;
+import org.apache.phoenix.query.QueryServicesOptions;
+import org.apache.phoenix.util.PhoenixRuntime;
+import org.apache.phoenix.util.PropertiesUtil;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@RunWith(Parameterized.class)
+public class ConnectionCachingIT extends ParallelStatsEnabledIT {
+  private static final Logger LOG = 
LoggerFactory.getLogger(ConnectionCachingIT.class);
+
+  @Parameters(name= "phoenix.scanner.lease.renew.enabled={0}")
+  public static Iterable data() {
+return Arrays.asList("true", "false");
+  }
+
+  private String leaseRenewal;
+
+  public ConnectionCachingIT(String leaseRenewalValue) {
+this.leaseRenewal = leaseRenewalValue;
+  }
+
+  @Test
+  public void test() throws Exception {
+Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
+props.put("phoenix.scanner.lease.renew.enabled", leaseRenewal);
+
+// The test driver works correctly, the real one doesn't.
+String url = getUrl();
+url = url.replace(";" + PhoenixRuntime.PHOENIX_TEST_DRIVER_URL_PARAM, "");
+LOG.info("URL to use is: {}", url);
+
+Connection conn = DriverManager.getConnection(url, props);
+long before = getNumCachedConnections(conn);
+for (int i = 0; i < 10_000; i++) {
+  Connection c = DriverManager.getConnection(url, props);
+  c.close();
+}
+
Thread.sleep(QueryServicesOptions.DEFAULT_RUN_RENEW_LEASE_FREQUENCY_INTERVAL_MILLISECONDS
 / 2);
+long after = getNumCachedConnections(conn);
+for (int i = 0; i < 6; i++) {
+  LOG.info("Found {} connections cached", after);
+  if (after <= before) {
+break;
+  }
+  
Thread.sleep(QueryServicesOptions.DEFAULT_RUN_RENEW_LEASE_FREQUENCY_INTERVAL_MILLISECONDS
 / 2);
+  after = getNumCachedConnections(conn);
+}
+assertTrue("Saw " + before + " connections, but ended with " + after, 
after <= before);
+  }
+
+  long getNumCachedConnections(Connection conn) throws Exception {
+PhoenixConnection pConn = conn.unwrap(PhoenixConnection.class);
+ConnectionQueryServices cqs = pConn.getQueryServices();
+// For whatever reason, we sometimes get a delegate here, and sometimes 
the real thing.
+if (cqs instanceof DelegateConnectionQueryServices) {
+  cqs = ((DelegateConnectionQueryServices) cqs).getDelegate();
+}
+assertTrue("ConnectionQueryServices was a " + cqs.getClass(), cqs 
instanceof ConnectionQueryServicesImpl);
+ConnectionQueryServicesImpl cqsi = (ConnectionQueryServicesImpl) cqs;
+long cachedConnections = 0L;
+for 

[06/26] phoenix git commit: Revert "PHOENIX-4790 Addendum to check that query is a point lookup for delete not to run query"

2018-07-29 Thread pboado
Revert "PHOENIX-4790 Addendum to check that query is a point lookup for delete 
not to run query"

This reverts commit 7f4730ed7d433b4d00abd1d28305f4fbbdf1e8f8.


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

Branch: refs/heads/4.x-cdh5.14
Commit: 480cb201df16f8b144167e9fbd1f5f142182875e
Parents: 7f4730e
Author: James Taylor 
Authored: Thu Jul 12 20:04:45 2018 -0700
Committer: James Taylor 
Committed: Thu Jul 12 20:04:45 2018 -0700

--
 .../src/main/java/org/apache/phoenix/compile/DeleteCompiler.java  | 3 ---
 1 file changed, 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/480cb201/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
index a214c24..78b2db9 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
@@ -541,9 +541,6 @@ public class DeleteCompiler {
 Iterator iterator = queryPlans.iterator();
 while (iterator.hasNext()) {
 QueryPlan plan = iterator.next();
-// Must be a point lookup in order to not run a query since
-// we have to have the full key be enumerated.
-noQueryReqd &= plan.getContext().getScanRanges().isPointLookup();
 if (plan.getTableRef().getTable().getIndexType() == 
IndexType.LOCAL) {
 if (!plan.getContext().getDataColumns().isEmpty()) {
 iterator.remove();



[phoenix] Git Push Summary

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.13 [deleted] 81cb7dedf


[phoenix] Git Push Summary

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.12 [deleted] f38e1233f


[phoenix] Git Push Summary

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.11 [deleted] 0901175ce


phoenix git commit: Changes for CDH 5.14.x

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.14-cdh5.14 [created] fd9342328


Changes for CDH 5.14.x


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

Branch: refs/heads/4.14-cdh5.14
Commit: fd93423285f3709487e838d5a6e20036ecabdb72
Parents: 0901175
Author: Pedro Boado 
Authored: Sat Mar 10 17:54:04 2018 +
Committer: Pedro Boado 
Committed: Sun Jul 29 10:27:16 2018 +0100

--
 phoenix-assembly/pom.xml|  2 +-
 phoenix-client/pom.xml  |  2 +-
 phoenix-core/pom.xml|  2 +-
 .../hadoop/hbase/ipc/PhoenixRpcScheduler.java   | 34 ++--
 phoenix-flume/pom.xml   |  2 +-
 phoenix-hive/pom.xml|  2 +-
 phoenix-kafka/pom.xml   |  2 +-
 phoenix-load-balancer/pom.xml   |  2 +-
 phoenix-parcel/pom.xml  |  2 +-
 phoenix-pherf/pom.xml   |  2 +-
 phoenix-pig/pom.xml |  2 +-
 phoenix-queryserver-client/pom.xml  |  2 +-
 phoenix-queryserver/pom.xml |  2 +-
 phoenix-server/pom.xml  |  2 +-
 phoenix-spark/pom.xml   |  2 +-
 phoenix-tracing-webapp/pom.xml  |  2 +-
 pom.xml |  4 +--
 17 files changed, 49 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/fd934232/phoenix-assembly/pom.xml
--
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 7d98c25..e28d9f7 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.14.2
   
   phoenix-assembly
   Phoenix Assembly

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fd934232/phoenix-client/pom.xml
--
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index fe5836b..9d0dee1 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.14.2
   
   phoenix-client
   Phoenix Client

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fd934232/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 8b09c67..ab4c891 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.14.2
   
   phoenix-core
   Phoenix Core

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fd934232/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
--
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 4fdddf5..d1f05f8 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
@@ -124,6 +124,36 @@ public class PhoenixRpcScheduler extends RpcScheduler {
 public void setMetadataExecutorForTesting(RpcExecutor executor) {
 this.metadataCallExecutor = executor;
 }
-
-
+
+@Override
+public int getReadQueueLength() {
+return delegate.getReadQueueLength();
+}
+
+@Override
+public int getWriteQueueLength() {
+return delegate.getWriteQueueLength();
+}
+
+@Override
+public int getScanQueueLength() {
+return delegate.getScanQueueLength();
+}
+
+@Override
+public int getActiveReadRpcHandlerCount() {
+return delegate.getActiveReadRpcHandlerCount();
+}
+
+@Override
+public int getActiveWriteRpcHandlerCount() {
+return delegate.getActiveWriteRpcHandlerCount();
+}
+
+@Override
+public int getActiveScanRpcHandlerCount() {
+return delegate.getActiveScanRpcHandlerCount();
+}
+
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fd934232/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index e400589..d1e1363 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 +26,7 @@
   
 

phoenix git commit: Changes for CDH 5.13.x

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.14-cdh5.13 [created] b8127085d


Changes for CDH 5.13.x


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

Branch: refs/heads/4.14-cdh5.13
Commit: b8127085d14a1af2177d2895aa5ebbcfd6da4349
Parents: 0901175
Author: Pedro Boado 
Authored: Sat Mar 10 17:54:04 2018 +
Committer: Pedro Boado 
Committed: Sun Jul 29 10:26:29 2018 +0100

--
 phoenix-assembly/pom.xml|  2 +-
 phoenix-client/pom.xml  |  2 +-
 phoenix-core/pom.xml|  2 +-
 .../hadoop/hbase/ipc/PhoenixRpcScheduler.java   | 34 ++--
 phoenix-flume/pom.xml   |  2 +-
 phoenix-hive/pom.xml|  2 +-
 phoenix-kafka/pom.xml   |  2 +-
 phoenix-load-balancer/pom.xml   |  2 +-
 phoenix-parcel/pom.xml  |  2 +-
 phoenix-pherf/pom.xml   |  2 +-
 phoenix-pig/pom.xml |  2 +-
 phoenix-queryserver-client/pom.xml  |  2 +-
 phoenix-queryserver/pom.xml |  2 +-
 phoenix-server/pom.xml  |  2 +-
 phoenix-spark/pom.xml   |  2 +-
 phoenix-tracing-webapp/pom.xml  |  2 +-
 pom.xml |  4 +--
 17 files changed, 49 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/b8127085/phoenix-assembly/pom.xml
--
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 7d98c25..560c1c0 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.13.2
   
   phoenix-assembly
   Phoenix Assembly

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b8127085/phoenix-client/pom.xml
--
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index fe5836b..6ed997e 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.13.2
   
   phoenix-client
   Phoenix Client

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b8127085/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 8b09c67..753b5a9 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.13.2
   
   phoenix-core
   Phoenix Core

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b8127085/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
--
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 4fdddf5..d1f05f8 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
@@ -124,6 +124,36 @@ public class PhoenixRpcScheduler extends RpcScheduler {
 public void setMetadataExecutorForTesting(RpcExecutor executor) {
 this.metadataCallExecutor = executor;
 }
-
-
+
+@Override
+public int getReadQueueLength() {
+return delegate.getReadQueueLength();
+}
+
+@Override
+public int getWriteQueueLength() {
+return delegate.getWriteQueueLength();
+}
+
+@Override
+public int getScanQueueLength() {
+return delegate.getScanQueueLength();
+}
+
+@Override
+public int getActiveReadRpcHandlerCount() {
+return delegate.getActiveReadRpcHandlerCount();
+}
+
+@Override
+public int getActiveWriteRpcHandlerCount() {
+return delegate.getActiveWriteRpcHandlerCount();
+}
+
+@Override
+public int getActiveScanRpcHandlerCount() {
+return delegate.getActiveScanRpcHandlerCount();
+}
+
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b8127085/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index e400589..1f2e8c4 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 +26,7 @@
   
 

phoenix git commit: Changes for CDH 5.12.x

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.14-cdh5.12 [created] 5356476ae


Changes for CDH 5.12.x


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

Branch: refs/heads/4.14-cdh5.12
Commit: 5356476ae74c77e96fbb20144d95f94cb02e2b07
Parents: 0901175
Author: Pedro Boado 
Authored: Sat Mar 10 17:54:04 2018 +
Committer: Pedro Boado 
Committed: Sun Jul 29 10:25:28 2018 +0100

--
 phoenix-assembly/pom.xml|  2 +-
 phoenix-client/pom.xml  |  2 +-
 phoenix-core/pom.xml|  2 +-
 .../hadoop/hbase/ipc/PhoenixRpcScheduler.java   | 34 ++--
 phoenix-flume/pom.xml   |  2 +-
 phoenix-hive/pom.xml|  2 +-
 phoenix-kafka/pom.xml   |  2 +-
 phoenix-load-balancer/pom.xml   |  2 +-
 phoenix-parcel/pom.xml  |  2 +-
 phoenix-pherf/pom.xml   |  2 +-
 phoenix-pig/pom.xml |  2 +-
 phoenix-queryserver-client/pom.xml  |  2 +-
 phoenix-queryserver/pom.xml |  2 +-
 phoenix-server/pom.xml  |  2 +-
 phoenix-spark/pom.xml   |  2 +-
 phoenix-tracing-webapp/pom.xml  |  2 +-
 pom.xml |  4 +--
 17 files changed, 49 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/5356476a/phoenix-assembly/pom.xml
--
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 7d98c25..47b593f 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.12.2
   
   phoenix-assembly
   Phoenix Assembly

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5356476a/phoenix-client/pom.xml
--
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index fe5836b..5736f9b 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.12.2
   
   phoenix-client
   Phoenix Client

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5356476a/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 8b09c67..ad429bf 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2
+4.14.0-cdh5.12.2
   
   phoenix-core
   Phoenix Core

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5356476a/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
--
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 4fdddf5..d1f05f8 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
@@ -124,6 +124,36 @@ public class PhoenixRpcScheduler extends RpcScheduler {
 public void setMetadataExecutorForTesting(RpcExecutor executor) {
 this.metadataCallExecutor = executor;
 }
-
-
+
+@Override
+public int getReadQueueLength() {
+return delegate.getReadQueueLength();
+}
+
+@Override
+public int getWriteQueueLength() {
+return delegate.getWriteQueueLength();
+}
+
+@Override
+public int getScanQueueLength() {
+return delegate.getScanQueueLength();
+}
+
+@Override
+public int getActiveReadRpcHandlerCount() {
+return delegate.getActiveReadRpcHandlerCount();
+}
+
+@Override
+public int getActiveWriteRpcHandlerCount() {
+return delegate.getActiveWriteRpcHandlerCount();
+}
+
+@Override
+public int getActiveScanRpcHandlerCount() {
+return delegate.getActiveScanRpcHandlerCount();
+}
+
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5356476a/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index e400589..bb2654c 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 +26,7 @@
   
 

[phoenix] Git Push Summary

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.14-cdh5.11 [created] 0901175ce


phoenix git commit: Revert "PHOENIX-4805 Move Avatica version to 1.12 for PQS"

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.11 2a0b56a46 -> 0901175ce


Revert "PHOENIX-4805 Move Avatica version to 1.12 for PQS"


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

Branch: refs/heads/4.x-cdh5.11
Commit: 0901175ceeb09410f85e2b5ca248be49cdfda10c
Parents: 2a0b56a
Author: Pedro Boado 
Authored: Sun Jul 29 10:13:25 2018 +0100
Committer: Pedro Boado 
Committed: Sun Jul 29 10:13:25 2018 +0100

--
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0901175c/pom.xml
--
diff --git a/pom.xml b/pom.xml
index d7d965b..0c3836d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -141,7 +141,7 @@
 
 1.6
 2.1.2
-1.12.0
+1.10.0
 8.1.7.v20120910
 0.14.0-incubating
 ${cdh.spark.version}



Build failed in Jenkins: Phoenix Compile Compatibility with HBase #711

2018-07-29 Thread Apache Jenkins Server
See 


--
Started by timer
[EnvInject] - Loading node environment variables.
Building remotely on H25 (ubuntu xenial) in workspace 

[Phoenix_Compile_Compat_wHBase] $ /bin/bash /tmp/jenkins7237264784402952588.sh
core file size  (blocks, -c) 0
data seg size   (kbytes, -d) unlimited
scheduling priority (-e) 0
file size   (blocks, -f) unlimited
pending signals (-i) 386413
max locked memory   (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files  (-n) 6
pipe size(512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority  (-r) 0
stack size  (kbytes, -s) 8192
cpu time   (seconds, -t) unlimited
max user processes  (-u) 10240
virtual memory  (kbytes, -v) unlimited
file locks  (-x) unlimited
core id : 0
core id : 1
core id : 2
core id : 3
core id : 4
core id : 5
physical id : 0
physical id : 1
MemTotal:   98957736 kB
MemFree:51797632 kB
Filesystem  Size  Used Avail Use% Mounted on
udev 48G 0   48G   0% /dev
tmpfs   9.5G   82M  9.4G   1% /run
/dev/sda1   364G  294G   53G  85% /
tmpfs48G 0   48G   0% /dev/shm
tmpfs   5.0M 0  5.0M   0% /run/lock
tmpfs48G 0   48G   0% /sys/fs/cgroup
tmpfs   9.5G 0  9.5G   0% /run/user/910
apache-maven-2.2.1
apache-maven-3.0.4
apache-maven-3.0.5
apache-maven-3.2.1
apache-maven-3.2.5
apache-maven-3.3.3
apache-maven-3.3.9
apache-maven-3.5.0
apache-maven-3.5.2
apache-maven-3.5.4
latest
latest2
latest3


===
Verifying compile level compatibility with HBase 0.98 with Phoenix 
4.x-HBase-0.98
===

Cloning into 'hbase'...
Switched to a new branch '0.98'
Branch 0.98 set up to track remote branch 0.98 from origin.
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] Unresolveable build extension: Plugin 
org.apache.felix:maven-bundle-plugin:2.5.3 or one of its dependencies could not 
be resolved: The following artifacts could not be resolved: 
org.apache.maven:maven-core:jar:2.0.7, 
org.apache.maven:maven-settings:jar:2.0.7, 
org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.7, 
org.apache.maven:maven-profile:jar:2.0.7, 
org.apache.maven:maven-model:jar:2.0.7, 
org.apache.maven:maven-artifact:jar:2.0.7, 
org.apache.maven:maven-repository-metadata:jar:2.0.7, 
org.apache.maven:maven-error-diagnostics:jar:2.0.7, 
org.apache.maven:maven-project:jar:2.0.7, 
org.apache.maven:maven-plugin-registry:jar:2.0.7, 
org.apache.maven:maven-plugin-api:jar:2.0.7, 
org.apache.maven:maven-plugin-descriptor:jar:2.0.7, 
org.apache.maven:maven-artifact-manager:jar:2.0.7, 
org.apache.maven:maven-monitor:jar:2.0.7: Could not transfer artifact 
org.apache.maven:maven-core:jar:2.0.7 from/to central 
(https://repo.maven.apache.org/maven2): Received fatal alert: protocol_version 
@ 
 @ 
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project org.apache.hbase:hbase:0.98.25-SNAPSHOT 
(
 has 1 error
[ERROR] Unresolveable build extension: Plugin 
org.apache.felix:maven-bundle-plugin:2.5.3 or one of its dependencies could not 
be resolved: The following artifacts could not be resolved: 
org.apache.maven:maven-core:jar:2.0.7, 
org.apache.maven:maven-settings:jar:2.0.7, 
org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.7, 
org.apache.maven:maven-profile:jar:2.0.7, 
org.apache.maven:maven-model:jar:2.0.7, 
org.apache.maven:maven-artifact:jar:2.0.7, 
org.apache.maven:maven-repository-metadata:jar:2.0.7, 
org.apache.maven:maven-error-diagnostics:jar:2.0.7, 
org.apache.maven:maven-project:jar:2.0.7, 
org.apache.maven:maven-plugin-registry:jar:2.0.7, 
org.apache.maven:maven-plugin-api:jar:2.0.7, 
org.apache.maven:maven-plugin-descriptor:jar:2.0.7, 
org.apache.maven:maven-artifact-manager:jar:2.0.7, 
org.apache.maven:maven-monitor:jar:2.0.7: Could not transfer artifact 
org.apache.maven:maven-core:jar:2.0.7 from/to central 
(https://repo.maven.apache.org/maven2): Received fatal alert: protocol_version 
-> [Help 2]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please 
read the following articles:
[ERROR] [Help 1] 

[3/5] phoenix git commit: PHOENIX-4818 Fix RAT check for missing licenses

2018-07-29 Thread pboado
PHOENIX-4818 Fix RAT check for missing licenses


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

Branch: refs/heads/4.x-cdh5.11
Commit: 4c2d6c957dd791b20771ce51fd948db78de47d1a
Parents: d7d6775
Author: Vincent Poon 
Authored: Sun Jul 22 22:19:15 2018 +0100
Committer: Pedro Boado 
Committed: Sun Jul 29 10:05:09 2018 +0100

--
 .../phoenix/end2end/SplitSystemCatalogTests.java   | 17 +
 .../end2end/StatsEnabledSplitSystemCatalogIT.java  | 17 +
 .../apache/phoenix/query/ConnectionCachingIT.java  | 17 +
 .../schema/ParentTableNotFoundException.java   | 17 +
 4 files changed, 68 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/4c2d6c95/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
index 27fc5c6..67d3fd3 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogTests.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.phoenix.end2end;
 
 import java.lang.annotation.ElementType;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/4c2d6c95/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
index e25415a..197263f 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.phoenix.end2end;
 
 import static org.apache.phoenix.util.TestUtil.analyzeTable;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/4c2d6c95/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
index b2ef052..d1dda04 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, 

[5/5] phoenix git commit: PHOENIX-3991 ROW_TIMESTAMP on TIMESTAMP column type throws ArrayOutOfBound when upserting without providing a value.

2018-07-29 Thread pboado
PHOENIX-3991 ROW_TIMESTAMP on TIMESTAMP column type throws ArrayOutOfBound when 
upserting without providing a value.


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

Branch: refs/heads/4.x-cdh5.11
Commit: 2a0b56a4667c6476e14c8b419d8d49011afb2612
Parents: 09ceb39
Author: Sergey Soldatov 
Authored: Wed Jul 25 20:48:03 2018 +0100
Committer: Pedro Boado 
Committed: Sun Jul 29 10:06:57 2018 +0100

--
 .../apache/phoenix/end2end/RowTimestampIT.java  | 26 +---
 .../apache/phoenix/execute/MutationState.java   |  6 -
 2 files changed, 27 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/2a0b56a4/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java
index 09fd821..2cf4d9d 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java
@@ -73,13 +73,22 @@ public class RowTimestampIT extends ParallelStatsDisabledIT 
{
 }
 
 @Test
-public void testWithUpsertingRowTimestampColSpecified() throws Exception {
+public void testUpsertingRowTimestampColSpecifiedWithTimestamp() throws 
Exception {
+upsertingRowTimestampColSpecified("TIMESTAMP");
+}
+
+@Test
+public void testUpsertingRowTimestampColSpecifiedWithDate() throws 
Exception {
+upsertingRowTimestampColSpecified("DATE");
+}
+
+private void upsertingRowTimestampColSpecified(String type) throws 
Exception {
 String tableName = generateUniqueName();
 String indexName = generateUniqueName();
 try (Connection conn = DriverManager.getConnection(getUrl())) {
 conn.createStatement()
 .execute("CREATE TABLE IF NOT EXISTS " + tableName
-+ " (PK1 VARCHAR NOT NULL, PK2 DATE NOT NULL, KV1 
VARCHAR, KV2 VARCHAR CONSTRAINT PK PRIMARY KEY(PK1, PK2 "
++ " (PK1 VARCHAR NOT NULL, PK2 " + type + " NOT 
NULL, KV1 VARCHAR, KV2 VARCHAR CONSTRAINT PK PRIMARY KEY(PK1, PK2 "
 + sortOrder + " ROW_TIMESTAMP)) " + 
tableDDLOptions);
 }
 try (Connection conn = DriverManager.getConnection(getUrl())) {
@@ -195,14 +204,23 @@ public class RowTimestampIT extends 
ParallelStatsDisabledIT {
 }
 
 @Test
-public void 
testAutomaticallySettingRowTimestampForImmutableTableAndIndexes() throws 
Exception {
+public void testAutomaticallySettingRowTimestampWithTimestamp () throws 
Exception {
+
automaticallySettingRowTimestampForImmutableTableAndIndexes("TIMESTAMP");
+}
+
+@Test
+public void testAutomaticallySettingRowTimestampWithDate () throws 
Exception {
+automaticallySettingRowTimestampForImmutableTableAndIndexes("DATE");
+}
+
+private void 
automaticallySettingRowTimestampForImmutableTableAndIndexes(String type) throws 
Exception {
 long startTime = EnvironmentEdgeManager.currentTimeMillis();
 String tableName = generateUniqueName();
 String indexName = generateUniqueName();
 try (Connection conn = DriverManager.getConnection(getUrl())) {
 conn.createStatement()
 .execute("CREATE TABLE IF NOT EXISTS " + tableName
-+ " (PK1 VARCHAR NOT NULL, PK2 DATE NOT NULL, KV1 
VARCHAR, KV2 VARCHAR CONSTRAINT PK PRIMARY KEY(PK1, PK2 "
++ " (PK1 VARCHAR NOT NULL, PK2 " + type + " NOT 
NULL, KV1 VARCHAR, KV2 VARCHAR CONSTRAINT PK PRIMARY KEY(PK1, PK2 "
 + sortOrder + " ROW_TIMESTAMP)) " + 
tableDDLOptions);
 }
 try (Connection conn = DriverManager.getConnection(getUrl())) {

http://git-wip-us.apache.org/repos/asf/phoenix/blob/2a0b56a4/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java 
b/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
index c29d6b5..d2d1eea 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
@@ -25,6 +25,7 @@ import static 
org.apache.phoenix.monitoring.GlobalClientMetrics.GLOBAL_MUTATION_
 
 import java.io.IOException;
 import 

[4/5] phoenix git commit: PHOENIX-4817 Fixed Phoenix Tracing Web Application (fixed check null, trace table name, webapp path, column names) and traceserver.py

2018-07-29 Thread pboado
PHOENIX-4817 Fixed Phoenix Tracing Web Application (fixed check null, trace 
table name, webapp path, column names) and traceserver.py

Closes #311

Signed-off-by: Josh Elser 


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

Branch: refs/heads/4.x-cdh5.11
Commit: 09ceb39f0df20cdb0eb401577f387204a833d0e4
Parents: 4c2d6c9
Author: Vitaly Monastyrev 
Authored: Tue Jul 24 17:14:12 2018 +0100
Committer: Pedro Boado 
Committed: Sun Jul 29 10:06:35 2018 +0100

--
 bin/traceserver.py  |  6 +-
 .../apache/phoenix/tracingwebapp/http/Main.java | 13 +--
 .../tracingwebapp/http/TraceServlet.java| 87 +++-
 3 files changed, 62 insertions(+), 44 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/09ceb39f/bin/traceserver.py
--
diff --git a/bin/traceserver.py b/bin/traceserver.py
index 665099e..62e168c 100755
--- a/bin/traceserver.py
+++ b/bin/traceserver.py
@@ -116,8 +116,10 @@ else:
 
 #" -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n " 
+ \
 #" -XX:+UnlockCommercialFeatures -XX:+FlightRecorder 
-XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true" + \
-java_cmd = '%(java)s $PHOENIX_OPTS ' + \
-'-cp ' + hbase_config_path + os.pathsep + 
phoenix_utils.phoenix_traceserver_jar + os.pathsep + 
phoenix_utils.phoenix_client_jar + \
+java_cmd = '%(java)s  ' + \
+'-cp ' + hbase_config_path + os.pathsep + 
phoenix_utils.phoenix_traceserver_jar + os.pathsep + \
+phoenix_utils.phoenix_client_jar + os.pathsep + 
phoenix_utils.phoenix_queryserver_jar + \
+os.pathsep + phoenix_utils.hadoop_classpath + \
 " -Dproc_phoenixtraceserver" + \
 " -Dlog4j.configuration=file:" + os.path.join(phoenix_utils.current_dir, 
"log4j.properties") + \
 " -Dpsql.root.logger=%(root_logger)s" + \

http://git-wip-us.apache.org/repos/asf/phoenix/blob/09ceb39f/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/Main.java
--
diff --git 
a/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/Main.java
 
b/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/Main.java
index 5875fc1..249f8e6 100755
--- 
a/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/Main.java
+++ 
b/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/Main.java
@@ -47,6 +47,7 @@ public final class Main extends Configured implements Tool {
 public static final String TRACE_SERVER_HTTP_JETTY_HOME_KEY =
 "phoenix.traceserver.http.home";
 public static final String DEFAULT_HTTP_HOME = "/";
+public static final String DEFAULT_WEBAPP_DIR_LOCATION = "src/main/webapp";
 
 public static void main(String[] args) throws Exception {
 int ret = ToolRunner.run(HBaseConfiguration.create(), new Main(), 
args);
@@ -62,15 +63,17 @@ public final class Main extends Configured implements Tool {
 final String home = getConf().get(TRACE_SERVER_HTTP_JETTY_HOME_KEY,
 DEFAULT_HTTP_HOME);
 //setting up the embedded server
-ProtectionDomain domain = Main.class.getProtectionDomain();
-URL location = domain.getCodeSource().getLocation();
-String webappDirLocation = location.toString().split("target")[0] 
+"src/main/webapp";
 Server server = new Server(port);
 WebAppContext root = new WebAppContext();
 
+URL webAppDir = 
Thread.currentThread().getContextClassLoader().getResource(DEFAULT_WEBAPP_DIR_LOCATION);
+if (webAppDir == null) {
+throw new RuntimeException(String.format("No %s directory was 
found into the JAR file", DEFAULT_WEBAPP_DIR_LOCATION));
+}
+
 root.setContextPath(home);
-root.setDescriptor(webappDirLocation + "/WEB-INF/web.xml");
-root.setResourceBase(webappDirLocation);
+root.setDescriptor(DEFAULT_WEBAPP_DIR_LOCATION + "/WEB-INF/web.xml");
+root.setResourceBase(webAppDir.toURI().toString());
 root.setParentLoaderPriority(true);
 server.setHandler(root);
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/09ceb39f/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/TraceServlet.java
--
diff --git 
a/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/TraceServlet.java
 
b/phoenix-tracing-webapp/src/main/java/org/apache/phoenix/tracingwebapp/http/TraceServlet.java

[1/5] phoenix git commit: PHOENIX-4805 Move Avatica version to 1.12 for PQS

2018-07-29 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.11 25f0e0a83 -> 2a0b56a46


PHOENIX-4805 Move Avatica version to 1.12 for PQS


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

Branch: refs/heads/4.x-cdh5.11
Commit: 205fe1155b5342a831934358034d28733199d635
Parents: 25f0e0a
Author: Karan Mehta 
Authored: Fri Jul 6 21:35:52 2018 +0100
Committer: Pedro Boado 
Committed: Sun Jul 29 10:03:30 2018 +0100

--
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/205fe115/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 0c3836d..d7d965b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -141,7 +141,7 @@
 
 1.6
 2.1.2
-1.10.0
+1.12.0
 8.1.7.v20120910
 0.14.0-incubating
 ${cdh.spark.version}



[2/5] phoenix git commit: PHOENIX-4809 Only cache PhoenixConnections when lease renewal is on

2018-07-29 Thread pboado
PHOENIX-4809 Only cache PhoenixConnections when lease renewal is on

Lease renewal is the only mechanism under which connections are removed
from the connectionQueue. Calling close() on a connection doesn't proactively
remove it from the instance of ConnectionQueryServicesImpl.


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

Branch: refs/heads/4.x-cdh5.11
Commit: d7d67757d626759fd65efd75da3a1498a1be4f3c
Parents: 205fe11
Author: Josh Elser 
Authored: Wed Jul 11 22:02:46 2018 +0100
Committer: Pedro Boado 
Committed: Sun Jul 29 10:04:05 2018 +0100

--
 .../phoenix/query/ConnectionCachingIT.java  | 87 
 .../query/ConnectionQueryServicesImpl.java  | 11 ++-
 2 files changed, 97 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/d7d67757/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
new file mode 100644
index 000..b2ef052
--- /dev/null
+++ b/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
@@ -0,0 +1,87 @@
+package org.apache.phoenix.query;
+
+import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
+import static org.junit.Assert.assertTrue;
+
+import java.lang.ref.WeakReference;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.util.Arrays;
+import java.util.Properties;
+import java.util.concurrent.LinkedBlockingQueue;
+
+import org.apache.phoenix.end2end.ParallelStatsEnabledIT;
+import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.query.ConnectionQueryServices;
+import org.apache.phoenix.query.ConnectionQueryServicesImpl;
+import org.apache.phoenix.query.DelegateConnectionQueryServices;
+import org.apache.phoenix.query.QueryServicesOptions;
+import org.apache.phoenix.util.PhoenixRuntime;
+import org.apache.phoenix.util.PropertiesUtil;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@RunWith(Parameterized.class)
+public class ConnectionCachingIT extends ParallelStatsEnabledIT {
+  private static final Logger LOG = 
LoggerFactory.getLogger(ConnectionCachingIT.class);
+
+  @Parameters(name= "phoenix.scanner.lease.renew.enabled={0}")
+  public static Iterable data() {
+return Arrays.asList("true", "false");
+  }
+
+  private String leaseRenewal;
+
+  public ConnectionCachingIT(String leaseRenewalValue) {
+this.leaseRenewal = leaseRenewalValue;
+  }
+
+  @Test
+  public void test() throws Exception {
+Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
+props.put("phoenix.scanner.lease.renew.enabled", leaseRenewal);
+
+// The test driver works correctly, the real one doesn't.
+String url = getUrl();
+url = url.replace(";" + PhoenixRuntime.PHOENIX_TEST_DRIVER_URL_PARAM, "");
+LOG.info("URL to use is: {}", url);
+
+Connection conn = DriverManager.getConnection(url, props);
+long before = getNumCachedConnections(conn);
+for (int i = 0; i < 10_000; i++) {
+  Connection c = DriverManager.getConnection(url, props);
+  c.close();
+}
+
Thread.sleep(QueryServicesOptions.DEFAULT_RUN_RENEW_LEASE_FREQUENCY_INTERVAL_MILLISECONDS
 / 2);
+long after = getNumCachedConnections(conn);
+for (int i = 0; i < 6; i++) {
+  LOG.info("Found {} connections cached", after);
+  if (after <= before) {
+break;
+  }
+  
Thread.sleep(QueryServicesOptions.DEFAULT_RUN_RENEW_LEASE_FREQUENCY_INTERVAL_MILLISECONDS
 / 2);
+  after = getNumCachedConnections(conn);
+}
+assertTrue("Saw " + before + " connections, but ended with " + after, 
after <= before);
+  }
+
+  long getNumCachedConnections(Connection conn) throws Exception {
+PhoenixConnection pConn = conn.unwrap(PhoenixConnection.class);
+ConnectionQueryServices cqs = pConn.getQueryServices();
+// For whatever reason, we sometimes get a delegate here, and sometimes 
the real thing.
+if (cqs instanceof DelegateConnectionQueryServices) {
+  cqs = ((DelegateConnectionQueryServices) cqs).getDelegate();
+}
+assertTrue("ConnectionQueryServices was a " + cqs.getClass(), cqs 
instanceof ConnectionQueryServicesImpl);
+ConnectionQueryServicesImpl cqsi = (ConnectionQueryServicesImpl) cqs;
+long cachedConnections = 0L;
+for