[2/2] phoenix git commit: PHOENIX-2715 Query Log (Ankit Singhal)

2018-04-09 Thread ankit
PHOENIX-2715 Query Log (Ankit Singhal)


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

Branch: refs/heads/4.x-HBase-1.2
Commit: 5e3d432d97ee48f6a891e9cbdb4a63c107b2f2a1
Parents: aec5101
Author: Ankit Singhal 
Authored: Tue Apr 10 12:23:31 2018 +0530
Committer: Ankit Singhal 
Committed: Tue Apr 10 12:23:31 2018 +0530

--
 phoenix-core/pom.xml|   5 +
 .../end2end/QueryDatabaseMetaDataIT.java|   4 +
 .../apache/phoenix/end2end/QueryLoggerIT.java   | 358 +++
 .../end2end/TenantSpecificTablesDDLIT.java  |   2 +
 .../phoenix/compile/StatementContext.java   |  10 +
 .../phoenix/coprocessor/MetaDataProtocol.java   |   5 +-
 .../phoenix/iterate/ScanningResultIterator.java |  18 +-
 .../apache/phoenix/jdbc/PhoenixConnection.java  |  17 +-
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  18 +
 .../phoenix/jdbc/PhoenixPreparedStatement.java  |  11 +-
 .../apache/phoenix/jdbc/PhoenixResultSet.java   |  38 ++
 .../apache/phoenix/jdbc/PhoenixStatement.java   |  67 +++-
 .../java/org/apache/phoenix/log/LogLevel.java   |  22 ++
 .../java/org/apache/phoenix/log/LogWriter.java  |  51 +++
 .../log/QueryLogDetailsEventHandler.java|  63 
 .../org/apache/phoenix/log/QueryLogInfo.java|  87 +
 .../org/apache/phoenix/log/QueryLogState.java   |  22 ++
 .../org/apache/phoenix/log/QueryLogger.java | 145 
 .../log/QueryLoggerDefaultExceptionHandler.java |  51 +++
 .../phoenix/log/QueryLoggerDisruptor.java   | 117 ++
 .../org/apache/phoenix/log/QueryLoggerUtil.java |  62 
 .../org/apache/phoenix/log/RingBufferEvent.java |  93 +
 .../phoenix/log/RingBufferEventTranslator.java  |  53 +++
 .../org/apache/phoenix/log/TableLogWriter.java  | 125 +++
 .../phoenix/monitoring/ReadMetricQueue.java |  44 ++-
 .../phoenix/monitoring/ScanMetricsHolder.java   |  48 ++-
 .../phoenix/query/ConnectionQueryServices.java  |   6 +
 .../query/ConnectionQueryServicesImpl.java  |  35 +-
 .../query/ConnectionlessQueryServicesImpl.java  |  18 +
 .../query/DelegateConnectionQueryServices.java  |  14 +
 .../apache/phoenix/query/QueryConstants.java|  45 +++
 .../org/apache/phoenix/query/QueryServices.java |   4 +
 .../phoenix/query/QueryServicesOptions.java |   9 +-
 pom.xml |   6 +
 34 files changed, 1612 insertions(+), 61 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/5e3d432d/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 2249fb2..d7c922a 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -480,5 +480,10 @@
   i18n-util
   ${i18n-util.version}
 
+   
+com.lmax
+disruptor
+${disruptor.version}
+  
   
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5e3d432d/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
index 7a2d3e1..c7c8ebf 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
@@ -166,6 +166,10 @@ public class QueryDatabaseMetaDataIT extends 
ParallelStatsDisabledIT {
 assertEquals(PTableType.SYSTEM.toString(), 
rs.getString("TABLE_TYPE"));
 assertTrue(rs.next());
 assertEquals(SYSTEM_CATALOG_SCHEMA, rs.getString("TABLE_SCHEM"));
+assertEquals(PhoenixDatabaseMetaData.SYSTEM_LOG_TABLE, 
rs.getString("TABLE_NAME"));
+assertEquals(PTableType.SYSTEM.toString(), 
rs.getString("TABLE_TYPE"));
+assertTrue(rs.next());
+assertEquals(SYSTEM_CATALOG_SCHEMA, rs.getString("TABLE_SCHEM"));
 assertEquals(TYPE_SEQUENCE, rs.getString("TABLE_NAME"));
 assertEquals(PTableType.SYSTEM.toString(), 
rs.getString("TABLE_TYPE"));
 assertTrue(rs.next());

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5e3d432d/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
new file mode 100644
index 000..940ba6f

[1/2] phoenix git commit: PHOENIX-2715 Query Log (Ankit Singhal)

2018-04-09 Thread ankit
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.2 aec5101d9 -> 5e3d432d9


http://git-wip-us.apache.org/repos/asf/phoenix/blob/5e3d432d/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java 
b/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java
new file mode 100644
index 000..c102855
--- /dev/null
+++ b/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java
@@ -0,0 +1,125 @@
+/*
+ * 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.log;
+
+import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA;
+import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_LOG_TABLE;
+
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.Map.Entry;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.Table;
+import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.phoenix.expression.Determinism;
+import org.apache.phoenix.expression.LiteralExpression;
+import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.util.ByteUtil;
+import org.apache.phoenix.util.SchemaUtil;
+
+import com.google.common.collect.ImmutableMap;
+
+/**
+ * Writes RingBuffer log event into table 
+ * 
+ */
+public class TableLogWriter implements LogWriter {
+private static final Log LOG = LogFactory.getLog(LogWriter.class);
+private Connection connection;
+private boolean isClosed;
+private Table table;
+private Configuration config;
+
+public TableLogWriter(Configuration configuration) {
+this.config = configuration;
+try {
+this.connection = 
ConnectionFactory.createConnection(configuration);
+table = this.connection.getTable(SchemaUtil.getPhysicalTableName(
+SchemaUtil.getTableNameAsBytes(SYSTEM_CATALOG_SCHEMA, 
SYSTEM_LOG_TABLE), config));
+} catch (Exception e) {
+LOG.warn("Unable to initiate LogWriter for writing query logs to 
table");
+}
+}
+
+@Override
+public void write(RingBufferEvent event) throws SQLException, IOException {
+if(isClosed()){
+LOG.warn("Unable to commit query log as Log committer is already 
closed");
+return;
+}
+if (table == null || connection == null) {
+LOG.warn("Unable to commit query log as connection was not 
initiated ");
+return;
+}
+ImmutableMap queryInfo=event.getQueryInfo();
+ImmutableBytesWritable ptr = new ImmutableBytesWritable();
+Put put =new Put(Bytes.toBytes(event.getQueryId()));
+for (Entry entry : queryInfo.entrySet()) {
+if (entry.getKey().logLevel.ordinal() <= 
event.getConnectionLogLevel().ordinal()) {
+LiteralExpression expression = 
LiteralExpression.newConstant(entry.getValue(), entry.getKey().dataType,
+Determinism.ALWAYS);
+expression.evaluate(null, ptr);
+put.addColumn(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, 
Bytes.toBytes(entry.getKey().columnName),
+ByteUtil.copyKeyBytesIfNecessary(ptr));
+}
+}
+
+if (QueryLogInfo.QUERY_STATUS_I.logLevel.ordinal() <= 
event.getConnectionLogLevel().ordinal()
+&& (event.getLogState() == QueryLogState.COMPLETED || 
event.getLogState() == QueryLogState.FAILED)) {
+LiteralExpression expression = 
LiteralExpression.newConstant(event.getLogState().toString(),
+QueryLogInfo.QUERY_STATUS_I.dataType, Determinism.ALWAYS);
+expression.evaluate(null, ptr);
+put.addColumn(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES,
+  

[1/2] phoenix git commit: PHOENIX-2715 Query Log (Ankit Singhal)

2018-04-09 Thread ankit
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.3 753e78423 -> 6468abb00


http://git-wip-us.apache.org/repos/asf/phoenix/blob/6468abb0/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java 
b/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java
new file mode 100644
index 000..c102855
--- /dev/null
+++ b/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java
@@ -0,0 +1,125 @@
+/*
+ * 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.log;
+
+import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA;
+import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_LOG_TABLE;
+
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.Map.Entry;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.Table;
+import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.phoenix.expression.Determinism;
+import org.apache.phoenix.expression.LiteralExpression;
+import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.util.ByteUtil;
+import org.apache.phoenix.util.SchemaUtil;
+
+import com.google.common.collect.ImmutableMap;
+
+/**
+ * Writes RingBuffer log event into table 
+ * 
+ */
+public class TableLogWriter implements LogWriter {
+private static final Log LOG = LogFactory.getLog(LogWriter.class);
+private Connection connection;
+private boolean isClosed;
+private Table table;
+private Configuration config;
+
+public TableLogWriter(Configuration configuration) {
+this.config = configuration;
+try {
+this.connection = 
ConnectionFactory.createConnection(configuration);
+table = this.connection.getTable(SchemaUtil.getPhysicalTableName(
+SchemaUtil.getTableNameAsBytes(SYSTEM_CATALOG_SCHEMA, 
SYSTEM_LOG_TABLE), config));
+} catch (Exception e) {
+LOG.warn("Unable to initiate LogWriter for writing query logs to 
table");
+}
+}
+
+@Override
+public void write(RingBufferEvent event) throws SQLException, IOException {
+if(isClosed()){
+LOG.warn("Unable to commit query log as Log committer is already 
closed");
+return;
+}
+if (table == null || connection == null) {
+LOG.warn("Unable to commit query log as connection was not 
initiated ");
+return;
+}
+ImmutableMap queryInfo=event.getQueryInfo();
+ImmutableBytesWritable ptr = new ImmutableBytesWritable();
+Put put =new Put(Bytes.toBytes(event.getQueryId()));
+for (Entry entry : queryInfo.entrySet()) {
+if (entry.getKey().logLevel.ordinal() <= 
event.getConnectionLogLevel().ordinal()) {
+LiteralExpression expression = 
LiteralExpression.newConstant(entry.getValue(), entry.getKey().dataType,
+Determinism.ALWAYS);
+expression.evaluate(null, ptr);
+put.addColumn(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, 
Bytes.toBytes(entry.getKey().columnName),
+ByteUtil.copyKeyBytesIfNecessary(ptr));
+}
+}
+
+if (QueryLogInfo.QUERY_STATUS_I.logLevel.ordinal() <= 
event.getConnectionLogLevel().ordinal()
+&& (event.getLogState() == QueryLogState.COMPLETED || 
event.getLogState() == QueryLogState.FAILED)) {
+LiteralExpression expression = 
LiteralExpression.newConstant(event.getLogState().toString(),
+QueryLogInfo.QUERY_STATUS_I.dataType, Determinism.ALWAYS);
+expression.evaluate(null, ptr);
+put.addColumn(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES,
+  

[2/2] phoenix git commit: PHOENIX-2715 Query Log (Ankit Singhal)

2018-04-09 Thread ankit
PHOENIX-2715 Query Log (Ankit Singhal)


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

Branch: refs/heads/4.x-HBase-1.3
Commit: 6468abb005fa6068bb6e5d6d77572eff9291bee2
Parents: 753e784
Author: Ankit Singhal 
Authored: Tue Apr 10 12:22:03 2018 +0530
Committer: Ankit Singhal 
Committed: Tue Apr 10 12:22:03 2018 +0530

--
 phoenix-core/pom.xml|   5 +
 .../end2end/QueryDatabaseMetaDataIT.java|   4 +
 .../apache/phoenix/end2end/QueryLoggerIT.java   | 358 +++
 .../end2end/TenantSpecificTablesDDLIT.java  |   2 +
 .../phoenix/compile/StatementContext.java   |  10 +
 .../phoenix/coprocessor/MetaDataProtocol.java   |   5 +-
 .../phoenix/iterate/ScanningResultIterator.java |  18 +-
 .../apache/phoenix/jdbc/PhoenixConnection.java  |  17 +-
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  18 +
 .../phoenix/jdbc/PhoenixPreparedStatement.java  |  11 +-
 .../apache/phoenix/jdbc/PhoenixResultSet.java   |  38 ++
 .../apache/phoenix/jdbc/PhoenixStatement.java   |  67 +++-
 .../java/org/apache/phoenix/log/LogLevel.java   |  22 ++
 .../java/org/apache/phoenix/log/LogWriter.java  |  51 +++
 .../log/QueryLogDetailsEventHandler.java|  63 
 .../org/apache/phoenix/log/QueryLogInfo.java|  87 +
 .../org/apache/phoenix/log/QueryLogState.java   |  22 ++
 .../org/apache/phoenix/log/QueryLogger.java | 145 
 .../log/QueryLoggerDefaultExceptionHandler.java |  51 +++
 .../phoenix/log/QueryLoggerDisruptor.java   | 117 ++
 .../org/apache/phoenix/log/QueryLoggerUtil.java |  62 
 .../org/apache/phoenix/log/RingBufferEvent.java |  93 +
 .../phoenix/log/RingBufferEventTranslator.java  |  53 +++
 .../org/apache/phoenix/log/TableLogWriter.java  | 125 +++
 .../phoenix/monitoring/ReadMetricQueue.java |  44 ++-
 .../phoenix/monitoring/ScanMetricsHolder.java   |  48 ++-
 .../phoenix/query/ConnectionQueryServices.java  |   6 +
 .../query/ConnectionQueryServicesImpl.java  |  35 +-
 .../query/ConnectionlessQueryServicesImpl.java  |  18 +
 .../query/DelegateConnectionQueryServices.java  |  14 +
 .../apache/phoenix/query/QueryConstants.java|  45 +++
 .../org/apache/phoenix/query/QueryServices.java |   4 +
 .../phoenix/query/QueryServicesOptions.java |   9 +-
 pom.xml |   6 +
 34 files changed, 1612 insertions(+), 61 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/6468abb0/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index eccbf63..bab86c5 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -480,5 +480,10 @@
   i18n-util
   ${i18n-util.version}
 
+   
+com.lmax
+disruptor
+${disruptor.version}
+  
   
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/6468abb0/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
index 7a2d3e1..c7c8ebf 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
@@ -166,6 +166,10 @@ public class QueryDatabaseMetaDataIT extends 
ParallelStatsDisabledIT {
 assertEquals(PTableType.SYSTEM.toString(), 
rs.getString("TABLE_TYPE"));
 assertTrue(rs.next());
 assertEquals(SYSTEM_CATALOG_SCHEMA, rs.getString("TABLE_SCHEM"));
+assertEquals(PhoenixDatabaseMetaData.SYSTEM_LOG_TABLE, 
rs.getString("TABLE_NAME"));
+assertEquals(PTableType.SYSTEM.toString(), 
rs.getString("TABLE_TYPE"));
+assertTrue(rs.next());
+assertEquals(SYSTEM_CATALOG_SCHEMA, rs.getString("TABLE_SCHEM"));
 assertEquals(TYPE_SEQUENCE, rs.getString("TABLE_NAME"));
 assertEquals(PTableType.SYSTEM.toString(), 
rs.getString("TABLE_TYPE"));
 assertTrue(rs.next());

http://git-wip-us.apache.org/repos/asf/phoenix/blob/6468abb0/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
new file mode 100644
index 000..940ba6f

Build failed in Jenkins: Phoenix | Master #1980

2018-04-09 Thread Apache Jenkins Server
See 


Changes:

[vincentpoon] PHOENIX-4683 Cap timeouts for stats precompact hook logic

--
[...truncated 100.52 KB...]
[INFO] Tests run: 32, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 318.662 
s - in org.apache.phoenix.end2end.SetPropertyOnEncodedTableIT
[INFO] Tests run: 32, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 325.121 
s - in org.apache.phoenix.end2end.SetPropertyOnNonEncodedTableIT
[INFO] Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 123.351 
s - in org.apache.phoenix.end2end.StringIT
[INFO] Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 125.659 
s - in org.apache.phoenix.end2end.StringToArrayFunctionIT
[INFO] Running org.apache.phoenix.end2end.ToCharFunctionIT
[INFO] Tests run: 56, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 545.204 
s - in org.apache.phoenix.end2end.RangeScanIT
[INFO] Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 134.551 
s - in org.apache.phoenix.end2end.TenantIdTypeIT
[INFO] Running org.apache.phoenix.end2end.TenantSpecificViewIndexIT
[INFO] Running org.apache.phoenix.end2end.ToNumberFunctionIT
[INFO] Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.161 s 
- in org.apache.phoenix.end2end.ToNumberFunctionIT
[INFO] Running org.apache.phoenix.end2end.TopNIT
[INFO] Running org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.132 s 
- in org.apache.phoenix.end2end.TopNIT
[INFO] Running org.apache.phoenix.end2end.TimezoneOffsetFunctionIT
[INFO] Running org.apache.phoenix.end2end.ToDateFunctionIT
[INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 67.453 
s - in org.apache.phoenix.end2end.ToCharFunctionIT
[INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.25 s 
- in org.apache.phoenix.end2end.ToDateFunctionIT
[INFO] Running org.apache.phoenix.end2end.UnionAllIT
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.02 s 
- in org.apache.phoenix.end2end.TimezoneOffsetFunctionIT
[INFO] Running org.apache.phoenix.end2end.UpgradeIT
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 63.599 s 
- in org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT
[INFO] Running org.apache.phoenix.end2end.UpperLowerFunctionIT
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.042 s 
- in org.apache.phoenix.end2end.UpperLowerFunctionIT
[INFO] Running org.apache.phoenix.end2end.UpsertBigValuesIT
[INFO] Running org.apache.phoenix.end2end.TruncateFunctionIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.48 s - 
in org.apache.phoenix.end2end.TruncateFunctionIT
[INFO] Running org.apache.phoenix.end2end.UpsertSelectAutoCommitIT
[INFO] Tests run: 46, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 313.086 
s - in org.apache.phoenix.end2end.SortOrderIT
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 35.806 s 
- in org.apache.phoenix.end2end.UpsertBigValuesIT
[INFO] Running org.apache.phoenix.end2end.UpsertValuesIT
[INFO] Running org.apache.phoenix.end2end.UngroupedIT
[INFO] Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 149.487 
s - in org.apache.phoenix.end2end.TenantSpecificViewIndexIT
[INFO] Running org.apache.phoenix.end2end.UseSchemaIT
[INFO] Running org.apache.phoenix.end2end.UpsertSelectIT
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 71.666 s 
- in org.apache.phoenix.end2end.UpsertSelectAutoCommitIT
[INFO] Running org.apache.phoenix.end2end.VariableLengthPKIT
[INFO] Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 74.177 
s - in org.apache.phoenix.end2end.UpsertValuesIT
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 50.715 s 
- in org.apache.phoenix.end2end.UseSchemaIT
[INFO] Tests run: 32, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 325.989 
s - in org.apache.phoenix.end2end.StoreNullsIT
[INFO] Running org.apache.phoenix.end2end.index.AsyncIndexDisabledIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.734 s 
- in org.apache.phoenix.end2end.index.AsyncIndexDisabledIT
[INFO] Running org.apache.phoenix.end2end.index.DropMetadataIT
[INFO] Running org.apache.phoenix.end2end.index.ChildViewsUseParentViewIndexIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.133 s 
- in org.apache.phoenix.end2end.index.DropMetadataIT
[INFO] Running org.apache.phoenix.end2end.index.GlobalImmutableNonTxIndexIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.518 s 
- in org.apache.phoenix.end2end.index.ChildViewsUseParentViewIndexIT
[INFO] Running org.apache.phoenix.end2end.index.GlobalImmutableTxIndexIT
[INFO] Running org.apache.phoenix.end2end.index.DropColumnIT
[INFO] Tests run: 25, Failures: 0, Errors: 0, Skipp

[1/2] phoenix git commit: PHOENIX-2715 Query Log (Ankit Singhal)

2018-04-09 Thread ankit
Repository: phoenix
Updated Branches:
  refs/heads/master 98a8ddda4 -> 0bc036845


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0bc03684/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java 
b/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java
new file mode 100644
index 000..c102855
--- /dev/null
+++ b/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java
@@ -0,0 +1,125 @@
+/*
+ * 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.log;
+
+import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA;
+import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_LOG_TABLE;
+
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.Map.Entry;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.Table;
+import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.phoenix.expression.Determinism;
+import org.apache.phoenix.expression.LiteralExpression;
+import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.util.ByteUtil;
+import org.apache.phoenix.util.SchemaUtil;
+
+import com.google.common.collect.ImmutableMap;
+
+/**
+ * Writes RingBuffer log event into table 
+ * 
+ */
+public class TableLogWriter implements LogWriter {
+private static final Log LOG = LogFactory.getLog(LogWriter.class);
+private Connection connection;
+private boolean isClosed;
+private Table table;
+private Configuration config;
+
+public TableLogWriter(Configuration configuration) {
+this.config = configuration;
+try {
+this.connection = 
ConnectionFactory.createConnection(configuration);
+table = this.connection.getTable(SchemaUtil.getPhysicalTableName(
+SchemaUtil.getTableNameAsBytes(SYSTEM_CATALOG_SCHEMA, 
SYSTEM_LOG_TABLE), config));
+} catch (Exception e) {
+LOG.warn("Unable to initiate LogWriter for writing query logs to 
table");
+}
+}
+
+@Override
+public void write(RingBufferEvent event) throws SQLException, IOException {
+if(isClosed()){
+LOG.warn("Unable to commit query log as Log committer is already 
closed");
+return;
+}
+if (table == null || connection == null) {
+LOG.warn("Unable to commit query log as connection was not 
initiated ");
+return;
+}
+ImmutableMap queryInfo=event.getQueryInfo();
+ImmutableBytesWritable ptr = new ImmutableBytesWritable();
+Put put =new Put(Bytes.toBytes(event.getQueryId()));
+for (Entry entry : queryInfo.entrySet()) {
+if (entry.getKey().logLevel.ordinal() <= 
event.getConnectionLogLevel().ordinal()) {
+LiteralExpression expression = 
LiteralExpression.newConstant(entry.getValue(), entry.getKey().dataType,
+Determinism.ALWAYS);
+expression.evaluate(null, ptr);
+put.addColumn(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, 
Bytes.toBytes(entry.getKey().columnName),
+ByteUtil.copyKeyBytesIfNecessary(ptr));
+}
+}
+
+if (QueryLogInfo.QUERY_STATUS_I.logLevel.ordinal() <= 
event.getConnectionLogLevel().ordinal()
+&& (event.getLogState() == QueryLogState.COMPLETED || 
event.getLogState() == QueryLogState.FAILED)) {
+LiteralExpression expression = 
LiteralExpression.newConstant(event.getLogState().toString(),
+QueryLogInfo.QUERY_STATUS_I.dataType, Determinism.ALWAYS);
+expression.evaluate(null, ptr);
+put.addColumn(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES,
+ 

[2/2] phoenix git commit: PHOENIX-2715 Query Log (Ankit Singhal)

2018-04-09 Thread ankit
PHOENIX-2715 Query Log (Ankit Singhal)


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

Branch: refs/heads/master
Commit: 0bc0368455ae03de2f3f2cabd72de06e5cb90cbb
Parents: 98a8ddd
Author: Ankit Singhal 
Authored: Tue Apr 10 12:21:00 2018 +0530
Committer: Ankit Singhal 
Committed: Tue Apr 10 12:21:00 2018 +0530

--
 phoenix-core/pom.xml|   5 +
 .../end2end/QueryDatabaseMetaDataIT.java|   4 +
 .../apache/phoenix/end2end/QueryLoggerIT.java   | 358 +++
 .../end2end/TenantSpecificTablesDDLIT.java  |   2 +
 .../phoenix/compile/StatementContext.java   |  10 +
 .../phoenix/coprocessor/MetaDataProtocol.java   |   5 +-
 .../phoenix/iterate/ScanningResultIterator.java |  18 +-
 .../apache/phoenix/jdbc/PhoenixConnection.java  |  17 +-
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  18 +
 .../phoenix/jdbc/PhoenixPreparedStatement.java  |  11 +-
 .../apache/phoenix/jdbc/PhoenixResultSet.java   |  38 ++
 .../apache/phoenix/jdbc/PhoenixStatement.java   |  67 +++-
 .../java/org/apache/phoenix/log/LogLevel.java   |  22 ++
 .../java/org/apache/phoenix/log/LogWriter.java  |  51 +++
 .../log/QueryLogDetailsEventHandler.java|  63 
 .../org/apache/phoenix/log/QueryLogInfo.java|  87 +
 .../org/apache/phoenix/log/QueryLogState.java   |  22 ++
 .../org/apache/phoenix/log/QueryLogger.java | 145 
 .../log/QueryLoggerDefaultExceptionHandler.java |  51 +++
 .../phoenix/log/QueryLoggerDisruptor.java   | 117 ++
 .../org/apache/phoenix/log/QueryLoggerUtil.java |  62 
 .../org/apache/phoenix/log/RingBufferEvent.java |  93 +
 .../phoenix/log/RingBufferEventTranslator.java  |  53 +++
 .../org/apache/phoenix/log/TableLogWriter.java  | 125 +++
 .../phoenix/monitoring/ReadMetricQueue.java |  44 ++-
 .../phoenix/monitoring/ScanMetricsHolder.java   |  48 ++-
 .../phoenix/query/ConnectionQueryServices.java  |   6 +
 .../query/ConnectionQueryServicesImpl.java  |  35 +-
 .../query/ConnectionlessQueryServicesImpl.java  |  18 +
 .../query/DelegateConnectionQueryServices.java  |  14 +
 .../apache/phoenix/query/QueryConstants.java|  45 +++
 .../org/apache/phoenix/query/QueryServices.java |   4 +
 .../phoenix/query/QueryServicesOptions.java |   9 +-
 pom.xml |   6 +
 34 files changed, 1612 insertions(+), 61 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0bc03684/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index a64d4c3..76ca9c9 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -480,5 +480,10 @@
   i18n-util
   ${i18n-util.version}
 
+   
+com.lmax
+disruptor
+${disruptor.version}
+  
   
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/0bc03684/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
index 7a2d3e1..c7c8ebf 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
@@ -166,6 +166,10 @@ public class QueryDatabaseMetaDataIT extends 
ParallelStatsDisabledIT {
 assertEquals(PTableType.SYSTEM.toString(), 
rs.getString("TABLE_TYPE"));
 assertTrue(rs.next());
 assertEquals(SYSTEM_CATALOG_SCHEMA, rs.getString("TABLE_SCHEM"));
+assertEquals(PhoenixDatabaseMetaData.SYSTEM_LOG_TABLE, 
rs.getString("TABLE_NAME"));
+assertEquals(PTableType.SYSTEM.toString(), 
rs.getString("TABLE_TYPE"));
+assertTrue(rs.next());
+assertEquals(SYSTEM_CATALOG_SCHEMA, rs.getString("TABLE_SCHEM"));
 assertEquals(TYPE_SEQUENCE, rs.getString("TABLE_NAME"));
 assertEquals(PTableType.SYSTEM.toString(), 
rs.getString("TABLE_TYPE"));
 assertTrue(rs.next());

http://git-wip-us.apache.org/repos/asf/phoenix/blob/0bc03684/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
new file mode 100644
index 000..940ba6f
--- /de

[2/2] phoenix git commit: PHOENIX-2715 Query Log (Ankit Singhal)

2018-04-09 Thread ankit
PHOENIX-2715 Query Log (Ankit Singhal)


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

Branch: refs/heads/5.x-HBase-2.0
Commit: 8d82a0ec706e97fdfbacb019728dcf82a5613589
Parents: 880cda1
Author: Ankit Singhal 
Authored: Tue Apr 10 12:15:05 2018 +0530
Committer: Ankit Singhal 
Committed: Tue Apr 10 12:15:05 2018 +0530

--
 phoenix-core/pom.xml|   5 +
 .../end2end/QueryDatabaseMetaDataIT.java|   4 +
 .../apache/phoenix/end2end/QueryLoggerIT.java   | 359 +++
 .../end2end/TenantSpecificTablesDDLIT.java  |   2 +
 .../phoenix/compile/StatementContext.java   |  10 +
 .../phoenix/coprocessor/MetaDataProtocol.java   |   5 +-
 .../phoenix/iterate/ScanningResultIterator.java |  18 +-
 .../apache/phoenix/jdbc/PhoenixConnection.java  |  17 +-
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  18 +
 .../phoenix/jdbc/PhoenixPreparedStatement.java  |  11 +-
 .../apache/phoenix/jdbc/PhoenixResultSet.java   |  38 ++
 .../apache/phoenix/jdbc/PhoenixStatement.java   |  67 +++-
 .../java/org/apache/phoenix/log/LogLevel.java   |  22 ++
 .../java/org/apache/phoenix/log/LogWriter.java  |  51 +++
 .../log/QueryLogDetailsEventHandler.java|  63 
 .../org/apache/phoenix/log/QueryLogInfo.java|  87 +
 .../org/apache/phoenix/log/QueryLogState.java   |  22 ++
 .../org/apache/phoenix/log/QueryLogger.java | 145 
 .../log/QueryLoggerDefaultExceptionHandler.java |  51 +++
 .../phoenix/log/QueryLoggerDisruptor.java   | 117 ++
 .../org/apache/phoenix/log/QueryLoggerUtil.java |  62 
 .../org/apache/phoenix/log/RingBufferEvent.java |  93 +
 .../phoenix/log/RingBufferEventTranslator.java  |  53 +++
 .../org/apache/phoenix/log/TableLogWriter.java  | 125 +++
 .../phoenix/monitoring/ReadMetricQueue.java |  44 ++-
 .../phoenix/monitoring/ScanMetricsHolder.java   |  48 ++-
 .../phoenix/query/ConnectionQueryServices.java  |   6 +
 .../query/ConnectionQueryServicesImpl.java  |  35 +-
 .../query/ConnectionlessQueryServicesImpl.java  |  18 +
 .../query/DelegateConnectionQueryServices.java  |  14 +
 .../apache/phoenix/query/QueryConstants.java| 123 ++-
 .../org/apache/phoenix/query/QueryServices.java |   4 +
 .../phoenix/query/QueryServicesOptions.java |  10 +-
 pom.xml |   6 +
 34 files changed, 1601 insertions(+), 152 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/8d82a0ec/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 2afc182..901c896 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -505,5 +505,10 @@
   i18n-util
   ${i18n-util.version}
 
+   
+com.lmax
+disruptor
+${disruptor.version}
+  
   
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/8d82a0ec/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
index 0f52250..01dc108 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
@@ -169,6 +169,10 @@ public class QueryDatabaseMetaDataIT extends 
ParallelStatsDisabledIT {
 assertEquals(PTableType.SYSTEM.toString(), 
rs.getString("TABLE_TYPE"));
 assertTrue(rs.next());
 assertEquals(SYSTEM_CATALOG_SCHEMA, rs.getString("TABLE_SCHEM"));
+assertEquals(PhoenixDatabaseMetaData.SYSTEM_LOG_TABLE, 
rs.getString("TABLE_NAME"));
+assertEquals(PTableType.SYSTEM.toString(), 
rs.getString("TABLE_TYPE"));
+assertTrue(rs.next());
+assertEquals(SYSTEM_CATALOG_SCHEMA, rs.getString("TABLE_SCHEM"));
 assertEquals(TYPE_SEQUENCE, rs.getString("TABLE_NAME"));
 assertEquals(PTableType.SYSTEM.toString(), 
rs.getString("TABLE_TYPE"));
 assertTrue(rs.next());

http://git-wip-us.apache.org/repos/asf/phoenix/blob/8d82a0ec/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
new file mode 100644
index 000..366

[1/2] phoenix git commit: PHOENIX-2715 Query Log (Ankit Singhal)

2018-04-09 Thread ankit
Repository: phoenix
Updated Branches:
  refs/heads/5.x-HBase-2.0 880cda16f -> 8d82a0ec7


http://git-wip-us.apache.org/repos/asf/phoenix/blob/8d82a0ec/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java 
b/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java
new file mode 100644
index 000..c102855
--- /dev/null
+++ b/phoenix-core/src/main/java/org/apache/phoenix/log/TableLogWriter.java
@@ -0,0 +1,125 @@
+/*
+ * 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.log;
+
+import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA;
+import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_LOG_TABLE;
+
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.Map.Entry;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.Table;
+import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.phoenix.expression.Determinism;
+import org.apache.phoenix.expression.LiteralExpression;
+import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.util.ByteUtil;
+import org.apache.phoenix.util.SchemaUtil;
+
+import com.google.common.collect.ImmutableMap;
+
+/**
+ * Writes RingBuffer log event into table 
+ * 
+ */
+public class TableLogWriter implements LogWriter {
+private static final Log LOG = LogFactory.getLog(LogWriter.class);
+private Connection connection;
+private boolean isClosed;
+private Table table;
+private Configuration config;
+
+public TableLogWriter(Configuration configuration) {
+this.config = configuration;
+try {
+this.connection = 
ConnectionFactory.createConnection(configuration);
+table = this.connection.getTable(SchemaUtil.getPhysicalTableName(
+SchemaUtil.getTableNameAsBytes(SYSTEM_CATALOG_SCHEMA, 
SYSTEM_LOG_TABLE), config));
+} catch (Exception e) {
+LOG.warn("Unable to initiate LogWriter for writing query logs to 
table");
+}
+}
+
+@Override
+public void write(RingBufferEvent event) throws SQLException, IOException {
+if(isClosed()){
+LOG.warn("Unable to commit query log as Log committer is already 
closed");
+return;
+}
+if (table == null || connection == null) {
+LOG.warn("Unable to commit query log as connection was not 
initiated ");
+return;
+}
+ImmutableMap queryInfo=event.getQueryInfo();
+ImmutableBytesWritable ptr = new ImmutableBytesWritable();
+Put put =new Put(Bytes.toBytes(event.getQueryId()));
+for (Entry entry : queryInfo.entrySet()) {
+if (entry.getKey().logLevel.ordinal() <= 
event.getConnectionLogLevel().ordinal()) {
+LiteralExpression expression = 
LiteralExpression.newConstant(entry.getValue(), entry.getKey().dataType,
+Determinism.ALWAYS);
+expression.evaluate(null, ptr);
+put.addColumn(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, 
Bytes.toBytes(entry.getKey().columnName),
+ByteUtil.copyKeyBytesIfNecessary(ptr));
+}
+}
+
+if (QueryLogInfo.QUERY_STATUS_I.logLevel.ordinal() <= 
event.getConnectionLogLevel().ordinal()
+&& (event.getLogState() == QueryLogState.COMPLETED || 
event.getLogState() == QueryLogState.FAILED)) {
+LiteralExpression expression = 
LiteralExpression.newConstant(event.getLogState().toString(),
+QueryLogInfo.QUERY_STATUS_I.dataType, Determinism.ALWAYS);
+expression.evaluate(null, ptr);
+put.addColumn(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES,
+  

[4/6] phoenix git commit: PHOENIX-4669 NoSuchColumnFamilyException when creating index on views that are built on tables which have named column family

2018-04-09 Thread ssa
PHOENIX-4669 NoSuchColumnFamilyException when creating index on views that are 
built on tables which have named column family

Signed-off-by: ss77892 


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

Branch: refs/heads/4.x-HBase-1.3
Commit: 753e78423e9784c62843b097824667ccf8c35eba
Parents: 775c046
Author: Toshihiro Suzuki 
Authored: Thu Mar 29 17:17:37 2018 +0900
Committer: ss77892 
Committed: Mon Apr 9 22:01:01 2018 -0700

--
 .../phoenix/end2end/index/ViewIndexIT.java  | 45 +++-
 .../query/ConnectionQueryServicesImpl.java  | 27 ++--
 2 files changed, 57 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/753e7842/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
index 53bb550..8ffd798 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
@@ -31,6 +31,7 @@ import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.sql.Statement;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
@@ -443,5 +444,47 @@ public class ViewIndexIT extends ParallelStatsDisabledIT {
 assertFalse(rs.next());
 assertEquals(indexName, 
stmt.getQueryPlan().getContext().getCurrentTable().getTable().getName().getString());
 }
-
+
+@Test
+public void 
testCreatingIndexOnViewBuiltOnTableWithOnlyNamedColumnFamilies() throws 
Exception {
+try (Connection c = getConnection(); Statement s = 
c.createStatement()) {
+String tableName = generateUniqueName();
+String viewName = generateUniqueName();
+String indexName = generateUniqueName();
+
+c.setAutoCommit(true);
+s.execute("CREATE TABLE " + tableName + " (COL1 VARCHAR PRIMARY 
KEY, CF.COL2 VARCHAR)");
+s.executeUpdate("UPSERT INTO " + tableName + " VALUES ('AAA', 
'BBB')");
+s.execute("CREATE VIEW " + viewName + " AS SELECT * FROM " + 
tableName);
+s.execute("CREATE INDEX " + indexName + " ON " + viewName + " 
(CF.COL2)");
+
+try (ResultSet rs = s.executeQuery("SELECT * FROM " + viewName + " 
WHERE CF.COL2 = 'BBB'")) {
+assertTrue(rs.next());
+assertEquals("AAA", rs.getString("COL1"));
+assertEquals("BBB", rs.getString("COL2"));
+}
+}
+try (Connection c = getConnection(); Statement s = 
c.createStatement()) {
+String tableName = generateUniqueName();
+String viewName = generateUniqueName();
+String index1Name = generateUniqueName();
+String index2Name = generateUniqueName();
+
+c.setAutoCommit(true);
+s.execute("create table " + tableName + " (i1 integer primary key, 
c2.i2 integer, c3.i3 integer, c4.i4 integer)");
+s.execute("create view " + viewName + " as select * from " + 
tableName + " where c2.i2 = 1");
+s.executeUpdate("upsert into " + viewName + "(i1, c3.i3, c4.i4) 
VALUES (1, 1, 1)");
+s.execute("create index " + index1Name + " ON " + viewName + " 
(c3.i3)");
+s.execute("create index " + index2Name + " ON " + viewName + " 
(c3.i3) include (c4.i4)");
+s.executeUpdate("upsert into " + viewName + "(i1, c3.i3, c4.i4) 
VALUES (2, 2, 2)");
+
+try (ResultSet rs = s.executeQuery("select * from " + viewName + " 
WHERE c3.i3 = 1")) {
+assertTrue(rs.next());
+assertEquals(1, rs.getInt("i1"));
+assertEquals(1, rs.getInt("i2"));
+assertEquals(1, rs.getInt("i3"));
+assertEquals(1, rs.getInt("i4"));
+}
+}
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/753e7842/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index eff406d..6df2f80 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoen

[5/6] phoenix git commit: PHOENIX-4669 NoSuchColumnFamilyException when creating index on views that are built on tables which have named column family

2018-04-09 Thread ssa
PHOENIX-4669 NoSuchColumnFamilyException when creating index on views that are 
built on tables which have named column family

Signed-off-by: ss77892 


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

Branch: refs/heads/5.x-HBase-2.0
Commit: 880cda16f63264531439b1de345cca42ebe6b823
Parents: d653973
Author: Toshihiro Suzuki 
Authored: Thu Mar 29 17:17:37 2018 +0900
Committer: ss77892 
Committed: Mon Apr 9 22:17:51 2018 -0700

--
 .../phoenix/end2end/index/ViewIndexIT.java  | 45 +++-
 .../query/ConnectionQueryServicesImpl.java  | 29 ++---
 2 files changed, 58 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/880cda16/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
index 53bb550..8ffd798 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
@@ -31,6 +31,7 @@ import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.sql.Statement;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
@@ -443,5 +444,47 @@ public class ViewIndexIT extends ParallelStatsDisabledIT {
 assertFalse(rs.next());
 assertEquals(indexName, 
stmt.getQueryPlan().getContext().getCurrentTable().getTable().getName().getString());
 }
-
+
+@Test
+public void 
testCreatingIndexOnViewBuiltOnTableWithOnlyNamedColumnFamilies() throws 
Exception {
+try (Connection c = getConnection(); Statement s = 
c.createStatement()) {
+String tableName = generateUniqueName();
+String viewName = generateUniqueName();
+String indexName = generateUniqueName();
+
+c.setAutoCommit(true);
+s.execute("CREATE TABLE " + tableName + " (COL1 VARCHAR PRIMARY 
KEY, CF.COL2 VARCHAR)");
+s.executeUpdate("UPSERT INTO " + tableName + " VALUES ('AAA', 
'BBB')");
+s.execute("CREATE VIEW " + viewName + " AS SELECT * FROM " + 
tableName);
+s.execute("CREATE INDEX " + indexName + " ON " + viewName + " 
(CF.COL2)");
+
+try (ResultSet rs = s.executeQuery("SELECT * FROM " + viewName + " 
WHERE CF.COL2 = 'BBB'")) {
+assertTrue(rs.next());
+assertEquals("AAA", rs.getString("COL1"));
+assertEquals("BBB", rs.getString("COL2"));
+}
+}
+try (Connection c = getConnection(); Statement s = 
c.createStatement()) {
+String tableName = generateUniqueName();
+String viewName = generateUniqueName();
+String index1Name = generateUniqueName();
+String index2Name = generateUniqueName();
+
+c.setAutoCommit(true);
+s.execute("create table " + tableName + " (i1 integer primary key, 
c2.i2 integer, c3.i3 integer, c4.i4 integer)");
+s.execute("create view " + viewName + " as select * from " + 
tableName + " where c2.i2 = 1");
+s.executeUpdate("upsert into " + viewName + "(i1, c3.i3, c4.i4) 
VALUES (1, 1, 1)");
+s.execute("create index " + index1Name + " ON " + viewName + " 
(c3.i3)");
+s.execute("create index " + index2Name + " ON " + viewName + " 
(c3.i3) include (c4.i4)");
+s.executeUpdate("upsert into " + viewName + "(i1, c3.i3, c4.i4) 
VALUES (2, 2, 2)");
+
+try (ResultSet rs = s.executeQuery("select * from " + viewName + " 
WHERE c3.i3 = 1")) {
+assertTrue(rs.next());
+assertEquals(1, rs.getInt("i1"));
+assertEquals(1, rs.getInt("i2"));
+assertEquals(1, rs.getInt("i3"));
+assertEquals(1, rs.getInt("i4"));
+}
+}
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/880cda16/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index 24a52c8..128e1aa 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoe

[2/6] phoenix git commit: PHOENIX-4669 NoSuchColumnFamilyException when creating index on views that are built on tables which have named column family

2018-04-09 Thread ssa
PHOENIX-4669 NoSuchColumnFamilyException when creating index on views that are 
built on tables which have named column family

Signed-off-by: ss77892 


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

Branch: refs/heads/4.x-HBase-1.1
Commit: 697d871a7a02bf0380c26733670840d39d303c79
Parents: 9905126
Author: Toshihiro Suzuki 
Authored: Thu Mar 29 17:17:37 2018 +0900
Committer: ss77892 
Committed: Mon Apr 9 21:50:09 2018 -0700

--
 .../phoenix/end2end/index/ViewIndexIT.java  | 45 +++-
 .../query/ConnectionQueryServicesImpl.java  | 27 ++--
 2 files changed, 57 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/697d871a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
index 53bb550..8ffd798 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
@@ -31,6 +31,7 @@ import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.sql.Statement;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
@@ -443,5 +444,47 @@ public class ViewIndexIT extends ParallelStatsDisabledIT {
 assertFalse(rs.next());
 assertEquals(indexName, 
stmt.getQueryPlan().getContext().getCurrentTable().getTable().getName().getString());
 }
-
+
+@Test
+public void 
testCreatingIndexOnViewBuiltOnTableWithOnlyNamedColumnFamilies() throws 
Exception {
+try (Connection c = getConnection(); Statement s = 
c.createStatement()) {
+String tableName = generateUniqueName();
+String viewName = generateUniqueName();
+String indexName = generateUniqueName();
+
+c.setAutoCommit(true);
+s.execute("CREATE TABLE " + tableName + " (COL1 VARCHAR PRIMARY 
KEY, CF.COL2 VARCHAR)");
+s.executeUpdate("UPSERT INTO " + tableName + " VALUES ('AAA', 
'BBB')");
+s.execute("CREATE VIEW " + viewName + " AS SELECT * FROM " + 
tableName);
+s.execute("CREATE INDEX " + indexName + " ON " + viewName + " 
(CF.COL2)");
+
+try (ResultSet rs = s.executeQuery("SELECT * FROM " + viewName + " 
WHERE CF.COL2 = 'BBB'")) {
+assertTrue(rs.next());
+assertEquals("AAA", rs.getString("COL1"));
+assertEquals("BBB", rs.getString("COL2"));
+}
+}
+try (Connection c = getConnection(); Statement s = 
c.createStatement()) {
+String tableName = generateUniqueName();
+String viewName = generateUniqueName();
+String index1Name = generateUniqueName();
+String index2Name = generateUniqueName();
+
+c.setAutoCommit(true);
+s.execute("create table " + tableName + " (i1 integer primary key, 
c2.i2 integer, c3.i3 integer, c4.i4 integer)");
+s.execute("create view " + viewName + " as select * from " + 
tableName + " where c2.i2 = 1");
+s.executeUpdate("upsert into " + viewName + "(i1, c3.i3, c4.i4) 
VALUES (1, 1, 1)");
+s.execute("create index " + index1Name + " ON " + viewName + " 
(c3.i3)");
+s.execute("create index " + index2Name + " ON " + viewName + " 
(c3.i3) include (c4.i4)");
+s.executeUpdate("upsert into " + viewName + "(i1, c3.i3, c4.i4) 
VALUES (2, 2, 2)");
+
+try (ResultSet rs = s.executeQuery("select * from " + viewName + " 
WHERE c3.i3 = 1")) {
+assertTrue(rs.next());
+assertEquals(1, rs.getInt("i1"));
+assertEquals(1, rs.getInt("i2"));
+assertEquals(1, rs.getInt("i3"));
+assertEquals(1, rs.getInt("i4"));
+}
+}
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/697d871a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index 77aa376..e383e7d 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoen

[6/6] phoenix git commit: PHOENIX-4669 NoSuchColumnFamilyException when creating index on views that are built on tables which have named column family

2018-04-09 Thread ssa
PHOENIX-4669 NoSuchColumnFamilyException when creating index on views that are 
built on tables which have named column family

Signed-off-by: ss77892 


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

Branch: refs/heads/4.x-HBase-0.98
Commit: c22e4c39c60cee88930366d1544353dd7a87e037
Parents: a9ddf17
Author: Toshihiro Suzuki 
Authored: Thu Mar 29 17:17:37 2018 +0900
Committer: ss77892 
Committed: Mon Apr 9 22:18:33 2018 -0700

--
 .../phoenix/end2end/index/ViewIndexIT.java  | 45 +++-
 .../query/ConnectionQueryServicesImpl.java  | 27 ++--
 2 files changed, 57 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/c22e4c39/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
index 53bb550..8ffd798 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
@@ -31,6 +31,7 @@ import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.sql.Statement;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
@@ -443,5 +444,47 @@ public class ViewIndexIT extends ParallelStatsDisabledIT {
 assertFalse(rs.next());
 assertEquals(indexName, 
stmt.getQueryPlan().getContext().getCurrentTable().getTable().getName().getString());
 }
-
+
+@Test
+public void 
testCreatingIndexOnViewBuiltOnTableWithOnlyNamedColumnFamilies() throws 
Exception {
+try (Connection c = getConnection(); Statement s = 
c.createStatement()) {
+String tableName = generateUniqueName();
+String viewName = generateUniqueName();
+String indexName = generateUniqueName();
+
+c.setAutoCommit(true);
+s.execute("CREATE TABLE " + tableName + " (COL1 VARCHAR PRIMARY 
KEY, CF.COL2 VARCHAR)");
+s.executeUpdate("UPSERT INTO " + tableName + " VALUES ('AAA', 
'BBB')");
+s.execute("CREATE VIEW " + viewName + " AS SELECT * FROM " + 
tableName);
+s.execute("CREATE INDEX " + indexName + " ON " + viewName + " 
(CF.COL2)");
+
+try (ResultSet rs = s.executeQuery("SELECT * FROM " + viewName + " 
WHERE CF.COL2 = 'BBB'")) {
+assertTrue(rs.next());
+assertEquals("AAA", rs.getString("COL1"));
+assertEquals("BBB", rs.getString("COL2"));
+}
+}
+try (Connection c = getConnection(); Statement s = 
c.createStatement()) {
+String tableName = generateUniqueName();
+String viewName = generateUniqueName();
+String index1Name = generateUniqueName();
+String index2Name = generateUniqueName();
+
+c.setAutoCommit(true);
+s.execute("create table " + tableName + " (i1 integer primary key, 
c2.i2 integer, c3.i3 integer, c4.i4 integer)");
+s.execute("create view " + viewName + " as select * from " + 
tableName + " where c2.i2 = 1");
+s.executeUpdate("upsert into " + viewName + "(i1, c3.i3, c4.i4) 
VALUES (1, 1, 1)");
+s.execute("create index " + index1Name + " ON " + viewName + " 
(c3.i3)");
+s.execute("create index " + index2Name + " ON " + viewName + " 
(c3.i3) include (c4.i4)");
+s.executeUpdate("upsert into " + viewName + "(i1, c3.i3, c4.i4) 
VALUES (2, 2, 2)");
+
+try (ResultSet rs = s.executeQuery("select * from " + viewName + " 
WHERE c3.i3 = 1")) {
+assertTrue(rs.next());
+assertEquals(1, rs.getInt("i1"));
+assertEquals(1, rs.getInt("i2"));
+assertEquals(1, rs.getInt("i3"));
+assertEquals(1, rs.getInt("i4"));
+}
+}
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/c22e4c39/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index 9c17f03..1989c54 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoe

[1/6] phoenix git commit: PHOENIX-4669 NoSuchColumnFamilyException when creating index on views that are built on tables which have named column family

2018-04-09 Thread ssa
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-0.98 a9ddf1709 -> c22e4c39c
  refs/heads/4.x-HBase-1.1 990512606 -> 697d871a7
  refs/heads/4.x-HBase-1.2 18c778388 -> aec5101d9
  refs/heads/4.x-HBase-1.3 775c046ea -> 753e78423
  refs/heads/5.x-HBase-2.0 d653973a2 -> 880cda16f
  refs/heads/master 28c11fe3f -> 98a8ddda4


PHOENIX-4669 NoSuchColumnFamilyException when creating index on views that are 
built on tables which have named column family

Signed-off-by: ss77892 


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

Branch: refs/heads/master
Commit: 98a8ddda49eb38b72984ea3800c4ed37299f0254
Parents: 28c11fe
Author: Toshihiro Suzuki 
Authored: Thu Mar 29 17:17:37 2018 +0900
Committer: ss77892 
Committed: Mon Apr 9 21:39:40 2018 -0700

--
 .../phoenix/end2end/index/ViewIndexIT.java  | 45 +++-
 .../query/ConnectionQueryServicesImpl.java  | 27 ++--
 2 files changed, 57 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/98a8ddda/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
index 53bb550..8ffd798 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
@@ -31,6 +31,7 @@ import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.sql.Statement;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
@@ -443,5 +444,47 @@ public class ViewIndexIT extends ParallelStatsDisabledIT {
 assertFalse(rs.next());
 assertEquals(indexName, 
stmt.getQueryPlan().getContext().getCurrentTable().getTable().getName().getString());
 }
-
+
+@Test
+public void 
testCreatingIndexOnViewBuiltOnTableWithOnlyNamedColumnFamilies() throws 
Exception {
+try (Connection c = getConnection(); Statement s = 
c.createStatement()) {
+String tableName = generateUniqueName();
+String viewName = generateUniqueName();
+String indexName = generateUniqueName();
+
+c.setAutoCommit(true);
+s.execute("CREATE TABLE " + tableName + " (COL1 VARCHAR PRIMARY 
KEY, CF.COL2 VARCHAR)");
+s.executeUpdate("UPSERT INTO " + tableName + " VALUES ('AAA', 
'BBB')");
+s.execute("CREATE VIEW " + viewName + " AS SELECT * FROM " + 
tableName);
+s.execute("CREATE INDEX " + indexName + " ON " + viewName + " 
(CF.COL2)");
+
+try (ResultSet rs = s.executeQuery("SELECT * FROM " + viewName + " 
WHERE CF.COL2 = 'BBB'")) {
+assertTrue(rs.next());
+assertEquals("AAA", rs.getString("COL1"));
+assertEquals("BBB", rs.getString("COL2"));
+}
+}
+try (Connection c = getConnection(); Statement s = 
c.createStatement()) {
+String tableName = generateUniqueName();
+String viewName = generateUniqueName();
+String index1Name = generateUniqueName();
+String index2Name = generateUniqueName();
+
+c.setAutoCommit(true);
+s.execute("create table " + tableName + " (i1 integer primary key, 
c2.i2 integer, c3.i3 integer, c4.i4 integer)");
+s.execute("create view " + viewName + " as select * from " + 
tableName + " where c2.i2 = 1");
+s.executeUpdate("upsert into " + viewName + "(i1, c3.i3, c4.i4) 
VALUES (1, 1, 1)");
+s.execute("create index " + index1Name + " ON " + viewName + " 
(c3.i3)");
+s.execute("create index " + index2Name + " ON " + viewName + " 
(c3.i3) include (c4.i4)");
+s.executeUpdate("upsert into " + viewName + "(i1, c3.i3, c4.i4) 
VALUES (2, 2, 2)");
+
+try (ResultSet rs = s.executeQuery("select * from " + viewName + " 
WHERE c3.i3 = 1")) {
+assertTrue(rs.next());
+assertEquals(1, rs.getInt("i1"));
+assertEquals(1, rs.getInt("i2"));
+assertEquals(1, rs.getInt("i3"));
+assertEquals(1, rs.getInt("i4"));
+}
+}
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/98a8ddda/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--

[3/6] phoenix git commit: PHOENIX-4669 NoSuchColumnFamilyException when creating index on views that are built on tables which have named column family

2018-04-09 Thread ssa
PHOENIX-4669 NoSuchColumnFamilyException when creating index on views that are 
built on tables which have named column family

Signed-off-by: ss77892 


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

Branch: refs/heads/4.x-HBase-1.2
Commit: aec5101d92b2be20ad227ddf9c41b6d1c9feada6
Parents: 18c7783
Author: Toshihiro Suzuki 
Authored: Thu Mar 29 17:17:37 2018 +0900
Committer: ss77892 
Committed: Mon Apr 9 22:00:46 2018 -0700

--
 .../phoenix/end2end/index/ViewIndexIT.java  | 45 +++-
 .../query/ConnectionQueryServicesImpl.java  | 27 ++--
 2 files changed, 57 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/aec5101d/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
index 53bb550..8ffd798 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
@@ -31,6 +31,7 @@ import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.sql.Statement;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
@@ -443,5 +444,47 @@ public class ViewIndexIT extends ParallelStatsDisabledIT {
 assertFalse(rs.next());
 assertEquals(indexName, 
stmt.getQueryPlan().getContext().getCurrentTable().getTable().getName().getString());
 }
-
+
+@Test
+public void 
testCreatingIndexOnViewBuiltOnTableWithOnlyNamedColumnFamilies() throws 
Exception {
+try (Connection c = getConnection(); Statement s = 
c.createStatement()) {
+String tableName = generateUniqueName();
+String viewName = generateUniqueName();
+String indexName = generateUniqueName();
+
+c.setAutoCommit(true);
+s.execute("CREATE TABLE " + tableName + " (COL1 VARCHAR PRIMARY 
KEY, CF.COL2 VARCHAR)");
+s.executeUpdate("UPSERT INTO " + tableName + " VALUES ('AAA', 
'BBB')");
+s.execute("CREATE VIEW " + viewName + " AS SELECT * FROM " + 
tableName);
+s.execute("CREATE INDEX " + indexName + " ON " + viewName + " 
(CF.COL2)");
+
+try (ResultSet rs = s.executeQuery("SELECT * FROM " + viewName + " 
WHERE CF.COL2 = 'BBB'")) {
+assertTrue(rs.next());
+assertEquals("AAA", rs.getString("COL1"));
+assertEquals("BBB", rs.getString("COL2"));
+}
+}
+try (Connection c = getConnection(); Statement s = 
c.createStatement()) {
+String tableName = generateUniqueName();
+String viewName = generateUniqueName();
+String index1Name = generateUniqueName();
+String index2Name = generateUniqueName();
+
+c.setAutoCommit(true);
+s.execute("create table " + tableName + " (i1 integer primary key, 
c2.i2 integer, c3.i3 integer, c4.i4 integer)");
+s.execute("create view " + viewName + " as select * from " + 
tableName + " where c2.i2 = 1");
+s.executeUpdate("upsert into " + viewName + "(i1, c3.i3, c4.i4) 
VALUES (1, 1, 1)");
+s.execute("create index " + index1Name + " ON " + viewName + " 
(c3.i3)");
+s.execute("create index " + index2Name + " ON " + viewName + " 
(c3.i3) include (c4.i4)");
+s.executeUpdate("upsert into " + viewName + "(i1, c3.i3, c4.i4) 
VALUES (2, 2, 2)");
+
+try (ResultSet rs = s.executeQuery("select * from " + viewName + " 
WHERE c3.i3 = 1")) {
+assertTrue(rs.next());
+assertEquals(1, rs.getInt("i1"));
+assertEquals(1, rs.getInt("i2"));
+assertEquals(1, rs.getInt("i3"));
+assertEquals(1, rs.getInt("i4"));
+}
+}
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/aec5101d/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index eff406d..6df2f80 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoen

Build failed in Jenkins: Phoenix | 4.x-HBase-0.98 #1850

2018-04-09 Thread Apache Jenkins Server
See 

--
[...truncated 107.16 KB...]
[INFO] Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 241.597 
s - in org.apache.phoenix.end2end.join.HashJoinGlobalIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SortMergeJoinNoIndexIT
[INFO] Tests run: 80, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 607.84 
s - in org.apache.phoenix.end2end.index.MutableIndexIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 278.34 
s - in org.apache.phoenix.end2end.join.SortMergeJoinGlobalIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SubqueryIT
[INFO] Running org.apache.phoenix.end2end.join.SubqueryUsingSortMergeJoinIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 168.136 
s - in org.apache.phoenix.end2end.join.SortMergeJoinNoIndexIT
[INFO] Running org.apache.phoenix.end2end.salted.SaltedTableIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.314 s 
- in org.apache.phoenix.end2end.salted.SaltedTableIT
[INFO] Running org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 516.604 
s - in org.apache.phoenix.end2end.join.HashJoinLocalIndexIT
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.705 s 
- in org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT
[INFO] Running org.apache.phoenix.iterate.PhoenixQueryTimeoutIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.539 s 
- in org.apache.phoenix.iterate.PhoenixQueryTimeoutIT
[INFO] Running org.apache.phoenix.iterate.RoundRobinResultIteratorIT
[INFO] Running org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.543 s 
- in org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
[INFO] Running org.apache.phoenix.rpc.UpdateCacheIT
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.88 s 
- in org.apache.phoenix.rpc.UpdateCacheIT
[INFO] Running org.apache.phoenix.trace.PhoenixTableMetricsWriterIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.193 s 
- in org.apache.phoenix.trace.PhoenixTableMetricsWriterIT
[INFO] Running org.apache.phoenix.trace.PhoenixTraceReaderIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.36 s - 
in org.apache.phoenix.trace.PhoenixTraceReaderIT
[INFO] Running org.apache.phoenix.trace.PhoenixTracingEndToEndIT
[INFO] Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 149.124 
s - in org.apache.phoenix.end2end.join.SubqueryUsingSortMergeJoinIT
[INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 59.759 s 
- in org.apache.phoenix.iterate.RoundRobinResultIteratorIT
[INFO] Running org.apache.phoenix.tx.FlappingTransactionIT
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.76 s - 
in org.apache.phoenix.tx.FlappingTransactionIT
[INFO] Running org.apache.phoenix.tx.TransactionIT
[INFO] Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 203.642 
s - in org.apache.phoenix.end2end.join.SubqueryIT
[INFO] Running org.apache.phoenix.tx.ParameterizedTransactionIT
[INFO] Running org.apache.phoenix.tx.TxCheckpointIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 40.541 s 
- in org.apache.phoenix.tx.TransactionIT
[INFO] Running org.apache.phoenix.util.IndexScrutinyIT
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 89.707 s 
- in org.apache.phoenix.trace.PhoenixTracingEndToEndIT
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.389 s 
- in org.apache.phoenix.util.IndexScrutinyIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 513.693 
s - in org.apache.phoenix.end2end.join.SortMergeJoinLocalIndexIT
[ERROR] Tests run: 52, Failures: 0, Errors: 1, Skipped: 4, Time elapsed: 
178.054 s <<< FAILURE! - in org.apache.phoenix.tx.ParameterizedTransactionIT
[ERROR] 
testNonTxToTxTable[TransactionIT_mutable=true,columnEncoded=true](org.apache.phoenix.tx.ParameterizedTransactionIT)
  Time elapsed: 4.334 s  <<< ERROR!
org.apache.phoenix.schema.IllegalDataException: 
java.net.SocketTimeoutException: callTimeout=120, callDuration=9000103: row 
'?  ' on table 'T001311' at 
region=T001311,,1523319200477.2cd2e1ee0e619650dea974b807cb95ee., 
hostname=asf921.gq1.ygridcore.net,42646,1523319022999, seqNum=1
at 
org.apache.phoenix.tx.ParameterizedTransactionIT.testNonTxToTxTable(ParameterizedTransactionIT.java:288)
Caused by: java.net.SocketTimeoutException: callTimeout=120, 
callDuration=9000103: row '?  ' on table 'T001311' at 
region=T001311,,1523319200477.2cd2e1ee0e619650dea974b807cb95ee., 
hostname=asf921.gq1.ygridcore.net,42646,1523319022999, seqNum=1
at 
org.apache.phoenix.tx.ParameterizedTransaction

Build failed in Jenkins: Phoenix-4.x-HBase-1.1 #700

2018-04-09 Thread Apache Jenkins Server
See 


Changes:

[vincentpoon] PHOENIX-4683 Cap timeouts for stats precompact hook logic

--
[...truncated 218.92 KB...]
[INFO] Running org.apache.phoenix.end2end.index.txn.RollbackIT
[INFO] Running org.apache.phoenix.end2end.join.HashJoinCacheIT
[INFO] Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 468.485 
s - in org.apache.phoenix.end2end.index.LocalImmutableTxIndexIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.449 s 
- in org.apache.phoenix.end2end.join.HashJoinCacheIT
[INFO] Running org.apache.phoenix.end2end.join.HashJoinLocalIndexIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 71.173 s 
- in org.apache.phoenix.end2end.index.txn.RollbackIT
[INFO] Running org.apache.phoenix.end2end.join.HashJoinMoreIT
[INFO] Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 473.921 
s - in org.apache.phoenix.end2end.index.LocalMutableTxIndexIT
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 102.398 
s - in org.apache.phoenix.end2end.index.txn.MutableRollbackIT
[INFO] Running org.apache.phoenix.end2end.join.SortMergeJoinGlobalIndexIT
[INFO] Running org.apache.phoenix.end2end.join.HashJoinGlobalIndexIT
[INFO] Running org.apache.phoenix.end2end.join.HashJoinNoIndexIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 102.196 
s - in org.apache.phoenix.end2end.join.HashJoinMoreIT
[INFO] Running org.apache.phoenix.end2end.join.SortMergeJoinLocalIndexIT
[INFO] Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 348.085 
s - in org.apache.phoenix.end2end.join.HashJoinNoIndexIT
[INFO] Tests run: 80, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 823.284 
s - in org.apache.phoenix.end2end.index.MutableIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SortMergeJoinNoIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SubqueryIT
[INFO] Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 598.867 
s - in org.apache.phoenix.end2end.join.HashJoinGlobalIndexIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 615.928 
s - in org.apache.phoenix.end2end.join.SortMergeJoinGlobalIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SubqueryUsingSortMergeJoinIT
[INFO] Running org.apache.phoenix.end2end.salted.SaltedTableIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.302 s 
- in org.apache.phoenix.end2end.salted.SaltedTableIT
[INFO] Running org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 50.284 s 
- in org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT
[INFO] Running org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.412 s 
- in org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
[INFO] Running org.apache.phoenix.iterate.PhoenixQueryTimeoutIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.142 s 
- in org.apache.phoenix.iterate.PhoenixQueryTimeoutIT
[INFO] Running org.apache.phoenix.iterate.RoundRobinResultIteratorIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 781.072 
s - in org.apache.phoenix.end2end.join.HashJoinLocalIndexIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 368.518 
s - in org.apache.phoenix.end2end.join.SortMergeJoinNoIndexIT
[INFO] Running org.apache.phoenix.replication.SystemCatalogWALEntryFilterIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.39 s - 
in org.apache.phoenix.replication.SystemCatalogWALEntryFilterIT
[INFO] Running org.apache.phoenix.trace.PhoenixTableMetricsWriterIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.901 s 
- in org.apache.phoenix.trace.PhoenixTableMetricsWriterIT
[INFO] Running org.apache.phoenix.trace.PhoenixTracingEndToEndIT
[INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 74.828 s 
- in org.apache.phoenix.iterate.RoundRobinResultIteratorIT
[INFO] Running org.apache.phoenix.rpc.UpdateCacheIT
[INFO] Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 383.085 
s - in org.apache.phoenix.end2end.join.SubqueryIT
[INFO] Running org.apache.phoenix.tx.FlappingTransactionIT
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 40.658 s 
- in org.apache.phoenix.rpc.UpdateCacheIT
[INFO] Running org.apache.phoenix.tx.TransactionIT
[INFO] Running org.apache.phoenix.tx.ParameterizedTransactionIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 796.072 
s - in org.apache.phoenix.end2end.join.SortMergeJoinLocalIndexIT
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.131 s 
- in org.apache.phoenix.tx.FlappingTransactionIT
[INFO] Running org.apache.phoen

Build failed in Jenkins: Phoenix-4.x-HBase-1.3 #83

2018-04-09 Thread Apache Jenkins Server
See 


Changes:

[vincentpoon] PHOENIX-4683 Cap timeouts for stats precompact hook logic

--
[...truncated 105.42 KB...]
[INFO] Running org.apache.phoenix.end2end.index.txn.MutableRollbackIT
[WARNING] Tests run: 12, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 
115.429 s - in org.apache.phoenix.end2end.index.ViewIndexIT
[INFO] Running org.apache.phoenix.end2end.index.txn.RollbackIT
[INFO] Running org.apache.phoenix.end2end.join.HashJoinCacheIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.62 s 
- in org.apache.phoenix.end2end.join.HashJoinCacheIT
[INFO] Running org.apache.phoenix.end2end.join.HashJoinGlobalIndexIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 83.844 s 
- in org.apache.phoenix.end2end.index.txn.RollbackIT
[INFO] Running org.apache.phoenix.end2end.join.HashJoinLocalIndexIT
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 111.236 
s - in org.apache.phoenix.end2end.index.txn.MutableRollbackIT
[INFO] Running org.apache.phoenix.end2end.join.HashJoinMoreIT
[INFO] Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 464.174 
s - in org.apache.phoenix.end2end.index.LocalImmutableNonTxIndexIT
[INFO] Running org.apache.phoenix.end2end.join.HashJoinNoIndexIT
[INFO] Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 468.434 
s - in org.apache.phoenix.end2end.index.LocalMutableNonTxIndexIT
[INFO] Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 492.141 
s - in org.apache.phoenix.end2end.index.LocalImmutableTxIndexIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 101.461 
s - in org.apache.phoenix.end2end.join.HashJoinMoreIT
[INFO] Running org.apache.phoenix.end2end.join.SortMergeJoinNoIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SortMergeJoinGlobalIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SortMergeJoinLocalIndexIT
[INFO] Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 495.945 
s - in org.apache.phoenix.end2end.index.LocalMutableTxIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SubqueryIT
[INFO] Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 360.7 s 
- in org.apache.phoenix.end2end.join.HashJoinNoIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SubqueryUsingSortMergeJoinIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 374.056 
s - in org.apache.phoenix.end2end.join.SortMergeJoinNoIndexIT
[INFO] Running org.apache.phoenix.end2end.salted.SaltedTableIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.499 s 
- in org.apache.phoenix.end2end.salted.SaltedTableIT
[INFO] Running org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT
[INFO] Tests run: 80, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 900.427 
s - in org.apache.phoenix.end2end.index.MutableIndexIT
[INFO] Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 624.113 
s - in org.apache.phoenix.end2end.join.HashJoinGlobalIndexIT
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 52.476 s 
- in org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT
[INFO] Running org.apache.phoenix.iterate.RoundRobinResultIteratorIT
[INFO] Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 398.015 
s - in org.apache.phoenix.end2end.join.SubqueryIT
[INFO] Running org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.369 s 
- in org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
[INFO] Running org.apache.phoenix.rpc.UpdateCacheIT
[INFO] Running org.apache.phoenix.iterate.PhoenixQueryTimeoutIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.225 s 
- in org.apache.phoenix.iterate.PhoenixQueryTimeoutIT
[INFO] Running org.apache.phoenix.trace.PhoenixTableMetricsWriterIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.541 s 
- in org.apache.phoenix.trace.PhoenixTableMetricsWriterIT
[INFO] Running org.apache.phoenix.trace.PhoenixTracingEndToEndIT
[INFO] Running org.apache.phoenix.replication.SystemCatalogWALEntryFilterIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.354 s 
- in org.apache.phoenix.replication.SystemCatalogWALEntryFilterIT
[INFO] Running org.apache.phoenix.tx.FlappingTransactionIT
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 42.34 s 
- in org.apache.phoenix.rpc.UpdateCacheIT
[INFO] Running org.apache.phoenix.tx.ParameterizedTransactionIT
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.719 s 
- in org.apache.phoenix.tx.FlappingTransactionIT
[INFO] Running org.apache.phoenix.tx.TransactionIT
[INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 76.582 s 
- in org.apache.phoenix.iter

Build failed in Jenkins: Phoenix | 4.x-HBase-0.98 #1849

2018-04-09 Thread Apache Jenkins Server
See 


Changes:

[vincentpoon] PHOENIX-4683 Cap timeouts for stats precompact hook logic

--
[...truncated 110.95 KB...]
[ERROR] 
testNonTxToTxTable[TransactionIT_mutable=true,columnEncoded=false](org.apache.phoenix.tx.ParameterizedTransactionIT)
  Time elapsed: 2.98 s  <<< ERROR!
org.apache.phoenix.schema.IllegalDataException: 
java.net.SocketTimeoutException: callTimeout=120, callDuration=9000103: row 
'?  ' on table 'T001232' at 
region=T001232,,1523312882562.a064a3742913e4abefc02ec466fb17c1., 
hostname=priapus.apache.org,54481,1523312773128, seqNum=1
at 
org.apache.phoenix.tx.ParameterizedTransactionIT.testNonTxToTxTable(ParameterizedTransactionIT.java:288)
Caused by: java.net.SocketTimeoutException: callTimeout=120, 
callDuration=9000103: row '?  ' on table 'T001232' at 
region=T001232,,1523312882562.a064a3742913e4abefc02ec466fb17c1., 
hostname=priapus.apache.org,54481,1523312773128, seqNum=1
at 
org.apache.phoenix.tx.ParameterizedTransactionIT.testNonTxToTxTable(ParameterizedTransactionIT.java:288)
Caused by: org.apache.hadoop.hbase.NotServingRegionException: 
org.apache.hadoop.hbase.NotServingRegionException: 
T001232,,1523312882562.a064a3742913e4abefc02ec466fb17c1. is closing
at 
org.apache.hadoop.hbase.regionserver.HRegion.startRegionOperation(HRegion.java:6306)
at 
org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2027)
at 
org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2013)
at 
org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3260)
at 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32492)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2195)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:104)
at 
org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)
at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)
at java.lang.Thread.run(Thread.java:745)

at 
org.apache.phoenix.tx.ParameterizedTransactionIT.testNonTxToTxTable(ParameterizedTransactionIT.java:288)
Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException: 
org.apache.hadoop.hbase.NotServingRegionException: 
T001232,,1523312882562.a064a3742913e4abefc02ec466fb17c1. is closing
at 
org.apache.hadoop.hbase.regionserver.HRegion.startRegionOperation(HRegion.java:6306)
at 
org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2027)
at 
org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2013)
at 
org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3260)
at 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32492)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2195)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:104)
at 
org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)
at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)
at java.lang.Thread.run(Thread.java:745)

at 
org.apache.phoenix.tx.ParameterizedTransactionIT.testNonTxToTxTable(ParameterizedTransactionIT.java:288)

[ERROR] 
testNonTxToTxTable[TransactionIT_mutable=true,columnEncoded=true](org.apache.phoenix.tx.ParameterizedTransactionIT)
  Time elapsed: 2.82 s  <<< ERROR!
org.apache.phoenix.schema.IllegalDataException: 
java.net.SocketTimeoutException: callTimeout=120, callDuration=9000102: row 
'?  ' on table 'T001249' at 
region=T001249,,1523312915085.b3335123bf74c6de9af827b7cb6d31bd., 
hostname=priapus.apache.org,54481,1523312773128, seqNum=1
at 
org.apache.phoenix.tx.ParameterizedTransactionIT.testNonTxToTxTable(ParameterizedTransactionIT.java:288)
Caused by: java.net.SocketTimeoutException: callTimeout=120, 
callDuration=9000102: row '?  ' on table 'T001249' at 
region=T001249,,1523312915085.b3335123bf74c6de9af827b7cb6d31bd., 
hostname=priapus.apache.org,54481,1523312773128, seqNum=1
at 
org.apache.phoenix.tx.ParameterizedTransactionIT.testNonTxToTxTable(ParameterizedTransactionIT.java:288)
Caused by: org.apache.hadoop.hbase.NotServingRegionException: 
org.apache.hadoop.hbase.NotServingRegionException: 
T001249,,1523312915085.b3335123bf74c6de9af827b7cb6d31bd. is closing
at 
org.apache.hadoop.hbase.regionserver.HRegion.startRegionOperation(HRegion.java:6306)
at 
org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2027)
at 
org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2013)
at 
org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3260)
at 
org.apache.hadoop.hb

phoenix git commit: PHOENIX-4683 Cap timeouts for stats precompact hook logic

2018-04-09 Thread vincentpoon
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.1 1b7f58104 -> 990512606


PHOENIX-4683 Cap timeouts for stats precompact hook logic


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

Branch: refs/heads/4.x-HBase-1.1
Commit: 990512606a6d523b57243cfd407c8084f73a7de3
Parents: 1b7f581
Author: Vincent Poon 
Authored: Mon Apr 9 14:04:28 2018 -0700
Committer: Vincent Poon 
Committed: Mon Apr 9 14:25:45 2018 -0700

--
 .../DelegateRegionCoprocessorEnvironment.java   |  9 ++-
 .../UngroupedAggregateRegionObserver.java   |  8 ++-
 .../hbase/index/write/IndexWriterUtils.java | 71 ++-
 .../org/apache/phoenix/util/ServerUtil.java | 72 
 4 files changed, 89 insertions(+), 71 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/99051260/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
index 380212e..284d53c 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
@@ -29,6 +29,9 @@ import org.apache.hadoop.hbase.client.HTableInterface;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
 import org.apache.hadoop.hbase.regionserver.Region;
 import org.apache.hadoop.hbase.regionserver.RegionServerServices;
+import org.apache.phoenix.hbase.index.table.HTableFactory;
+import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
+import org.apache.phoenix.util.ServerUtil;
 
 /**
  * Class to encapsulate {@link RegionCoprocessorEnvironment} for phoenix 
coprocessors. Often we
@@ -39,10 +42,12 @@ public class DelegateRegionCoprocessorEnvironment 
implements RegionCoprocessorEn
 
 private final Configuration config;
 private RegionCoprocessorEnvironment delegate;
+private HTableFactory tableFactory;
 
 public DelegateRegionCoprocessorEnvironment(Configuration config, 
RegionCoprocessorEnvironment delegate) {
 this.config = config;
 this.delegate = delegate;
+this.tableFactory = ServerUtil.getDelegateHTableFactory(this, config);
 }
 
 @Override
@@ -77,13 +82,13 @@ public class DelegateRegionCoprocessorEnvironment 
implements RegionCoprocessorEn
 
 @Override
 public HTableInterface getTable(TableName tableName) throws IOException {
-return delegate.getTable(tableName);
+return tableFactory.getTable(new 
ImmutableBytesPtr(tableName.getName()));
 }
 
 @Override
 public HTableInterface getTable(TableName tableName, ExecutorService 
service)
 throws IOException {
-return delegate.getTable(tableName, service);
+return tableFactory.getTable(new 
ImmutableBytesPtr(tableName.getName()));
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/phoenix/blob/99051260/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
index 965ba1b..27d3880 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
@@ -94,6 +94,7 @@ import 
org.apache.phoenix.hbase.index.exception.IndexWriteException;
 import org.apache.phoenix.hbase.index.util.GenericKeyValueBuilder;
 import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
 import org.apache.phoenix.hbase.index.util.KeyValueBuilder;
+import org.apache.phoenix.hbase.index.write.IndexWriterUtils;
 import org.apache.phoenix.index.IndexMaintainer;
 import org.apache.phoenix.index.PhoenixIndexCodec;
 import org.apache.phoenix.index.PhoenixIndexFailurePolicy;
@@ -978,10 +979,13 @@ public class UngroupedAggregateRegionObserver extends 
BaseScannerRegionObserver
 InternalScanner internalScanner = scanner;
 try {
 long clientTimeStamp = 
EnvironmentEdgeManager.currentTimeMillis();
+DelegateRegi

phoenix git commit: PHOENIX-4683 Cap timeouts for stats precompact hook logic

2018-04-09 Thread vincentpoon
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-0.98 b52f467d9 -> a9ddf1709


PHOENIX-4683 Cap timeouts for stats precompact hook logic


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

Branch: refs/heads/4.x-HBase-0.98
Commit: a9ddf1709cb898c2e2508bd4e931b1b8d272e8a6
Parents: b52f467
Author: Vincent Poon 
Authored: Mon Apr 9 14:24:48 2018 -0700
Committer: Vincent Poon 
Committed: Mon Apr 9 14:24:48 2018 -0700

--
 .../DelegateRegionCoprocessorEnvironment.java   |  9 ++-
 .../UngroupedAggregateRegionObserver.java   | 10 ++-
 .../hbase/index/write/IndexWriterUtils.java | 71 ++-
 .../org/apache/phoenix/util/ServerUtil.java | 72 
 4 files changed, 90 insertions(+), 72 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/a9ddf170/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
index 6642b45..a3a8bc3 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
@@ -29,6 +29,9 @@ import org.apache.hadoop.hbase.client.HTableInterface;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
 import org.apache.hadoop.hbase.regionserver.HRegion;
 import org.apache.hadoop.hbase.regionserver.RegionServerServices;
+import org.apache.phoenix.hbase.index.table.HTableFactory;
+import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
+import org.apache.phoenix.util.ServerUtil;
 
 /**
  * Class to encapsulate {@link RegionCoprocessorEnvironment} for phoenix 
coprocessors. Often we
@@ -39,10 +42,12 @@ public class DelegateRegionCoprocessorEnvironment 
implements RegionCoprocessorEn
 
 private final Configuration config;
 private RegionCoprocessorEnvironment delegate;
+private HTableFactory tableFactory;
 
 public DelegateRegionCoprocessorEnvironment(Configuration config, 
RegionCoprocessorEnvironment delegate) {
 this.config = config;
 this.delegate = delegate;
+this.tableFactory = ServerUtil.getDelegateHTableFactory(this, config);
 }
 
 @Override
@@ -77,13 +82,13 @@ public class DelegateRegionCoprocessorEnvironment 
implements RegionCoprocessorEn
 
 @Override
 public HTableInterface getTable(TableName tableName) throws IOException {
-return delegate.getTable(tableName);
+return tableFactory.getTable(new 
ImmutableBytesPtr(tableName.getName()));
 }
 
 @Override
 public HTableInterface getTable(TableName tableName, ExecutorService 
service)
 throws IOException {
-return delegate.getTable(tableName, service);
+return tableFactory.getTable(new 
ImmutableBytesPtr(tableName.getName()));
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/phoenix/blob/a9ddf170/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
index f46aaca..3a796e3 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
@@ -95,6 +95,7 @@ import 
org.apache.phoenix.hbase.index.exception.IndexWriteException;
 import org.apache.phoenix.hbase.index.util.GenericKeyValueBuilder;
 import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
 import org.apache.phoenix.hbase.index.util.KeyValueBuilder;
+import org.apache.phoenix.hbase.index.write.IndexWriterUtils;
 import org.apache.phoenix.index.IndexMaintainer;
 import org.apache.phoenix.index.PhoenixIndexCodec;
 import org.apache.phoenix.index.PhoenixIndexFailurePolicy;
@@ -979,11 +980,14 @@ public class UngroupedAggregateRegionObserver extends 
BaseScannerRegionObserver
 InternalScanner internalScanner = scanner;
 try {
 long clientTimeStamp = 
EnvironmentEdgeManager.currentTimeMillis();
+ 

phoenix git commit: PHOENIX-4683 Cap timeouts for stats precompact hook logic

2018-04-09 Thread vincentpoon
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.2 52d3c7d01 -> 18c778388


PHOENIX-4683 Cap timeouts for stats precompact hook logic


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

Branch: refs/heads/4.x-HBase-1.2
Commit: 18c778388eee633b66a33c461a7f1f0d2f5d3b27
Parents: 52d3c7d
Author: Vincent Poon 
Authored: Mon Apr 9 14:04:28 2018 -0700
Committer: Vincent Poon 
Committed: Mon Apr 9 14:15:56 2018 -0700

--
 .../DelegateRegionCoprocessorEnvironment.java   |  9 ++-
 .../UngroupedAggregateRegionObserver.java   |  8 ++-
 .../hbase/index/write/IndexWriterUtils.java | 71 ++-
 .../org/apache/phoenix/util/ServerUtil.java | 72 
 4 files changed, 89 insertions(+), 71 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/18c77838/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
index 380212e..284d53c 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
@@ -29,6 +29,9 @@ import org.apache.hadoop.hbase.client.HTableInterface;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
 import org.apache.hadoop.hbase.regionserver.Region;
 import org.apache.hadoop.hbase.regionserver.RegionServerServices;
+import org.apache.phoenix.hbase.index.table.HTableFactory;
+import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
+import org.apache.phoenix.util.ServerUtil;
 
 /**
  * Class to encapsulate {@link RegionCoprocessorEnvironment} for phoenix 
coprocessors. Often we
@@ -39,10 +42,12 @@ public class DelegateRegionCoprocessorEnvironment 
implements RegionCoprocessorEn
 
 private final Configuration config;
 private RegionCoprocessorEnvironment delegate;
+private HTableFactory tableFactory;
 
 public DelegateRegionCoprocessorEnvironment(Configuration config, 
RegionCoprocessorEnvironment delegate) {
 this.config = config;
 this.delegate = delegate;
+this.tableFactory = ServerUtil.getDelegateHTableFactory(this, config);
 }
 
 @Override
@@ -77,13 +82,13 @@ public class DelegateRegionCoprocessorEnvironment 
implements RegionCoprocessorEn
 
 @Override
 public HTableInterface getTable(TableName tableName) throws IOException {
-return delegate.getTable(tableName);
+return tableFactory.getTable(new 
ImmutableBytesPtr(tableName.getName()));
 }
 
 @Override
 public HTableInterface getTable(TableName tableName, ExecutorService 
service)
 throws IOException {
-return delegate.getTable(tableName, service);
+return tableFactory.getTable(new 
ImmutableBytesPtr(tableName.getName()));
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/phoenix/blob/18c77838/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
index 965ba1b..27d3880 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
@@ -94,6 +94,7 @@ import 
org.apache.phoenix.hbase.index.exception.IndexWriteException;
 import org.apache.phoenix.hbase.index.util.GenericKeyValueBuilder;
 import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
 import org.apache.phoenix.hbase.index.util.KeyValueBuilder;
+import org.apache.phoenix.hbase.index.write.IndexWriterUtils;
 import org.apache.phoenix.index.IndexMaintainer;
 import org.apache.phoenix.index.PhoenixIndexCodec;
 import org.apache.phoenix.index.PhoenixIndexFailurePolicy;
@@ -978,10 +979,13 @@ public class UngroupedAggregateRegionObserver extends 
BaseScannerRegionObserver
 InternalScanner internalScanner = scanner;
 try {
 long clientTimeStamp = 
EnvironmentEdgeManager.currentTimeMillis();
+DelegateRegi

phoenix git commit: PHOENIX-4683 Cap timeouts for stats precompact hook logic

2018-04-09 Thread vincentpoon
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.3 fb9626117 -> 775c046ea


PHOENIX-4683 Cap timeouts for stats precompact hook logic


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

Branch: refs/heads/4.x-HBase-1.3
Commit: 775c046ea66a9d0da30aa2e482a01ebf5b9a1a43
Parents: fb96261
Author: Vincent Poon 
Authored: Mon Apr 9 14:04:28 2018 -0700
Committer: Vincent Poon 
Committed: Mon Apr 9 14:15:25 2018 -0700

--
 .../DelegateRegionCoprocessorEnvironment.java   |  9 ++-
 .../UngroupedAggregateRegionObserver.java   |  8 ++-
 .../hbase/index/write/IndexWriterUtils.java | 71 ++-
 .../org/apache/phoenix/util/ServerUtil.java | 72 
 4 files changed, 89 insertions(+), 71 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/775c046e/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
index 380212e..284d53c 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
@@ -29,6 +29,9 @@ import org.apache.hadoop.hbase.client.HTableInterface;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
 import org.apache.hadoop.hbase.regionserver.Region;
 import org.apache.hadoop.hbase.regionserver.RegionServerServices;
+import org.apache.phoenix.hbase.index.table.HTableFactory;
+import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
+import org.apache.phoenix.util.ServerUtil;
 
 /**
  * Class to encapsulate {@link RegionCoprocessorEnvironment} for phoenix 
coprocessors. Often we
@@ -39,10 +42,12 @@ public class DelegateRegionCoprocessorEnvironment 
implements RegionCoprocessorEn
 
 private final Configuration config;
 private RegionCoprocessorEnvironment delegate;
+private HTableFactory tableFactory;
 
 public DelegateRegionCoprocessorEnvironment(Configuration config, 
RegionCoprocessorEnvironment delegate) {
 this.config = config;
 this.delegate = delegate;
+this.tableFactory = ServerUtil.getDelegateHTableFactory(this, config);
 }
 
 @Override
@@ -77,13 +82,13 @@ public class DelegateRegionCoprocessorEnvironment 
implements RegionCoprocessorEn
 
 @Override
 public HTableInterface getTable(TableName tableName) throws IOException {
-return delegate.getTable(tableName);
+return tableFactory.getTable(new 
ImmutableBytesPtr(tableName.getName()));
 }
 
 @Override
 public HTableInterface getTable(TableName tableName, ExecutorService 
service)
 throws IOException {
-return delegate.getTable(tableName, service);
+return tableFactory.getTable(new 
ImmutableBytesPtr(tableName.getName()));
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/phoenix/blob/775c046e/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
index 965ba1b..27d3880 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
@@ -94,6 +94,7 @@ import 
org.apache.phoenix.hbase.index.exception.IndexWriteException;
 import org.apache.phoenix.hbase.index.util.GenericKeyValueBuilder;
 import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
 import org.apache.phoenix.hbase.index.util.KeyValueBuilder;
+import org.apache.phoenix.hbase.index.write.IndexWriterUtils;
 import org.apache.phoenix.index.IndexMaintainer;
 import org.apache.phoenix.index.PhoenixIndexCodec;
 import org.apache.phoenix.index.PhoenixIndexFailurePolicy;
@@ -978,10 +979,13 @@ public class UngroupedAggregateRegionObserver extends 
BaseScannerRegionObserver
 InternalScanner internalScanner = scanner;
 try {
 long clientTimeStamp = 
EnvironmentEdgeManager.currentTimeMillis();
+DelegateRegi

phoenix git commit: PHOENIX-4683 Cap timeouts for stats precompact hook logic

2018-04-09 Thread vincentpoon
Repository: phoenix
Updated Branches:
  refs/heads/master 0b1b219ef -> 28c11fe3f


PHOENIX-4683 Cap timeouts for stats precompact hook logic


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

Branch: refs/heads/master
Commit: 28c11fe3f4647f192849adb9c2567cff9c405bbb
Parents: 0b1b219
Author: Vincent Poon 
Authored: Mon Apr 9 14:04:28 2018 -0700
Committer: Vincent Poon 
Committed: Mon Apr 9 14:06:15 2018 -0700

--
 .../DelegateRegionCoprocessorEnvironment.java   |  9 ++-
 .../UngroupedAggregateRegionObserver.java   |  8 ++-
 .../hbase/index/write/IndexWriterUtils.java | 71 ++-
 .../org/apache/phoenix/util/ServerUtil.java | 72 
 4 files changed, 89 insertions(+), 71 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/28c11fe3/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
index a173251..a887632 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionCoprocessorEnvironment.java
@@ -30,6 +30,9 @@ import 
org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
 import org.apache.hadoop.hbase.metrics.MetricRegistry;
 import org.apache.hadoop.hbase.regionserver.Region;
 import org.apache.hadoop.hbase.regionserver.RegionServerServices;
+import org.apache.phoenix.hbase.index.table.HTableFactory;
+import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
+import org.apache.phoenix.util.ServerUtil;
 
 /**
  * Class to encapsulate {@link RegionCoprocessorEnvironment} for phoenix 
coprocessors. Often we
@@ -40,10 +43,12 @@ public class DelegateRegionCoprocessorEnvironment 
implements RegionCoprocessorEn
 
 private final Configuration config;
 private RegionCoprocessorEnvironment delegate;
+private HTableFactory tableFactory;
 
 public DelegateRegionCoprocessorEnvironment(Configuration config, 
RegionCoprocessorEnvironment delegate) {
 this.config = config;
 this.delegate = delegate;
+this.tableFactory = ServerUtil.getDelegateHTableFactory(this, config);
 }
 
 @Override
@@ -78,13 +83,13 @@ public class DelegateRegionCoprocessorEnvironment 
implements RegionCoprocessorEn
 
 @Override
 public HTableInterface getTable(TableName tableName) throws IOException {
-return delegate.getTable(tableName);
+return tableFactory.getTable(new 
ImmutableBytesPtr(tableName.getName()));
 }
 
 @Override
 public HTableInterface getTable(TableName tableName, ExecutorService 
service)
 throws IOException {
-return delegate.getTable(tableName, service);
+return tableFactory.getTable(new 
ImmutableBytesPtr(tableName.getName()));
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/phoenix/blob/28c11fe3/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
index 965ba1b..27d3880 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
@@ -94,6 +94,7 @@ import 
org.apache.phoenix.hbase.index.exception.IndexWriteException;
 import org.apache.phoenix.hbase.index.util.GenericKeyValueBuilder;
 import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
 import org.apache.phoenix.hbase.index.util.KeyValueBuilder;
+import org.apache.phoenix.hbase.index.write.IndexWriterUtils;
 import org.apache.phoenix.index.IndexMaintainer;
 import org.apache.phoenix.index.PhoenixIndexCodec;
 import org.apache.phoenix.index.PhoenixIndexFailurePolicy;
@@ -978,10 +979,13 @@ public class UngroupedAggregateRegionObserver extends 
BaseScannerRegionObserver
 InternalScanner internalScanner = scanner;
 try {
 long clientTimeStamp = 
EnvironmentEdgeManager.currentTimeMillis();
+DelegateRegionCoprocessor

phoenix git commit: PHOENIX-4683 Cap timeouts for stats precompact hook logic

2018-04-09 Thread vincentpoon
Repository: phoenix
Updated Branches:
  refs/heads/5.x-HBase-2.0 f64170a30 -> d653973a2


PHOENIX-4683 Cap timeouts for stats precompact hook logic


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

Branch: refs/heads/5.x-HBase-2.0
Commit: d653973a29648258c6a1cd44fda1452914fd019f
Parents: f64170a
Author: Vincent Poon 
Authored: Mon Apr 9 13:39:27 2018 -0700
Committer: Vincent Poon 
Committed: Mon Apr 9 13:40:05 2018 -0700

--
 .../coprocessor/UngroupedAggregateRegionObserver.java| 8 ++--
 .../phoenix/schema/stats/DefaultStatisticsCollector.java | 2 +-
 .../org/apache/phoenix/schema/stats/StatisticsWriter.java| 2 +-
 3 files changed, 8 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/d653973a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
index 1ef591f..4697b99 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
@@ -100,6 +100,7 @@ import 
org.apache.phoenix.hbase.index.covered.update.ColumnReference;
 import org.apache.phoenix.hbase.index.util.GenericKeyValueBuilder;
 import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
 import org.apache.phoenix.hbase.index.util.KeyValueBuilder;
+import org.apache.phoenix.hbase.index.write.IndexWriterUtils;
 import org.apache.phoenix.index.IndexMaintainer;
 import org.apache.phoenix.index.PhoenixIndexCodec;
 import org.apache.phoenix.jdbc.PhoenixConnection;
@@ -940,10 +941,13 @@ public class UngroupedAggregateRegionObserver extends 
BaseScannerRegionObserver
 InternalScanner internalScanner = scanner;
 try {
 long clientTimeStamp = 
EnvironmentEdgeManager.currentTimeMillis();
+DelegateRegionCoprocessorEnvironment compactionConfEnv 
= new DelegateRegionCoprocessorEnvironment(compactionConfig, 
c.getEnvironment());
 StatisticsCollector stats = 
StatisticsCollectorFactory.createStatisticsCollector(
-c.getEnvironment(), table.getNameAsString(), 
clientTimeStamp,
+compactionConfEnv, table.getNameAsString(), 
clientTimeStamp,
 store.getColumnFamilyDescriptor().getName());
-internalScanner = 
stats.createCompactionScanner(c.getEnvironment(), store, scanner);
+internalScanner =
+
stats.createCompactionScanner(compactionConfEnv,
+store, scanner);
 } catch (Exception e) {
 // If we can't reach the stats table, don't interrupt 
the normal
 // compaction operation, just log a warning.

http://git-wip-us.apache.org/repos/asf/phoenix/blob/d653973a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/DefaultStatisticsCollector.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/DefaultStatisticsCollector.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/DefaultStatisticsCollector.java
index 853c24d..3e96b8b 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/DefaultStatisticsCollector.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/DefaultStatisticsCollector.java
@@ -141,7 +141,7 @@ class DefaultStatisticsCollector implements 
StatisticsCollector {
 Table htable = null;
 try {
 // Next check for GUIDE_POST_WIDTH on table
-htable = env.getConnection().getTable(
+htable = env.createConnection(env.getConfiguration()).getTable(
 
SchemaUtil.getPhysicalTableName(PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES,
 env.getConfiguration()));
 Get get = new Get(ptableKey);
 get.addColumn(PhoenixDatabaseMetaData.TABLE_FAMILY_BYTES, 
PhoenixDatabaseMetaData.GUIDE_POSTS_WIDTH_BYTES);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/d653973a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsWriter.java

phoenix git commit: PHOENIX-4682 UngroupedAggregateRegionObserver preCompactScannerOpen hook should not throw exceptions

2018-04-09 Thread vincentpoon
Repository: phoenix
Updated Branches:
  refs/heads/5.x-HBase-2.0 60841186d -> f64170a30


PHOENIX-4682 UngroupedAggregateRegionObserver preCompactScannerOpen hook should 
not throw exceptions


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

Branch: refs/heads/5.x-HBase-2.0
Commit: f64170a3001052cf889acb8e7b904cb2c20dc2c4
Parents: 6084118
Author: Vincent Poon 
Authored: Mon Apr 9 13:10:14 2018 -0700
Committer: Vincent Poon 
Committed: Mon Apr 9 13:11:48 2018 -0700

--
 .../phoenix/end2end/index/MutableIndexIT.java   | 39 +
 .../UngroupedAggregateRegionObserver.java   | 83 +++-
 2 files changed, 86 insertions(+), 36 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/f64170a3/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 747a627..d69a4a5 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
@@ -41,14 +41,18 @@ import org.apache.hadoop.hbase.client.Admin;
 import org.apache.hadoop.hbase.client.RegionInfo;
 import org.apache.hadoop.hbase.client.Table;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
+import org.apache.hadoop.hbase.client.HTable;
+import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.regionserver.HRegion;
 import org.apache.hadoop.hbase.regionserver.HStore;
 import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.Threads;
+import org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver;
 import org.apache.phoenix.end2end.ParallelStatsDisabledIT;
 import org.apache.phoenix.end2end.PartialScannerResultsDisabledIT;
 import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
 import org.apache.phoenix.query.BaseTest;
 import org.apache.phoenix.query.ConnectionQueryServices;
 import org.apache.phoenix.query.QueryConstants;
@@ -828,6 +832,41 @@ public class MutableIndexIT extends 
ParallelStatsDisabledIT {
   }
   }
 
+  // some tables (e.g. indexes on views) have UngroupedAgg coproc loaded, but 
don't have a
+  // corresponding row in syscat.  This tests that compaction isn't blocked
+  @Test(timeout=12)
+  public void testCompactNonPhoenixTable() throws Exception {
+  try (Connection conn = getConnection()) {
+  // create a vanilla HBase table (non-Phoenix)
+  String randomTable = generateUniqueName();
+  TableName hbaseTN = TableName.valueOf(randomTable);
+  byte[] famBytes = Bytes.toBytes("fam");
+  Table hTable = getUtility().createTable(hbaseTN, famBytes);
+  TestUtil.addCoprocessor(conn, randomTable, 
UngroupedAggregateRegionObserver.class);
+  Put put = new Put(Bytes.toBytes("row"));
+  byte[] value = new byte[1];
+  Bytes.random(value);
+  put.addColumn(famBytes, Bytes.toBytes("colQ"), value);
+  hTable.put(put);
+
+  // major compaction shouldn't cause a timeout or RS abort
+  List regions = 
getUtility().getHBaseCluster().getRegions(hbaseTN);
+  HRegion hRegion = regions.get(0);
+  hRegion.flush(true);
+  HStore store = (HStore) hRegion.getStore(famBytes);
+  store.triggerMajorCompaction();
+  store.compactRecentForTestingAssumingDefaultPolicy(1);
+
+  // we should be able to compact syscat itself as well
+  regions = 
getUtility().getHBaseCluster().getRegions(TableName.valueOf(PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME));
+  hRegion = regions.get(0);
+  hRegion.flush(true);
+  store = (HStore) 
hRegion.getStore(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES);
+  store.triggerMajorCompaction();
+  store.compactRecentForTestingAssumingDefaultPolicy(1);
+  }
+  }
+
 private void upsertRow(String dml, Connection tenantConn, int i) throws 
SQLException {
 PreparedStatement stmt = tenantConn.prepareStatement(dml);
   stmt.setString(1, "00" + String.valueOf(i));

http://git-wip-us.apache.org/repos/asf/phoenix/blob/f64170a3/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
--
diff --git 
a/phoenix-core/

phoenix git commit: PHOENIX-672 Add new files missed during cherry-pick (addendum)

2018-04-09 Thread elserj
Repository: phoenix
Updated Branches:
  refs/heads/5.x-HBase-2.0 1e9099106 -> 60841186d


PHOENIX-672 Add new files missed during cherry-pick (addendum)


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

Branch: refs/heads/5.x-HBase-2.0
Commit: 60841186ddd7e8bc8eb03e3db40bad6ad811e091
Parents: 1e90991
Author: Josh Elser 
Authored: Mon Apr 9 13:56:42 2018 -0400
Committer: Josh Elser 
Committed: Mon Apr 9 13:56:42 2018 -0400

--
 .../phoenix/parse/ChangePermsStatement.java | 102 +++
 .../schema/TablesNotInSyncException.java|  39 +++
 2 files changed, 141 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/60841186/phoenix-core/src/main/java/org/apache/phoenix/parse/ChangePermsStatement.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/parse/ChangePermsStatement.java 
b/phoenix-core/src/main/java/org/apache/phoenix/parse/ChangePermsStatement.java
new file mode 100644
index 000..0eae26f
--- /dev/null
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/parse/ChangePermsStatement.java
@@ -0,0 +1,102 @@
+/*
+ * 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.parse;
+
+import org.antlr.runtime.RecognitionException;
+import org.apache.hadoop.hbase.AuthUtil;
+import org.apache.hadoop.hbase.security.access.Permission;
+import org.apache.phoenix.exception.PhoenixParserException;
+import org.apache.phoenix.jdbc.PhoenixStatement;
+import org.apache.phoenix.util.SchemaUtil;
+
+import java.util.Arrays;
+
+/**
+ * See PHOENIX-672, Use GRANT/REVOKE statements to assign or remove 
permissions for a user OR group on a table OR namespace
+ * Permissions are managed by HBase using hbase:acl table, Allowed permissions 
are RWXCA
+ */
+public class ChangePermsStatement implements BindableStatement {
+
+private Permission.Action[] permsList;
+private TableName tableName;
+private String schemaName;
+private String name;
+// Grant/Revoke statements are differentiated based on this boolean
+private boolean isGrantStatement;
+
+public ChangePermsStatement(String permsString, boolean isSchemaName,
+TableName tableName, String schemaName, 
boolean isGroupName, LiteralParseNode ugNode, boolean isGrantStatement) {
+// PHOENIX-672 HBase API doesn't allow to revoke specific permissions, 
hence this parameter will be ignored here.
+// To comply with SQL standards, we may support the user given 
permissions to revoke specific permissions in future.
+// GRANT permissions statement requires this parameter and the parsing 
will fail if it is not specified in SQL
+if(permsString != null) {
+Permission permission = new Permission(permsString.getBytes());
+permsList = permission.getActions();
+}
+if(isSchemaName) {
+this.schemaName = SchemaUtil.normalizeIdentifier(schemaName);
+} else {
+this.tableName = tableName;
+}
+name = SchemaUtil.normalizeLiteral(ugNode);
+name = isGroupName ? AuthUtil.toGroupEntry(name) : name;
+this.isGrantStatement = isGrantStatement;
+}
+
+public Permission.Action[] getPermsList() {
+return permsList;
+}
+
+public String getName() {
+return name;
+}
+
+public TableName getTableName() {
+return tableName;
+}
+
+public String getSchemaName() {
+return schemaName;
+}
+
+public boolean isGrantStatement() {
+return isGrantStatement;
+}
+
+public String toString() {
+StringBuffer buffer = new StringBuffer();
+buffer = this.isGrantStatement() ? buffer.append("GRANT ") : 
buffer.append("REVOKE ");
+buffer.append("permissions requested for user/group: " + 
this.getName(

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

2018-04-09 Thread Apache Jenkins Server
See 


--
[...truncated 39.68 KB...]
[ERROR] 
:[364,5]
 method does not override or implement a method from a supertype
[ERROR] 
:[370,5]
 method does not override or implement a method from a supertype
[ERROR] 
:[376,5]
 method does not override or implement a method from a supertype
[ERROR] 
:[382,5]
 method does not override or implement a method from a supertype
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on 
project phoenix-core: Compilation failure: Compilation failure: 
[ERROR] 
:[34,39]
 cannot find symbol
[ERROR]   symbol:   class MetricRegistry
[ERROR]   location: package org.apache.hadoop.hbase.metrics
[ERROR] 
:[144,16]
 cannot find symbol
[ERROR]   symbol:   class MetricRegistry
[ERROR]   location: class 
org.apache.phoenix.coprocessor.PhoenixMetaDataCoprocessorHost.PhoenixMetaDataControllerEnvironment
[ERROR] 
:[24,35]
 cannot find symbol
[ERROR]   symbol:   class DelegatingHBaseRpcController
[ERROR]   location: package org.apache.hadoop.hbase.ipc
[ERROR] 
:[25,35]
 cannot find symbol
[ERROR]   symbol:   class HBaseRpcController
[ERROR]   location: package org.apache.hadoop.hbase.ipc
[ERROR] 
:[37,37]
 cannot find symbol
[ERROR]   symbol: class DelegatingHBaseRpcController
[ERROR] 
:[56,38]
 cannot find symbol
[ERROR]   symbol:   class HBaseRpcController
[ERROR]   location: class 
org.apache.hadoop.hbase.ipc.controller.MetadataRpcController
[ERROR] 
:[26,35]
 cannot find symbol
[ERROR]   symbol:   class HBaseRpcController
[ERROR]   location: package org.apache.hadoop.hbase.ipc
[ERROR] 
:[40,12]
 cannot find symbol
[ERROR]   symbol:   class HBaseRpcController
[ERROR]   location: class 
org.apache.hadoop.hbase.ipc.controller.InterRegionServerMetadataRpcControllerFactory
[ERROR] 
:[46,12]
 cannot find symbol
[ERROR]   symbol:   class HBaseRpcController
[ERROR]   location: class 
org.apache.hadoop.hbase.ipc.controller.InterRegionServerMetadataRpcControllerFactory
[ERROR] 
:[52,12]
 cannot find symbol
[ERROR]   symbol:   class HBaseRpcController
[ERROR]   location: class 
org.apache.hadoop.hbase.ipc.controller.InterRegionServerMetadataRpcControllerFactory
[ERROR] 
:[57,46]
 cannot find