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

2018-04-14 Thread Apache Jenkins Server
See 


Changes:

[jtaylor] Revert PHOENIX-4579 Remove SYSTEM.LOG from list of Phoenix system 
tables

--
[...truncated 116.02 KB...]
[INFO] ---
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] 
[INFO] --- maven-failsafe-plugin:2.20:integration-test 
(NeedTheirOwnClusterTests) @ phoenix-core ---
[INFO] 
[INFO] ---
[INFO]  T E S T S
[INFO] ---
[INFO] Running 
org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 18.736 
s <<< FAILURE! - in 
org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT
[ERROR] 
testReplayEditsWrittenViaHRegion(org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT)
  Time elapsed: 18.735 s  <<< FAILURE!
java.lang.AssertionError: Index wasn't propertly updated from WAL replay! 
expected:<1> but was:<0>
at 
org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT.testReplayEditsWrittenViaHRegion(WALReplayWithIndexWritesAndCompressedWALIT.java:228)

[INFO] Running 
org.apache.hadoop.hbase.regionserver.wal.WALRecoveryRegionPostOpenIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.681 s 
- in org.apache.hadoop.hbase.regionserver.wal.WALRecoveryRegionPostOpenIT
[INFO] Running 
org.apache.phoenix.end2end.ColumnEncodedMutableNonTxStatsCollectorIT
[INFO] Running 
org.apache.phoenix.end2end.ColumnEncodedImmutableTxStatsCollectorIT
[INFO] Running 
org.apache.phoenix.end2end.ColumnEncodedImmutableNonTxStatsCollectorIT
[INFO] Running org.apache.phoenix.end2end.ConnectionUtilIT
[INFO] Running org.apache.phoenix.end2end.ColumnEncodedMutableTxStatsCollectorIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.033 s 
- in org.apache.phoenix.end2end.ConnectionUtilIT
[INFO] Running org.apache.phoenix.end2end.ContextClassloaderIT
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.76 s - 
in org.apache.phoenix.end2end.ContextClassloaderIT
[WARNING] Tests run: 26, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 
79.208 s - in 
org.apache.phoenix.end2end.ColumnEncodedMutableNonTxStatsCollectorIT
[WARNING] Tests run: 26, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 
81.702 s - in 
org.apache.phoenix.end2end.ColumnEncodedImmutableNonTxStatsCollectorIT
[WARNING] Tests run: 26, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 
82.556 s - in 
org.apache.phoenix.end2end.ColumnEncodedImmutableTxStatsCollectorIT
[WARNING] Tests run: 26, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 
81.085 s - in org.apache.phoenix.end2end.ColumnEncodedMutableTxStatsCollectorIT
[INFO] Running org.apache.phoenix.end2end.CostBasedDecisionIT
[INFO] Running org.apache.phoenix.end2end.CountDistinctCompressionIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.629 s 
- in org.apache.phoenix.end2end.CountDistinctCompressionIT
[INFO] Running org.apache.phoenix.end2end.CsvBulkLoadToolIT
[INFO] Running org.apache.phoenix.end2end.DropSchemaIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.707 s 
- in org.apache.phoenix.end2end.DropSchemaIT
[INFO] Running org.apache.phoenix.end2end.FlappingLocalIndexIT
[INFO] Running org.apache.phoenix.end2end.IndexExtendedIT
[INFO] Running org.apache.phoenix.end2end.IndexScrutinyToolIT
[INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 70.913 
s - in org.apache.phoenix.end2end.CsvBulkLoadToolIT
[INFO] Running org.apache.phoenix.end2end.IndexToolForPartialBuildIT
[INFO] Tests run: 32, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 73.325 
s - in org.apache.phoenix.end2end.IndexExtendedIT
[INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 118.14 
s - in org.apache.phoenix.end2end.FlappingLocalIndexIT
[INFO] Running 
org.apache.phoenix.end2end.IndexToolForPartialBuildWithNamespaceEnabledIT
[INFO] Running org.apache.phoenix.end2end.IndexToolIT
[INFO] Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 308.825 
s - in org.apache.phoenix.end2end.CostBasedDecisionIT
[INFO] Running org.apache.phoenix.end2end.LocalIndexSplitMergeIT
[INFO] Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 310.083 
s - in org.apache.phoenix.end2end.IndexScrutinyToolIT
[INFO] Running org.apache.phoenix.end2end.MigrateSystemTablesToSystemNamespaceIT
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 74.338 s 
- in org.apache.phoenix.end2end.LocalIndexSplitMergeIT
[INFO] Running 
org.apache.phoenix.end2end.NonColumnEncodedImmutableNonTxStatsCollectorIT
[INFO] Tests run: 32, Failures: 0, 

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

2018-04-14 Thread Apache Jenkins Server
See 


--
[...truncated 37.15 KB...]
  symbol:   class HBaseRpcController
  location: class 
org.apache.hadoop.hbase.ipc.controller.ClientRpcControllerFactory
[ERROR] 
:[52,9]
 cannot find symbol
  symbol:   class HBaseRpcController
  location: class 
org.apache.hadoop.hbase.ipc.controller.ClientRpcControllerFactory
[ERROR] 
:[180,14]
 cannot find symbol
  symbol: class MetricRegistry
[ERROR] 
:[179,7]
 method does not override or implement a method from a supertype
[ERROR] 
:[454,78]
 cannot find symbol
  symbol: class HBaseRpcController
[ERROR] 
:[432,17]
 cannot find symbol
  symbol: class HBaseRpcController
[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] 

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

2018-04-14 Thread Apache Jenkins Server
See 


Changes:

[jtaylor] Revert "PHOENIX-4579 Remove SYSTEM.LOG from list of Phoenix system

[jtaylor] more

--
[...truncated 106.49 KB...]
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 106.033 
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: 479.461 
s - in org.apache.phoenix.end2end.index.LocalMutableTxIndexIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 83.485 s 
- in org.apache.phoenix.end2end.index.txn.RollbackIT
[INFO] Running org.apache.phoenix.end2end.join.SortMergeJoinGlobalIndexIT
[INFO] Running org.apache.phoenix.end2end.join.HashJoinNoIndexIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 98.585 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: 349.593 
s - in org.apache.phoenix.end2end.join.HashJoinNoIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SortMergeJoinNoIndexIT
[INFO] Tests run: 80, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 858.064 
s - in org.apache.phoenix.end2end.index.MutableIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SubqueryIT
[INFO] Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 596.479 
s - in org.apache.phoenix.end2end.join.HashJoinGlobalIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SubqueryUsingSortMergeJoinIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 635.614 
s - in org.apache.phoenix.end2end.join.SortMergeJoinGlobalIndexIT
[INFO] Running org.apache.phoenix.end2end.salted.SaltedTableIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.713 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: 800.115 
s - in org.apache.phoenix.end2end.join.HashJoinLocalIndexIT
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 50.075 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: 9.05 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: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 366.056 
s - in org.apache.phoenix.end2end.join.SortMergeJoinNoIndexIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.344 s 
- in org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
[INFO] Running org.apache.phoenix.rpc.UpdateCacheIT
[INFO] Running org.apache.phoenix.replication.SystemCatalogWALEntryFilterIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.258 s 
- in org.apache.phoenix.replication.SystemCatalogWALEntryFilterIT
[INFO] Running org.apache.phoenix.trace.PhoenixTableMetricsWriterIT
[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.trace.PhoenixTracingEndToEndIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.386 s 
- in org.apache.phoenix.trace.PhoenixTableMetricsWriterIT
[INFO] Running org.apache.phoenix.tx.FlappingTransactionIT
[INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 76.083 s 
- in org.apache.phoenix.iterate.RoundRobinResultIteratorIT
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.945 s 
- in org.apache.phoenix.tx.FlappingTransactionIT
[INFO] Running org.apache.phoenix.tx.TransactionIT
[INFO] Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 268.907 
s - in org.apache.phoenix.end2end.join.SubqueryUsingSortMergeJoinIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 801.478 
s - in org.apache.phoenix.end2end.join.SortMergeJoinLocalIndexIT
[INFO] Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 391.249 
s - in org.apache.phoenix.end2end.join.SubqueryIT
[INFO] Running org.apache.phoenix.tx.ParameterizedTransactionIT
[INFO] Running org.apache.phoenix.tx.TxCheckpointIT
[INFO] Running org.apache.phoenix.util.IndexScrutinyIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 105.593 
s - in org.apache.phoenix.trace.PhoenixTracingEndToEndIT
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 29.359 s 
- in org.apache.phoenix.util.IndexScrutinyIT
[INFO] Tests run: 8, Failures: 0, 

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

2018-04-14 Thread Apache Jenkins Server
See 


Changes:

[ankitsinghal59] PHOENIX-2715 Query Log (Ankit Singhal)

--
[...truncated 145.91 KB...]
[ERROR]   LocalImmutableTxIndexIT>BaseIndexIT.testSelectCF:679 » Runtime 
org.apache.thri...
[ERROR]   LocalImmutableTxIndexIT>BaseIndexIT.testSelectCF:679 » Runtime 
org.apache.thri...
[ERROR]   
LocalImmutableTxIndexIT>BaseIndexIT.testSelectDistinctOnTableWithSecondaryImmutableIndex:447
 » Runtime
[ERROR]   
LocalImmutableTxIndexIT>BaseIndexIT.testSelectDistinctOnTableWithSecondaryImmutableIndex:447
 » Runtime
[ERROR]   LocalImmutableTxIndexIT>BaseIndexIT.testTableDescriptorPriority:1095 
» Runtime
[ERROR]   LocalImmutableTxIndexIT>BaseIndexIT.testTableDescriptorPriority:1095 
» Runtime
[ERROR]   LocalImmutableTxIndexIT>BaseIndexIT.testUpsertAfterIndexDrop:740 » 
Runtime org...
[ERROR]   LocalImmutableTxIndexIT>BaseIndexIT.testUpsertAfterIndexDrop:740 » 
Runtime org...
[ERROR]   ParameterizedTransactionIT.testNonTxToTxTable:288 » IllegalData 
java.net.Socke...
[INFO] 
[ERROR] Tests run: 3429, Failures: 0, Errors: 39, Skipped: 7
[INFO] 
[INFO] 
[INFO] --- maven-failsafe-plugin:2.20:integration-test (HBaseManagedTimeTests) 
@ phoenix-core ---
[INFO] 
[INFO] ---
[INFO]  T E S T S
[INFO] ---
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] 
[INFO] --- maven-failsafe-plugin:2.20:integration-test 
(NeedTheirOwnClusterTests) @ phoenix-core ---
[INFO] 
[INFO] ---
[INFO]  T E S T S
[INFO] ---
[INFO] Running 
org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 24.972 
s <<< FAILURE! - in 
org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT
[ERROR] 
testReplayEditsWrittenViaHRegion(org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT)
  Time elapsed: 24.97 s  <<< FAILURE!
java.lang.AssertionError: Index wasn't propertly updated from WAL replay! 
expected:<1> but was:<0>
at 
org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT.testReplayEditsWrittenViaHRegion(WALReplayWithIndexWritesAndCompressedWALIT.java:228)

[INFO] Running 
org.apache.hadoop.hbase.regionserver.wal.WALRecoveryRegionPostOpenIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.059 s 
- in org.apache.hadoop.hbase.regionserver.wal.WALRecoveryRegionPostOpenIT
[INFO] Running 
org.apache.phoenix.end2end.ColumnEncodedImmutableNonTxStatsCollectorIT
[INFO] Running 
org.apache.phoenix.end2end.ColumnEncodedMutableNonTxStatsCollectorIT
[INFO] Running 
org.apache.phoenix.end2end.ColumnEncodedImmutableTxStatsCollectorIT
[INFO] Running org.apache.phoenix.end2end.ConnectionUtilIT
[INFO] Running org.apache.phoenix.end2end.ColumnEncodedMutableTxStatsCollectorIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.576 s 
- in org.apache.phoenix.end2end.ConnectionUtilIT
[INFO] Running org.apache.phoenix.end2end.ContextClassloaderIT
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.051 s 
- in org.apache.phoenix.end2end.ContextClassloaderIT
[WARNING] Tests run: 26, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 
88.329 s - in 
org.apache.phoenix.end2end.ColumnEncodedImmutableNonTxStatsCollectorIT
[WARNING] Tests run: 26, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 
89.74 s - in 
org.apache.phoenix.end2end.ColumnEncodedMutableNonTxStatsCollectorIT
[WARNING] Tests run: 26, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 
88.993 s - in 
org.apache.phoenix.end2end.ColumnEncodedImmutableTxStatsCollectorIT
[WARNING] Tests run: 26, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 
86.709 s - in org.apache.phoenix.end2end.ColumnEncodedMutableTxStatsCollectorIT
[INFO] Running org.apache.phoenix.end2end.CostBasedDecisionIT
[INFO] Running org.apache.phoenix.end2end.CsvBulkLoadToolIT
[INFO] Running org.apache.phoenix.end2end.CountDistinctCompressionIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.7 s - 
in org.apache.phoenix.end2end.CountDistinctCompressionIT
[INFO] Running org.apache.phoenix.end2end.DropSchemaIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.898 s 
- in org.apache.phoenix.end2end.DropSchemaIT
[INFO] Running org.apache.phoenix.end2end.FlappingLocalIndexIT
[INFO] Running org.apache.phoenix.end2end.IndexExtendedIT
[INFO] Running org.apache.phoenix.end2end.IndexScrutinyToolIT
[INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 75.953 
s - in org.apache.phoenix.end2end.CsvBulkLoadToolIT
[INFO] Running 

[13/21] phoenix git commit: PHOENIX-4605 Support running multiple transaction providers

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8eaca121/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java 
b/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
index a7b31e8..1a11427 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
@@ -69,6 +69,7 @@ import org.apache.phoenix.schema.types.PDataType;
 import org.apache.phoenix.schema.types.PDouble;
 import org.apache.phoenix.schema.types.PFloat;
 import org.apache.phoenix.schema.types.PVarchar;
+import org.apache.phoenix.transaction.TransactionFactory;
 import org.apache.phoenix.util.ByteUtil;
 import org.apache.phoenix.util.EncodedColumnsUtil;
 import org.apache.phoenix.util.PhoenixRuntime;
@@ -134,7 +135,7 @@ public class PTableImpl implements PTable {
 private boolean disableWAL;
 private boolean multiTenant;
 private boolean storeNulls;
-private boolean isTransactional;
+private TransactionFactory.Provider transactionProvider;
 private ViewType viewType;
 private Short viewIndexId;
 private int estimatedSize;
@@ -227,7 +228,7 @@ public class PTableImpl implements PTable {
 init(tenantId, this.schemaName, this.tableName, PTableType.INDEX, 
state, timeStamp, sequenceNumber, pkName, bucketNum, columns,
 this.schemaName, parentTableName, indexes, isImmutableRows, 
physicalNames, defaultFamilyName,
 null, disableWAL, multiTenant, storeNulls, viewType, viewIndexId, 
indexType, baseColumnCount, rowKeyOrderOptimizable,
-isTransactional, updateCacheFrequency, indexDisableTimestamp, 
isNamespaceMpped, null, false, storageScheme, qualifierEncodingScheme, 
encodedCQCounter, useStatsForParallelization);
+transactionProvider, updateCacheFrequency, indexDisableTimestamp, 
isNamespaceMpped, null, false, storageScheme, qualifierEncodingScheme, 
encodedCQCounter, useStatsForParallelization);
 }
 
 public PTableImpl(long timeStamp) { // For delete marker
@@ -270,7 +271,7 @@ public class PTableImpl implements PTable {
 table.getSequenceNumber(), table.getPKName(), 
table.getBucketNum(), getColumnsToClone(table), table.getParentSchemaName(), 
table.getParentTableName(),
 indexes, table.isImmutableRows(), physicalNames, 
table.getDefaultFamilyName(), viewStatement,
 table.isWALDisabled(), table.isMultiTenant(), 
table.getStoreNulls(), table.getViewType(), table.getViewIndexId(), 
table.getIndexType(),
-table.getBaseColumnCount(), 
table.rowKeyOrderOptimizable(), table.isTransactional(), updateCacheFrequency,
+table.getBaseColumnCount(), 
table.rowKeyOrderOptimizable(), table.getTransactionProvider(), 
updateCacheFrequency,
 table.getIndexDisableTimestamp(), 
table.isNamespaceMapped(), table.getAutoPartitionSeqName(), 
table.isAppendOnlySchema(), table.getImmutableStorageScheme(), 
table.getEncodingScheme(), table.getEncodedCQCounter(), 
table.useStatsForParallelization());
 }
 
@@ -280,7 +281,7 @@ public class PTableImpl implements PTable {
 table.getSequenceNumber(), table.getPKName(), 
table.getBucketNum(), getColumnsToClone(table), parentSchemaName, 
table.getParentTableName(),
 indexes, table.isImmutableRows(), table.getPhysicalNames(), 
table.getDefaultFamilyName(), viewStatement,
 table.isWALDisabled(), table.isMultiTenant(), 
table.getStoreNulls(), table.getViewType(), table.getViewIndexId(), 
table.getIndexType(),
-table.getBaseColumnCount(), table.rowKeyOrderOptimizable(), 
table.isTransactional(), table.getUpdateCacheFrequency(),
+table.getBaseColumnCount(), table.rowKeyOrderOptimizable(), 
table.getTransactionProvider(), table.getUpdateCacheFrequency(),
 table.getIndexDisableTimestamp(), table.isNamespaceMapped(), 
table.getAutoPartitionSeqName(), table.isAppendOnlySchema(), 
table.getImmutableStorageScheme(), table.getEncodingScheme(), 
table.getEncodedCQCounter(), table.useStatsForParallelization());
 }
 
@@ -290,7 +291,7 @@ public class PTableImpl implements PTable {
 table.getSequenceNumber(), table.getPKName(), 
table.getBucketNum(), columns, table.getParentSchemaName(), 
table.getParentTableName(),
 table.getIndexes(), table.isImmutableRows(), 
table.getPhysicalNames(), table.getDefaultFamilyName(), 
table.getViewStatement(),
 table.isWALDisabled(), table.isMultiTenant(), 
table.getStoreNulls(), table.getViewType(), table.getViewIndexId(), 
table.getIndexType(),
-table.getBaseColumnCount(), table.rowKeyOrderOptimizable(), 
table.isTransactional(), table.getUpdateCacheFrequency(),

[11/21] phoenix git commit: PHOENIX-4366 Rebuilding a local index fails sometimes (addendum)

2018-04-14 Thread pboado
PHOENIX-4366 Rebuilding a local index fails sometimes (addendum)


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

Branch: refs/heads/4.x-cdh5.14
Commit: 0535a17ed64e681b801f2b48648183b224ff8b9b
Parents: a874df3
Author: James Taylor 
Authored: Wed Apr 11 23:20:08 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:27:44 2018 +0100

--
 .../NonAggregateRegionScannerFactory.java   | 36 +++-
 1 file changed, 20 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0535a17e/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java
index 90ea025..ba6a08f 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java
@@ -18,8 +18,15 @@
 
 package org.apache.phoenix.iterate;
 
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
+import static 
org.apache.phoenix.util.EncodedColumnsUtil.getMinMaxQualifiersFromScan;
+
+import java.io.ByteArrayInputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
 
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.KeyValue;
@@ -61,15 +68,8 @@ import org.apache.phoenix.util.IndexUtil;
 import org.apache.phoenix.util.ScanUtil;
 import org.apache.phoenix.util.ServerUtil;
 
-import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import static 
org.apache.phoenix.util.EncodedColumnsUtil.getMinMaxQualifiersFromScan;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
 
 public class NonAggregateRegionScannerFactory extends RegionScannerFactory {
 
@@ -102,13 +102,17 @@ public class NonAggregateRegionScannerFactory extends 
RegionScannerFactory {
 boolean useNewValueColumnQualifier = 
EncodedColumnsUtil.useNewValueColumnQualifier(scan);
 
 Set arrayKVRefs = Sets.newHashSet();
+KeyValueSchema kvSchema = null;
+ValueBitSet kvSchemaBitSet = null;
 Expression[] arrayFuncRefs = 
deserializeArrayPositionalExpressionInfoFromScan(scan, innerScanner, 
arrayKVRefs);
-KeyValueSchema.KeyValueSchemaBuilder builder = new 
KeyValueSchema.KeyValueSchemaBuilder(0);
-for (Expression expression : arrayFuncRefs) {
-builder.addField(expression);
+if (arrayFuncRefs != null) {
+KeyValueSchema.KeyValueSchemaBuilder builder = new 
KeyValueSchema.KeyValueSchemaBuilder(0);
+for (Expression expression : arrayFuncRefs) {
+builder.addField(expression);
+}
+kvSchema = builder.build();
+kvSchemaBitSet = ValueBitSet.newInstance(kvSchema);
 }
-KeyValueSchema kvSchema = builder.build();
-ValueBitSet kvSchemaBitSet = ValueBitSet.newInstance(kvSchema);
 TupleProjector tupleProjector = null;
 Region dataRegion = null;
 IndexMaintainer indexMaintainer = null;



[14/21] phoenix git commit: PHOENIX-4605 Support running multiple transaction providers

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8eaca121/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
index c5065e0..59c10ad 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
@@ -19,120 +19,7 @@ package org.apache.phoenix.expression;
 
 import java.util.Map;
 
-import org.apache.phoenix.expression.function.AbsFunction;
-import org.apache.phoenix.expression.function.ArrayAllComparisonExpression;
-import org.apache.phoenix.expression.function.ArrayAnyComparisonExpression;
-import org.apache.phoenix.expression.function.ArrayAppendFunction;
-import org.apache.phoenix.expression.function.ArrayConcatFunction;
-import org.apache.phoenix.expression.function.ArrayElemRefExpression;
-import org.apache.phoenix.expression.function.ArrayFillFunction;
-import org.apache.phoenix.expression.function.ArrayIndexFunction;
-import org.apache.phoenix.expression.function.ArrayLengthFunction;
-import org.apache.phoenix.expression.function.ArrayPrependFunction;
-import org.apache.phoenix.expression.function.ArrayRemoveFunction;
-import org.apache.phoenix.expression.function.ArrayToStringFunction;
-import org.apache.phoenix.expression.function.ByteBasedRegexpReplaceFunction;
-import org.apache.phoenix.expression.function.ByteBasedRegexpSplitFunction;
-import org.apache.phoenix.expression.function.ByteBasedRegexpSubstrFunction;
-import org.apache.phoenix.expression.function.CbrtFunction;
-import org.apache.phoenix.expression.function.CeilDateExpression;
-import org.apache.phoenix.expression.function.CeilDecimalExpression;
-import org.apache.phoenix.expression.function.CeilFunction;
-import org.apache.phoenix.expression.function.CeilMonthExpression;
-import org.apache.phoenix.expression.function.CeilTimestampExpression;
-import org.apache.phoenix.expression.function.CeilWeekExpression;
-import org.apache.phoenix.expression.function.CeilYearExpression;
-import org.apache.phoenix.expression.function.CoalesceFunction;
-import org.apache.phoenix.expression.function.CollationKeyFunction;
-import org.apache.phoenix.expression.function.ConvertTimezoneFunction;
-import org.apache.phoenix.expression.function.CountAggregateFunction;
-import org.apache.phoenix.expression.function.DayOfMonthFunction;
-import org.apache.phoenix.expression.function.DayOfWeekFunction;
-import org.apache.phoenix.expression.function.DayOfYearFunction;
-import org.apache.phoenix.expression.function.DecodeFunction;
-import org.apache.phoenix.expression.function.DefaultValueExpression;
-import org.apache.phoenix.expression.function.DistinctCountAggregateFunction;
-import 
org.apache.phoenix.expression.function.DistinctCountHyperLogLogAggregateFunction;
-import org.apache.phoenix.expression.function.DistinctValueAggregateFunction;
-import org.apache.phoenix.expression.function.EncodeFunction;
-import org.apache.phoenix.expression.function.ExpFunction;
-import org.apache.phoenix.expression.function.ExternalSqlTypeIdFunction;
-import org.apache.phoenix.expression.function.FirstValueFunction;
-import org.apache.phoenix.expression.function.FirstValuesFunction;
-import org.apache.phoenix.expression.function.FloorDateExpression;
-import org.apache.phoenix.expression.function.FloorDecimalExpression;
-import org.apache.phoenix.expression.function.FloorFunction;
-import org.apache.phoenix.expression.function.FloorMonthExpression;
-import org.apache.phoenix.expression.function.FloorWeekExpression;
-import org.apache.phoenix.expression.function.FloorYearExpression;
-import org.apache.phoenix.expression.function.GetBitFunction;
-import org.apache.phoenix.expression.function.GetByteFunction;
-import org.apache.phoenix.expression.function.HourFunction;
-import org.apache.phoenix.expression.function.IndexStateNameFunction;
-import org.apache.phoenix.expression.function.InstrFunction;
-import org.apache.phoenix.expression.function.InvertFunction;
-import org.apache.phoenix.expression.function.LTrimFunction;
-import org.apache.phoenix.expression.function.LastValueFunction;
-import org.apache.phoenix.expression.function.LastValuesFunction;
-import org.apache.phoenix.expression.function.LengthFunction;
-import org.apache.phoenix.expression.function.LnFunction;
-import org.apache.phoenix.expression.function.LogFunction;
-import org.apache.phoenix.expression.function.LowerFunction;
-import org.apache.phoenix.expression.function.LpadFunction;
-import org.apache.phoenix.expression.function.MD5Function;
-import org.apache.phoenix.expression.function.MaxAggregateFunction;
-import org.apache.phoenix.expression.function.MinAggregateFunction;
-import 

[15/21] phoenix git commit: PHOENIX-4605 Support running multiple transaction providers

2018-04-14 Thread pboado
PHOENIX-4605 Support running multiple transaction providers


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

Branch: refs/heads/4.x-cdh5.13
Commit: 8eaca12102c41a10694e9a343f97b8b83c15701c
Parents: 0535a17
Author: James Taylor 
Authored: Thu Apr 12 04:06:35 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:30:46 2018 +0100

--
 .../phoenix/end2end/AlterTableWithViewsIT.java  |   6 +-
 .../ConnectionQueryServicesTestImpl.java|  34 +-
 .../phoenix/tx/FlappingTransactionIT.java   |  11 +-
 .../phoenix/tx/ParameterizedTransactionIT.java  |  14 +-
 .../org/apache/phoenix/tx/TransactionIT.java|  12 +
 .../org/apache/phoenix/tx/TxCheckpointIT.java   |   5 +-
 .../phoenix/cache/IndexMetaDataCache.java   |   5 +-
 .../apache/phoenix/compile/DeleteCompiler.java  |   3 +-
 .../apache/phoenix/compile/FromCompiler.java|   2 +-
 .../apache/phoenix/compile/JoinCompiler.java|   2 +-
 .../compile/TupleProjectionCompiler.java|   4 +-
 .../apache/phoenix/compile/UnionCompiler.java   |   6 +-
 .../apache/phoenix/compile/UpsertCompiler.java  |   2 +-
 .../coprocessor/BaseScannerRegionObserver.java  |   4 +-
 .../coprocessor/MetaDataEndpointImpl.java   |  26 +-
 .../phoenix/coprocessor/MetaDataProtocol.java   |   2 +-
 .../coprocessor/MetaDataRegionObserver.java |   4 +-
 .../PhoenixTransactionalProcessor.java  |  28 --
 .../coprocessor/ServerCachingEndpointImpl.java  |   4 +-
 .../TephraTransactionalProcessor.java   |  29 ++
 .../UngroupedAggregateRegionObserver.java   |  10 +-
 .../coprocessor/generated/PTableProtos.java | 110 +-
 .../phoenix/exception/SQLExceptionCode.java |   4 +
 .../apache/phoenix/execute/BaseQueryPlan.java   |   3 +
 .../apache/phoenix/execute/MutationState.java   |  74 ++--
 .../PhoenixTxIndexMutationGenerator.java|  10 +-
 .../phoenix/expression/ExpressionType.java  | 119 +-
 .../TransactionProviderNameFunction.java|  81 +
 .../apache/phoenix/index/IndexMaintainer.java   |   4 +-
 .../index/IndexMetaDataCacheFactory.java|   2 +-
 .../apache/phoenix/index/PhoenixIndexCodec.java |   1 -
 .../index/PhoenixIndexMetaDataBuilder.java  |   7 +-
 .../NonAggregateRegionScannerFactory.java   |   5 +-
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  12 +-
 .../apache/phoenix/jdbc/PhoenixStatement.java   |   2 +-
 .../index/PhoenixIndexPartialBuildMapper.java   |   4 +-
 .../phoenix/query/ConnectionQueryServices.java  |   6 +-
 .../query/ConnectionQueryServicesImpl.java  |  71 ++--
 .../query/ConnectionlessQueryServicesImpl.java  |  11 +-
 .../query/DelegateConnectionQueryServices.java  |  13 +-
 .../apache/phoenix/query/QueryConstants.java|   2 +
 .../org/apache/phoenix/query/QueryServices.java |   1 +
 .../phoenix/query/QueryServicesOptions.java |  10 +-
 .../apache/phoenix/schema/DelegateTable.java|   8 +-
 .../apache/phoenix/schema/MetaDataClient.java   | 129 +--
 .../java/org/apache/phoenix/schema/PTable.java  |   2 +
 .../org/apache/phoenix/schema/PTableImpl.java   |  68 ++--
 .../apache/phoenix/schema/TableProperty.java|  18 +
 .../transaction/OmidTransactionContext.java |  57 +--
 .../transaction/OmidTransactionProvider.java|  54 +--
 .../transaction/OmidTransactionTable.java   | 363 ---
 .../transaction/PhoenixTransactionClient.java   |  23 ++
 .../transaction/PhoenixTransactionContext.java  | 169 +
 .../transaction/PhoenixTransactionProvider.java |  51 +++
 .../transaction/PhoenixTransactionService.java  |  24 ++
 .../transaction/PhoenixTransactionalTable.java  | 149 
 .../transaction/TephraTransactionContext.java   | 205 +++
 .../transaction/TephraTransactionProvider.java  | 161 +++-
 .../transaction/TephraTransactionTable.java | 350 --
 .../phoenix/transaction/TransactionFactory.java |  57 ++-
 .../transaction/TransactionProvider.java|  36 --
 .../org/apache/phoenix/util/PhoenixRuntime.java |   3 +-
 .../java/org/apache/phoenix/util/ScanUtil.java  |  15 +
 .../apache/phoenix/util/TransactionUtil.java|  93 -
 .../phoenix/execute/CorrelatePlanTest.java  |   5 +-
 .../execute/LiteralResultIteratorPlanTest.java  |   5 +-
 .../java/org/apache/phoenix/query/BaseTest.java |  26 +-
 .../phoenix/query/QueryServicesTestImpl.java|  15 +-
 .../java/org/apache/phoenix/util/TestUtil.java  |   2 +-
 phoenix-protocol/src/main/PTable.proto  |   1 +
 70 files changed, 1229 insertions(+), 1625 deletions(-)
--



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

2018-04-14 Thread pboado
Changes for CDH 5.14.x


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

Branch: refs/heads/4.x-cdh5.14
Commit: 9f2bf73076db15cad30accbc89ef80977e12fe87
Parents: 9fc11de
Author: Pedro Boado 
Authored: Sat Mar 10 17:54:04 2018 +
Committer: Pedro Boado 
Committed: Sat Apr 14 08:40:19 2018 +0100

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


http://git-wip-us.apache.org/repos/asf/phoenix/blob/9f2bf730/phoenix-assembly/pom.xml
--
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 55a9a6e..862ec23 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.14.0-SNAPSHOT
   
   phoenix-assembly
   Phoenix Assembly

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9f2bf730/phoenix-client/pom.xml
--
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index 2454de6..470dd05 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.14.0-SNAPSHOT
   
   phoenix-client
   Phoenix Client

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9f2bf730/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index e1f8e2a..f8afaa1 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.14.0-SNAPSHOT
   
   phoenix-core
   Phoenix Core

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

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9f2bf730/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index d61a9aa..4b8a0ff 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 +26,7 @@
   
 

[18/21] phoenix git commit: PHOENIX-4579 Add a config to conditionally create Phoenix meta tables on first client connection (Chinmay Kulkarni)

2018-04-14 Thread pboado
PHOENIX-4579 Add a config to conditionally create Phoenix meta tables on first 
client connection (Chinmay Kulkarni)


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

Branch: refs/heads/4.x-cdh5.14
Commit: 8cda81411294ead4b5642fca842c9c56a15e8652
Parents: f71654a
Author: James Taylor 
Authored: Fri Apr 13 18:30:30 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:31:28 2018 +0100

--
 .../phoenix/end2end/AppendOnlySchemaIT.java |   2 +-
 .../MigrateSystemTablesToSystemNamespaceIT.java |   9 +-
 .../SystemCatalogCreationOnConnectionIT.java| 626 
 .../coprocessor/MetaDataEndpointImpl.java   |  21 +
 .../phoenix/coprocessor/MetaDataProtocol.java   |   4 +
 .../coprocessor/generated/MetaDataProtos.java   | 183 +++--
 .../exception/UpgradeRequiredException.java |  13 +-
 .../phoenix/query/ConnectionQueryServices.java  |   2 +-
 .../query/ConnectionQueryServicesImpl.java  | 750 +++
 .../query/ConnectionlessQueryServicesImpl.java  |   2 +-
 .../query/DelegateConnectionQueryServices.java  |   4 +-
 .../apache/phoenix/schema/MetaDataClient.java   |   3 +-
 .../query/ConnectionQueryServicesImplTest.java  |   7 +-
 phoenix-protocol/src/main/MetaDataService.proto |   1 +
 14 files changed, 1236 insertions(+), 391 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/8cda8141/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java
index 7ed64ff..d601beb 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java
@@ -114,7 +114,7 @@ public class AppendOnlySchemaIT extends 
ParallelStatsDisabledIT {
 // verify no create table rpcs
 verify(connectionQueryServices, 
never()).createTable(anyListOf(Mutation.class),
 any(byte[].class), any(PTableType.class), anyMap(), anyList(), 
any(byte[][].class),
-eq(false), eq(false));
+eq(false), eq(false), eq(false));
 reset(connectionQueryServices);
 
 // execute alter table ddl that adds the same column

http://git-wip-us.apache.org/repos/asf/phoenix/blob/8cda8141/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
index d20ffa9..b0f1d5f 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
@@ -377,8 +377,10 @@ public class MigrateSystemTablesToSystemNamespaceIT 
extends BaseTest {
 while(rs.next()) {
 
 if(rs.getString("IS_NAMESPACE_MAPPED") == null) {
+// Check that entry for SYSTEM namespace exists in SYSCAT
 systemSchemaExists = 
rs.getString("TABLE_SCHEM").equals(PhoenixDatabaseMetaData.SYSTEM_SCHEMA_NAME) 
? true : systemSchemaExists;
 } else if (rs.getString("COLUMN_NAME") == null) {
+// Found the intial entry for a table in SYSCAT
 String schemaName = rs.getString("TABLE_SCHEM");
 String tableName = rs.getString("TABLE_NAME");
 
@@ -396,12 +398,11 @@ public class MigrateSystemTablesToSystemNamespaceIT 
extends BaseTest {
 }
 }
 
-if(!systemSchemaExists) {
-fail(PhoenixDatabaseMetaData.SYSTEM_SCHEMA_NAME + " entry doesn't 
exist in SYSTEM.CATALOG table.");
-}
-
 // The set will contain SYSMUTEX table since that table is not exposed 
in SYSCAT
 if (systemTablesMapped) {
+if (!systemSchemaExists) {
+fail(PhoenixDatabaseMetaData.SYSTEM_SCHEMA_NAME + " entry 
doesn't exist in SYSTEM.CATALOG table.");
+}
 assertTrue(namespaceMappedSystemTablesSet.size() == 1);
 } else {
 assertTrue(systemTablesSet.size() == 1);


[17/21] phoenix git commit: PHOENIX-4579 Add a config to conditionally create Phoenix meta tables on first client connection (Chinmay Kulkarni)

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8cda8141/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 5cb14d6..fa5d7e2 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -170,6 +170,7 @@ import 
org.apache.phoenix.exception.RetriableUpgradeException;
 import org.apache.phoenix.exception.SQLExceptionCode;
 import org.apache.phoenix.exception.SQLExceptionInfo;
 import org.apache.phoenix.exception.UpgradeInProgressException;
+import org.apache.phoenix.exception.UpgradeRequiredException;
 import org.apache.phoenix.exception.UpgradeNotRequiredException;
 import org.apache.phoenix.execute.MutationState;
 import org.apache.phoenix.hbase.index.IndexRegionSplitPolicy;
@@ -1041,23 +1042,69 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 
 /**
  *
- * @param tableName
+ * @param physicalTableName
+ * @param tableType
+ * @param props
+ * @param families
  * @param splits
- * @param modifyExistingMetaData TODO
+ * @param modifyExistingMetaData
+ * @param isNamespaceMapped
+ * @param isDoNotUpgradePropSet
  * @return true if table was created and false if it already exists
  * @throws SQLException
  */
 private HTableDescriptor ensureTableCreated(byte[] physicalTableName, 
PTableType tableType, Map props,
 List>> families, byte[][] splits, 
boolean modifyExistingMetaData,
-boolean isNamespaceMapped) throws SQLException {
+boolean isNamespaceMapped, boolean isDoNotUpgradePropSet) throws 
SQLException {
 SQLException sqlE = null;
 HTableDescriptor existingDesc = null;
 boolean isMetaTable = SchemaUtil.isMetaTable(physicalTableName);
 boolean tableExist = true;
 try (HBaseAdmin admin = getAdmin()) {
 final String quorum = ZKConfig.getZKQuorumServersString(config);
-final String znode = 
this.props.get(HConstants.ZOOKEEPER_ZNODE_PARENT);
+final String znode = 
this.getProps().get(HConstants.ZOOKEEPER_ZNODE_PARENT);
 logger.debug("Found quorum: " + quorum + ":" + znode);
+
+if (isMetaTable) {
+if(SchemaUtil.isNamespaceMappingEnabled(PTableType.SYSTEM, 
this.getProps())) {
+try {
+// SYSTEM namespace needs to be created via HBase APIs 
because "CREATE SCHEMA" statement tries to write
+// its metadata in SYSTEM:CATALOG table. Without 
SYSTEM namespace, SYSTEM:CATALOG table cannot be created
+
ensureNamespaceCreated(QueryConstants.SYSTEM_SCHEMA_NAME);
+} catch (PhoenixIOException e) {
+// We could either:
+// 1) Not access the NS descriptor. The NS may or may 
not exist at this point
+// 2) We could not create the NS
+// Regardless of the case 1 or 2, if we eventually try 
to migrate SYSTEM tables to the SYSTEM
+// namespace using the {@link 
ensureSystemTablesMigratedToSystemNamespace(ReadOnlyProps)} method,
+// if the NS does not exist, we will error as 
expected, or
+// if the NS does exist and tables are already mapped, 
the check will exit gracefully
+}
+if 
(admin.tableExists(SchemaUtil.getPhysicalTableName(SYSTEM_CATALOG_NAME_BYTES, 
false))) {
+// SYSTEM.CATALOG exists, so at this point, we have 3 
cases:
+// 1) If server-side namespace mapping is disabled, 
throw Inconsistent namespace mapping exception
+// 2) If server-side namespace mapping is enabled and 
SYSCAT needs to be upgraded, upgrade SYSCAT
+//and also migrate SYSTEM tables to the SYSTEM 
namespace
+// 3. If server-side namespace mapping is enabled and 
SYSCAT doesn't need to be upgraded, we still
+//need to migrate SYSTEM tables to the SYSTEM 
namespace using the
+//{@link 
ensureSystemTablesMigratedToSystemNamespace(ReadOnlyProps)} method (as part of
+//{@link upgradeSystemTables(String, Properties)})
+
checkClientServerCompatibility(SYSTEM_CATALOG_NAME_BYTES);
+// Thrown so we can force an upgrade which will just 
migrate SYSTEM tables to the 

[19/21] phoenix git commit: PHOENIX-4668 Remove unnecessary table descriptor modification for SPLIT_POLICY column (Chinmay Kulkarni)

2018-04-14 Thread pboado
PHOENIX-4668 Remove unnecessary table descriptor modification for SPLIT_POLICY 
column (Chinmay Kulkarni)


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

Branch: refs/heads/4.x-cdh5.14
Commit: 40226499bfab76e2920b0fc1160c25031700596f
Parents: 8cda814
Author: James Taylor 
Authored: Fri Apr 13 22:19:15 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:31:40 2018 +0100

--
 .../phoenix/query/ConnectionQueryServicesImpl.java   | 11 ---
 1 file changed, 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/40226499/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 fa5d7e2..7f97c74 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -1130,10 +1130,6 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 
PBoolean.INSTANCE.toObject(newDesc.getValue(MetaDataUtil.IS_LOCAL_INDEX_TABLE_PROP_BYTES
 {
 newDesc.setValue(HTableDescriptor.SPLIT_POLICY, 
IndexRegionSplitPolicy.class.getName());
 }
-// Remove the splitPolicy attribute to prevent HBASE-12570
-if (isMetaTable) {
-newDesc.remove(HTableDescriptor.SPLIT_POLICY);
-}
 try {
 if (splits == null) {
 admin.createTable(newDesc);
@@ -1150,13 +1146,6 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 }
 if (isMetaTable && !isUpgradeRequired()) {
 
checkClientServerCompatibility(SchemaUtil.getPhysicalName(SYSTEM_CATALOG_NAME_BYTES,
 this.getProps()).getName());
-/*
- * Now we modify the table to add the split policy, since 
we know that the client and
- * server and compatible. This works around HBASE-12570 
which causes the cluster to be
- * brought down.
- */
-newDesc.setValue(HTableDescriptor.SPLIT_POLICY, 
MetaDataSplitPolicy.class.getName());
-modifyTable(physicalTableName, newDesc, true);
 }
 return null;
 } else {



[16/21] phoenix git commit: PHOENIX-4496 Fix RowValueConstructorIT and IndexMetadataIT

2018-04-14 Thread pboado
PHOENIX-4496 Fix RowValueConstructorIT and IndexMetadataIT


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

Branch: refs/heads/4.x-cdh5.14
Commit: f71654a5c68e403d6c9c9fd3d535ee9cfc1b73f7
Parents: 8eaca12
Author: Ankit Singhal 
Authored: Fri Apr 13 10:54:32 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:31:12 2018 +0100

--
 .../phoenix/hbase/index/scanner/ScannerBuilder.java | 16 
 1 file changed, 16 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/f71654a5/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
index ad09c0c..703fcd2 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
@@ -31,6 +31,7 @@ import org.apache.hadoop.hbase.filter.BinaryComparator;
 import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
 import org.apache.hadoop.hbase.filter.FamilyFilter;
 import org.apache.hadoop.hbase.filter.Filter;
+import org.apache.hadoop.hbase.filter.FilterBase;
 import org.apache.hadoop.hbase.filter.FilterList;
 import org.apache.hadoop.hbase.filter.QualifierFilter;
 import org.apache.hadoop.hbase.util.Bytes;
@@ -98,6 +99,21 @@ public class ScannerBuilder {
   }
   columnFilters.addFilter(columnFilter);
 }
+
+if(columns.isEmpty()){
+columnFilters.addFilter(new FilterBase() {
+
+@Override
+public boolean filterAllRemaining() throws IOException {
+return true;
+}
+
+@Override
+public ReturnCode filterKeyValue(Cell v) throws IOException {
+return Filter.ReturnCode.INCLUDE;
+}
+});
+}
 return columnFilters;
   }
 



[15/21] phoenix git commit: PHOENIX-4605 Support running multiple transaction providers

2018-04-14 Thread pboado
PHOENIX-4605 Support running multiple transaction providers


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

Branch: refs/heads/4.x-cdh5.14
Commit: 8eaca12102c41a10694e9a343f97b8b83c15701c
Parents: 0535a17
Author: James Taylor 
Authored: Thu Apr 12 04:06:35 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:30:46 2018 +0100

--
 .../phoenix/end2end/AlterTableWithViewsIT.java  |   6 +-
 .../ConnectionQueryServicesTestImpl.java|  34 +-
 .../phoenix/tx/FlappingTransactionIT.java   |  11 +-
 .../phoenix/tx/ParameterizedTransactionIT.java  |  14 +-
 .../org/apache/phoenix/tx/TransactionIT.java|  12 +
 .../org/apache/phoenix/tx/TxCheckpointIT.java   |   5 +-
 .../phoenix/cache/IndexMetaDataCache.java   |   5 +-
 .../apache/phoenix/compile/DeleteCompiler.java  |   3 +-
 .../apache/phoenix/compile/FromCompiler.java|   2 +-
 .../apache/phoenix/compile/JoinCompiler.java|   2 +-
 .../compile/TupleProjectionCompiler.java|   4 +-
 .../apache/phoenix/compile/UnionCompiler.java   |   6 +-
 .../apache/phoenix/compile/UpsertCompiler.java  |   2 +-
 .../coprocessor/BaseScannerRegionObserver.java  |   4 +-
 .../coprocessor/MetaDataEndpointImpl.java   |  26 +-
 .../phoenix/coprocessor/MetaDataProtocol.java   |   2 +-
 .../coprocessor/MetaDataRegionObserver.java |   4 +-
 .../PhoenixTransactionalProcessor.java  |  28 --
 .../coprocessor/ServerCachingEndpointImpl.java  |   4 +-
 .../TephraTransactionalProcessor.java   |  29 ++
 .../UngroupedAggregateRegionObserver.java   |  10 +-
 .../coprocessor/generated/PTableProtos.java | 110 +-
 .../phoenix/exception/SQLExceptionCode.java |   4 +
 .../apache/phoenix/execute/BaseQueryPlan.java   |   3 +
 .../apache/phoenix/execute/MutationState.java   |  74 ++--
 .../PhoenixTxIndexMutationGenerator.java|  10 +-
 .../phoenix/expression/ExpressionType.java  | 119 +-
 .../TransactionProviderNameFunction.java|  81 +
 .../apache/phoenix/index/IndexMaintainer.java   |   4 +-
 .../index/IndexMetaDataCacheFactory.java|   2 +-
 .../apache/phoenix/index/PhoenixIndexCodec.java |   1 -
 .../index/PhoenixIndexMetaDataBuilder.java  |   7 +-
 .../NonAggregateRegionScannerFactory.java   |   5 +-
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  12 +-
 .../apache/phoenix/jdbc/PhoenixStatement.java   |   2 +-
 .../index/PhoenixIndexPartialBuildMapper.java   |   4 +-
 .../phoenix/query/ConnectionQueryServices.java  |   6 +-
 .../query/ConnectionQueryServicesImpl.java  |  71 ++--
 .../query/ConnectionlessQueryServicesImpl.java  |  11 +-
 .../query/DelegateConnectionQueryServices.java  |  13 +-
 .../apache/phoenix/query/QueryConstants.java|   2 +
 .../org/apache/phoenix/query/QueryServices.java |   1 +
 .../phoenix/query/QueryServicesOptions.java |  10 +-
 .../apache/phoenix/schema/DelegateTable.java|   8 +-
 .../apache/phoenix/schema/MetaDataClient.java   | 129 +--
 .../java/org/apache/phoenix/schema/PTable.java  |   2 +
 .../org/apache/phoenix/schema/PTableImpl.java   |  68 ++--
 .../apache/phoenix/schema/TableProperty.java|  18 +
 .../transaction/OmidTransactionContext.java |  57 +--
 .../transaction/OmidTransactionProvider.java|  54 +--
 .../transaction/OmidTransactionTable.java   | 363 ---
 .../transaction/PhoenixTransactionClient.java   |  23 ++
 .../transaction/PhoenixTransactionContext.java  | 169 +
 .../transaction/PhoenixTransactionProvider.java |  51 +++
 .../transaction/PhoenixTransactionService.java  |  24 ++
 .../transaction/PhoenixTransactionalTable.java  | 149 
 .../transaction/TephraTransactionContext.java   | 205 +++
 .../transaction/TephraTransactionProvider.java  | 161 +++-
 .../transaction/TephraTransactionTable.java | 350 --
 .../phoenix/transaction/TransactionFactory.java |  57 ++-
 .../transaction/TransactionProvider.java|  36 --
 .../org/apache/phoenix/util/PhoenixRuntime.java |   3 +-
 .../java/org/apache/phoenix/util/ScanUtil.java  |  15 +
 .../apache/phoenix/util/TransactionUtil.java|  93 -
 .../phoenix/execute/CorrelatePlanTest.java  |   5 +-
 .../execute/LiteralResultIteratorPlanTest.java  |   5 +-
 .../java/org/apache/phoenix/query/BaseTest.java |  26 +-
 .../phoenix/query/QueryServicesTestImpl.java|  15 +-
 .../java/org/apache/phoenix/util/TestUtil.java  |   2 +-
 phoenix-protocol/src/main/PTable.proto  |   1 +
 70 files changed, 1229 insertions(+), 1625 deletions(-)
--



[12/21] phoenix git commit: PHOENIX-4605 Support running multiple transaction providers

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8eaca121/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionTable.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionTable.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionTable.java
deleted file mode 100644
index c191d8d..000
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionTable.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
- * 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.transaction;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.client.Append;
-import org.apache.hadoop.hbase.client.Delete;
-import org.apache.hadoop.hbase.client.Durability;
-import org.apache.hadoop.hbase.client.Get;
-import org.apache.hadoop.hbase.client.HTableInterface;
-import org.apache.hadoop.hbase.client.Increment;
-import org.apache.hadoop.hbase.client.Put;
-import org.apache.hadoop.hbase.client.Result;
-import org.apache.hadoop.hbase.client.ResultScanner;
-import org.apache.hadoop.hbase.client.Row;
-import org.apache.hadoop.hbase.client.RowMutations;
-import org.apache.hadoop.hbase.client.Scan;
-import org.apache.hadoop.hbase.client.coprocessor.Batch.Call;
-import org.apache.hadoop.hbase.client.coprocessor.Batch.Callback;
-import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
-import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;
-import org.apache.tephra.TxConstants;
-import org.apache.tephra.hbase.TransactionAwareHTable;
-import org.apache.phoenix.schema.PTable;
-import org.apache.phoenix.schema.PTableType;
-
-import com.google.protobuf.Descriptors.MethodDescriptor;
-import com.google.protobuf.Message;
-import com.google.protobuf.Service;
-import com.google.protobuf.ServiceException;
-
-public class TephraTransactionTable implements PhoenixTransactionalTable {
-
-private TransactionAwareHTable transactionAwareHTable;
-
-private TephraTransactionContext tephraTransactionContext;
-
-public TephraTransactionTable(PhoenixTransactionContext ctx, 
HTableInterface hTable) {
-this(ctx, hTable, null);
-}
-
-public TephraTransactionTable(PhoenixTransactionContext ctx, 
HTableInterface hTable, PTable pTable) {
-
-assert(ctx instanceof TephraTransactionContext);
-
-tephraTransactionContext = (TephraTransactionContext) ctx;
-
-transactionAwareHTable = new TransactionAwareHTable(hTable, (pTable != 
null && pTable.isImmutableRows()) ? TxConstants.ConflictDetection.NONE : 
TxConstants.ConflictDetection.ROW);
-
-tephraTransactionContext.addTransactionAware(transactionAwareHTable);
-
-if (pTable != null && pTable.getType() != PTableType.INDEX) {
-tephraTransactionContext.markDMLFence(pTable);
-}
-}
-
-@Override
-public Result get(Get get) throws IOException {
-return transactionAwareHTable.get(get);
-}
-
-@Override
-public void put(Put put) throws IOException {
-transactionAwareHTable.put(put);
-}
-
-@Override
-public void delete(Delete delete) throws IOException {
-transactionAwareHTable.delete(delete);
-}
-
-@Override
-public ResultScanner getScanner(Scan scan) throws IOException {
-return transactionAwareHTable.getScanner(scan);
-}
-
-@Override
-public byte[] getTableName() {
-return transactionAwareHTable.getTableName();
-}
-
-@Override
-public Configuration getConfiguration() {
-return transactionAwareHTable.getConfiguration();
-}
-
-@Override
-public HTableDescriptor getTableDescriptor() throws IOException {
-return transactionAwareHTable.getTableDescriptor();
-}
-
-@Override
-public boolean exists(Get get) throws IOException {
-return transactionAwareHTable.exists(get);
-}
-
-@Override
-public Result[] get(List gets) throws IOException {

[05/21] phoenix git commit: PHOENIX-2715 Query Log (addendum)

2018-04-14 Thread pboado
PHOENIX-2715 Query Log (addendum)


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

Branch: refs/heads/4.x-cdh5.14
Commit: 6e899e50c090e40934d6f7ad2e65aa9eef616766
Parents: b291068
Author: Ankit Singhal 
Authored: Tue Apr 10 11:12:38 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:26:26 2018 +0100

--
 .../MigrateSystemTablesToSystemNamespaceIT.java | 40 +++-
 1 file changed, 22 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/6e899e50/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
index 0d64ca9..d20ffa9 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
@@ -16,6 +16,26 @@
  */
 package org.apache.phoenix.end2end;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.security.PrivilegedExceptionAction;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
@@ -39,31 +59,15 @@ import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import java.io.IOException;
-import java.security.PrivilegedExceptionAction;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import static org.junit.Assert.*;
-
 @Category(NeedsOwnMiniClusterTest.class)
 public class MigrateSystemTablesToSystemNamespaceIT extends BaseTest {
 
 private static final Set PHOENIX_SYSTEM_TABLES = new 
HashSet<>(Arrays.asList(
 "SYSTEM.CATALOG", "SYSTEM.SEQUENCE", "SYSTEM.STATS", 
"SYSTEM.FUNCTION",
-"SYSTEM.MUTEX"));
+"SYSTEM.MUTEX","SYSTEM.LOG"));
 private static final Set PHOENIX_NAMESPACE_MAPPED_SYSTEM_TABLES = 
new HashSet<>(
 Arrays.asList("SYSTEM:CATALOG", "SYSTEM:SEQUENCE", "SYSTEM:STATS", 
"SYSTEM:FUNCTION",
-"SYSTEM:MUTEX"));
+"SYSTEM:MUTEX","SYSTEM:LOG"));
 private static final String SCHEMA_NAME = "MIGRATETEST";
 private static final String TABLE_NAME =
 SCHEMA_NAME + "." + 
MigrateSystemTablesToSystemNamespaceIT.class.getSimpleName().toUpperCase();



[09/21] phoenix git commit: PHOENIX-4658 IllegalStateException: requestSeek cannot be called on ReversedKeyValueHeap (Toshihiro Suzuki)

2018-04-14 Thread pboado
PHOENIX-4658 IllegalStateException: requestSeek cannot be called on 
ReversedKeyValueHeap (Toshihiro Suzuki)


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

Branch: refs/heads/4.x-cdh5.14
Commit: 0987d09fafda519bff73e50f7dcd4fbd303678ec
Parents: 08564a9
Author: James Taylor 
Authored: Wed Apr 11 21:31:38 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:27:22 2018 +0100

--
 .../phoenix/end2end/MultiCfQueryExecIT.java | 47 
 .../apache/phoenix/compile/OrderByCompiler.java | 11 +++--
 .../apache/phoenix/compile/QueryCompiler.java   | 12 +
 .../java/org/apache/phoenix/parse/HintNode.java |  4 ++
 .../java/org/apache/phoenix/util/ScanUtil.java  |  2 +
 5 files changed, 62 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0987d09f/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java
index d94df6c..01da2d8 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java
@@ -31,11 +31,13 @@ import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.sql.Statement;
 import java.util.List;
 import java.util.Properties;
 
 import org.apache.phoenix.query.KeyRange;
 import org.apache.phoenix.util.PropertiesUtil;
+import org.apache.phoenix.util.QueryUtil;
 import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.util.TestUtil;
 import org.junit.Before;
@@ -406,4 +408,49 @@ public class MultiCfQueryExecIT extends 
ParallelStatsEnabledIT {
 assertFalse(rs.next());
 }
 }
+
+@Test
+public void testBug4658() throws Exception {
+try (Connection conn = DriverManager.getConnection(getUrl());
+  Statement stmt = conn.createStatement()) {
+String tableName = generateUniqueName();
+
+stmt.execute("CREATE TABLE " + tableName + " ("
++ "COL1 VARCHAR NOT NULL,"
++ "COL2 VARCHAR NOT NULL,"
++ "COL3 VARCHAR,"
++ "FAM.COL4 VARCHAR,"
++ "CONSTRAINT TRADE_EVENT_PK PRIMARY KEY (COL1, COL2))");
+stmt.execute("UPSERT INTO " + tableName + " (COL1, COL2) values 
('111', 'AAA')");
+stmt.execute("UPSERT INTO " + tableName + " (COL1, COL2) values 
('222', 'AAA')");
+conn.commit();
+
+try (ResultSet rs = stmt.executeQuery(
+  "SELECT * FROM " + tableName + " WHERE COL2 = 'AAA' ORDER BY 
COL1 DESC")) {
+assertTrue(rs.next());
+assertEquals(rs.getString("COL1"), "222");
+assertEquals(rs.getString("COL2"), "AAA");
+assertTrue(rs.next());
+assertEquals(rs.getString("COL1"), "111");
+assertEquals(rs.getString("COL2"), "AAA");
+assertFalse(rs.next());
+}
+
+// Tests for FORWARD_SCAN hint
+String query = "SELECT /*+ FORWARD_SCAN */ * FROM " + tableName + 
" WHERE COL2 = 'AAA' ORDER BY COL1 DESC";
+try (ResultSet rs = stmt.executeQuery("EXPLAIN " + query)) {
+String explainPlan = QueryUtil.getExplainPlan(rs);
+assertFalse(explainPlan.contains("REVERSE"));
+}
+try (ResultSet rs = stmt.executeQuery(query)) {
+assertTrue(rs.next());
+assertEquals(rs.getString("COL1"), "222");
+assertEquals(rs.getString("COL2"), "AAA");
+assertTrue(rs.next());
+assertEquals(rs.getString("COL1"), "111");
+assertEquals(rs.getString("COL2"), "AAA");
+assertFalse(rs.next());
+}
+}
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/0987d09f/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java
index 1097f70..b83c7a8 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java
+++ 

[10/21] phoenix git commit: PHOENIX-4366 Rebuilding a local index fails sometimes

2018-04-14 Thread pboado
PHOENIX-4366 Rebuilding a local index fails sometimes


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

Branch: refs/heads/4.x-cdh5.14
Commit: a874df3a70bb52ea56f0159c37cdbb16534d762f
Parents: 0987d09
Author: James Taylor 
Authored: Wed Apr 11 21:37:45 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:27:33 2018 +0100

--
 .../coprocessor/BaseScannerRegionObserver.java  |  7 +
 .../GroupedAggregateRegionObserver.java |  4 +++
 .../phoenix/coprocessor/ScanRegionObserver.java |  4 ++-
 .../UngroupedAggregateRegionObserver.java   |  7 -
 .../NonAggregateRegionScannerFactory.java   | 29 +---
 .../phoenix/iterate/RegionScannerFactory.java   |  4 +--
 .../apache/phoenix/iterate/SnapshotScanner.java |  6 +---
 7 files changed, 30 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/a874df3a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
index 7ef64b0..3310131 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
@@ -139,8 +139,6 @@ abstract public class BaseScannerRegionObserver extends 
BaseRegionObserver {
 
 /** Exposed for testing */
 public static final String SCANNER_OPENED_TRACE_INFO = "Scanner opened on 
server";
-protected QualifierEncodingScheme encodingScheme;
-protected boolean useNewValueColumnQualifier;
 
 @Override
 public void start(CoprocessorEnvironment e) throws IOException {
@@ -211,8 +209,6 @@ abstract public class BaseScannerRegionObserver extends 
BaseRegionObserver {
 // start exclusive and the stop inclusive.
 ScanUtil.setupReverseScan(scan);
 }
-this.encodingScheme = 
EncodedColumnsUtil.getQualifierEncodingScheme(scan);
-this.useNewValueColumnQualifier = 
EncodedColumnsUtil.useNewValueColumnQualifier(scan);
 return s;
 }
 
@@ -350,8 +346,7 @@ abstract public class BaseScannerRegionObserver extends 
BaseRegionObserver {
 final byte[][] viewConstants, final TupleProjector projector,
 final ImmutableBytesWritable ptr, final boolean 
useQualiferAsListIndex) {
 
-RegionScannerFactory regionScannerFactory = new 
NonAggregateRegionScannerFactory(c.getEnvironment(),
-useNewValueColumnQualifier, encodingScheme);
+RegionScannerFactory regionScannerFactory = new 
NonAggregateRegionScannerFactory(c.getEnvironment());
 
 return regionScannerFactory.getWrappedScanner(c.getEnvironment(), s, 
null, null, offset, scan, dataColumns, tupleProjector,
 dataRegion, indexMaintainer, null, viewConstants, null, null, 
projector, ptr, useQualiferAsListIndex);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/a874df3a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
index 67cc114..201bcec 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
@@ -62,6 +62,7 @@ import org.apache.phoenix.index.IndexMaintainer;
 import org.apache.phoenix.join.HashJoinInfo;
 import org.apache.phoenix.memory.MemoryManager.MemoryChunk;
 import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.schema.PTable;
 import org.apache.phoenix.schema.SortOrder;
 import org.apache.phoenix.schema.tuple.EncodedColumnQualiferCellsList;
 import org.apache.phoenix.schema.tuple.MultiKeyValueTuple;
@@ -110,6 +111,7 @@ public class GroupedAggregateRegionObserver extends 
BaseScannerRegionObserver {
 keyOrdered = true;
 }
 int offset = 0;
+boolean useNewValueColumnQualifier = 
EncodedColumnsUtil.useNewValueColumnQualifier(scan);
 if (ScanUtil.isLocalIndex(scan)) {
 /*
  * For local indexes, we need to set an offset on row key 

[20/21] phoenix git commit: PHOENIX-4575 Phoenix metadata KEEP_DELETED_CELLS and VERSIONS should be property driven (Chinmay Kulkarni)

2018-04-14 Thread pboado
PHOENIX-4575 Phoenix metadata KEEP_DELETED_CELLS and VERSIONS should be 
property driven (Chinmay Kulkarni)


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

Branch: refs/heads/4.x-cdh5.14
Commit: 9fc11de1586c93c53d2fe994e374e2f15b3b3f05
Parents: 4022649
Author: James Taylor 
Authored: Fri Apr 13 22:30:00 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:31:51 2018 +0100

--
 .../phoenix/coprocessor/MetaDataProtocol.java   |  4 --
 .../query/ConnectionQueryServicesImpl.java  | 41 ++--
 .../query/ConnectionlessQueryServicesImpl.java  | 35 +++--
 .../apache/phoenix/query/QueryConstants.java| 14 +++
 .../org/apache/phoenix/query/QueryServices.java |  5 ++-
 .../phoenix/query/QueryServicesOptions.java |  3 +-
 .../org/apache/phoenix/util/UpgradeUtil.java|  4 +-
 7 files changed, 74 insertions(+), 32 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/9fc11de1/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
index 26f8198..36d6f0d 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
@@ -72,10 +72,6 @@ public abstract class MetaDataProtocol extends 
MetaDataService {
 public static final long MIN_SYSTEM_TABLE_MIGRATION_TIMESTAMP = 0;
 public static final String MIGRATION_IN_PROGRESS = "MigrationInProgress";
 
-public static final int DEFAULT_MAX_META_DATA_VERSIONS = 1000;
-public static final boolean DEFAULT_META_DATA_KEEP_DELETED_CELLS = true;
-public static final int DEFAULT_MAX_STAT_DATA_VERSIONS = 1;
-public static final boolean DEFAULT_STATS_KEEP_DELETED_CELLS = false;
 public static final int DEFAULT_LOG_VERSIONS = 10;
 public static final int DEFAULT_LOG_TTL = 7 * 24 * 60 * 60; // 7 days 
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9fc11de1/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 7f97c74..02fcf24 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -720,10 +720,6 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 private HColumnDescriptor 
generateColumnFamilyDescriptor(Pair> family, 
PTableType tableType) throws SQLException {
 HColumnDescriptor columnDesc = new 
HColumnDescriptor(family.getFirst());
 if (tableType != PTableType.VIEW) {
-if(props.get(QueryServices.DEFAULT_KEEP_DELETED_CELLS_ATTRIB) != 
null){
-columnDesc.setKeepDeletedCells(props.getBoolean(
-QueryServices.DEFAULT_KEEP_DELETED_CELLS_ATTRIB, 
QueryServicesOptions.DEFAULT_KEEP_DELETED_CELLS));
-}
 
columnDesc.setDataBlockEncoding(SchemaUtil.DEFAULT_DATA_BLOCK_ENCODING);
 columnDesc.setBloomFilterType(BloomType.NONE);
 for (Entry entry : family.getSecond().entrySet()) {
@@ -2459,8 +2455,29 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 }
 
 // Available for testing
-protected String getSystemCatalogDML() {
-return QueryConstants.CREATE_TABLE_METADATA;
+protected String getSystemCatalogTableDDL() {
+return setSystemDDLProperties(QueryConstants.CREATE_TABLE_METADATA);
+}
+
+// Available for testing
+protected String getFunctionTableDDL() {
+return setSystemDDLProperties(QueryConstants.CREATE_FUNCTION_METADATA);
+}
+
+// Available for testing
+protected String getLogTableDDL() {
+return setSystemLogDDLProperties(QueryConstants.CREATE_LOG_METADATA);
+}
+
+private String setSystemDDLProperties(String ddl) {
+return String.format(ddl,
+  props.getInt(DEFAULT_SYSTEM_MAX_VERSIONS_ATTRIB, 
QueryServicesOptions.DEFAULT_SYSTEM_MAX_VERSIONS),
+  

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

2018-04-14 Thread pboado
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/4d9cc929
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/4d9cc929
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/4d9cc929

Branch: refs/heads/4.x-cdh5.14
Commit: 4d9cc9294733161ebc915042e4c173f74906fad0
Parents: 7871e72
Author: Toshihiro Suzuki 
Authored: Thu Mar 29 09:17:37 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:24:59 2018 +0100

--
 .../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/4d9cc929/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/4d9cc929/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
--- 

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

2018-04-14 Thread pboado
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/b291068b
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/b291068b
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/b291068b

Branch: refs/heads/4.x-cdh5.14
Commit: b291068bc9c6e133c7bcb6dfe52dd4f96a76f2a1
Parents: 4d9cc92
Author: Ankit Singhal 
Authored: Tue Apr 10 07:53:31 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:26:16 2018 +0100

--
 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/b291068b/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index b07cbbb..8fe8a10 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -526,5 +526,10 @@
   i18n-util
   ${i18n-util.version}
 
+   
+com.lmax
+disruptor
+${disruptor.version}
+  
   
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b291068b/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 a1bcf40..54cb5da 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/b291068b/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

[01/21] phoenix git commit: PHOENIX-4683 Cap timeouts for stats precompact hook logic [Forced Update!]

2018-04-14 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.14 c95110694 -> 9f2bf7307 (forced update)


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/7871e72c
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/7871e72c
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/7871e72c

Branch: refs/heads/4.x-cdh5.14
Commit: 7871e72c95c4966e6dcc81b02cab65ad29a69bff
Parents: f3defc4
Author: Vincent Poon 
Authored: Mon Apr 9 22:04:28 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:24:49 2018 +0100

--
 .../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/7871e72c/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/7871e72c/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 = 

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

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/b291068b/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,
+

[06/21] phoenix git commit: PHOENIX-4672 Align the kerberos principal config keys

2018-04-14 Thread pboado
PHOENIX-4672 Align the kerberos principal config keys

Fix the configuration keys in a manner that won't break users
who are using the 'old' name.


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

Branch: refs/heads/4.x-cdh5.14
Commit: 79c25f67ba0cb4ce9047b419123b1dfc142cf403
Parents: 6e899e5
Author: Josh Elser 
Authored: Tue Apr 10 19:08:57 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:26:37 2018 +0100

--
 .../src/main/java/org/apache/phoenix/query/QueryServices.java| 3 ++-
 .../java/org/apache/phoenix/queryserver/server/QueryServer.java  | 4 
 2 files changed, 6 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/79c25f67/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java 
b/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
index 43b9e5a..21f043c 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
@@ -237,7 +237,8 @@ public interface QueryServices extends SQLCloseable {
 public static final String QUERY_SERVER_KEYTAB_FILENAME_ATTRIB = 
"phoenix.queryserver.keytab.file";
 public static final String QUERY_SERVER_HTTP_KEYTAB_FILENAME_ATTRIB = 
"phoenix.queryserver.http.keytab.file";
 public static final String QUERY_SERVER_KERBEROS_PRINCIPAL_ATTRIB = 
"phoenix.queryserver.kerberos.principal";
-public static final String QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB = 
"phoenix.queryserver.kerberos.http.principal";
+public static final String 
QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB_LEGACY = 
"phoenix.queryserver.kerberos.http.principal";
+public static final String QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB = 
"phoenix.queryserver.http.kerberos.principal";
 public static final String QUERY_SERVER_DNS_NAMESERVER_ATTRIB = 
"phoenix.queryserver.dns.nameserver";
 public static final String QUERY_SERVER_DNS_INTERFACE_ATTRIB = 
"phoenix.queryserver.dns.interface";
 public static final String QUERY_SERVER_HBASE_SECURITY_CONF_ATTRIB = 
"hbase.security.authentication";

http://git-wip-us.apache.org/repos/asf/phoenix/blob/79c25f67/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
--
diff --git 
a/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
 
b/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
index 6b1fcfe..8436086 100644
--- 
a/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
+++ 
b/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
@@ -246,6 +246,10 @@ public final class QueryServer extends Configured 
implements Tool, Runnable {
 File keytab = new File(keytabPath);
 String httpKeytabPath = 
getConf().get(QueryServices.QUERY_SERVER_HTTP_KEYTAB_FILENAME_ATTRIB, null);
 String httpPrincipal = 
getConf().get(QueryServices.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB, null);
+// Backwards compat for a configuration key change
+if (httpPrincipal == null) {
+  httpPrincipal = 
getConf().get(QueryServices.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB_LEGACY, 
null);
+}
 File httpKeytab = null;
 if (null != httpKeytabPath)
   httpKeytab = new File(httpKeytabPath);



[07/21] phoenix git commit: PHOENIX-2715 Query Log (addendum) Fix old com.lmax.disruptor dependency

2018-04-14 Thread pboado
PHOENIX-2715 Query Log (addendum)
Fix old com.lmax.disruptor dependency


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

Branch: refs/heads/4.x-cdh5.14
Commit: fe06c3b0717e484ada82a208968a9e773e4d0b98
Parents: 79c25f6
Author: Ankit Singhal 
Authored: Wed Apr 11 13:07:08 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:26:50 2018 +0100

--
 phoenix-core/pom.xml  | 7 ---
 phoenix-flume/pom.xml | 6 --
 phoenix-kafka/pom.xml | 6 --
 3 files changed, 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/fe06c3b0/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 8fe8a10..e1f8e2a 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -345,12 +345,6 @@
   test
 
 
-  com.lmax
-  disruptor
-  3.2.0
-  test
-
-
   org.apache.htrace
   htrace-core
 
@@ -529,7 +523,6 @@

 com.lmax
 disruptor
-${disruptor.version}
   
   
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fe06c3b0/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index 0883e5e..d61a9aa 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -69,12 +69,6 @@
   test
 
 
-  com.lmax
-  disruptor
-  3.2.0
-  test
-
-
   org.apache.htrace
   htrace-core
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fe06c3b0/phoenix-kafka/pom.xml
--
diff --git a/phoenix-kafka/pom.xml b/phoenix-kafka/pom.xml
index 8718f5f..af6b4fe 100644
--- a/phoenix-kafka/pom.xml
+++ b/phoenix-kafka/pom.xml
@@ -143,12 +143,6 @@
test


-   com.lmax
-   disruptor
-   3.2.0
-   test
-   
-   
org.apache.htrace
htrace-core




[08/21] phoenix git commit: PHOENIX-4653 Upgrading from namespace enabled cluster to latest version failing with UpgradeInProgressException(Rajeshbabu)

2018-04-14 Thread pboado
PHOENIX-4653 Upgrading from namespace enabled cluster to latest version failing 
with UpgradeInProgressException(Rajeshbabu)


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

Branch: refs/heads/4.x-cdh5.14
Commit: 08564a99e4ea5c89441a55fe96a54122cc4a46c8
Parents: fe06c3b
Author: Rajeshbabu Chintaguntla 
Authored: Wed Apr 11 13:48:04 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:27:12 2018 +0100

--
 .../apache/phoenix/query/ConnectionQueryServicesImpl.java| 8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/08564a99/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 8c7441a..6627a84 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -2678,13 +2678,7 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 long currentServerSideTableTimeStamp = 
e.getTable().getTimeStamp();
 sysCatalogTableName = 
e.getTable().getPhysicalName().getString();
 if (currentServerSideTableTimeStamp < 
MIN_SYSTEM_TABLE_TIMESTAMP) {
-// Ensure that the SYSTEM.MUTEX table has been created 
prior
-// to attempting to acquire the upgrade mutex. If namespace
-// mapping is enabled, we've already done this earlier in 
the
-// upgrade, so no need for a bunch of wasted RPCs.
-if (currentServerSideTableTimeStamp <= 
MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP_4_10_0 &&
-
!SchemaUtil.isNamespaceMappingEnabled(PTableType.SYSTEM,
-
ConnectionQueryServicesImpl.this.getProps())) {
+if (currentServerSideTableTimeStamp <= 
MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP_4_10_0) {
 try (HBaseAdmin admin = getAdmin()) {
 createSysMutexTableIfNotExists(admin, 
this.getProps());
 }



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

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/b291068b/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,
+

[14/21] phoenix git commit: PHOENIX-4605 Support running multiple transaction providers

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8eaca121/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
index c5065e0..59c10ad 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
@@ -19,120 +19,7 @@ package org.apache.phoenix.expression;
 
 import java.util.Map;
 
-import org.apache.phoenix.expression.function.AbsFunction;
-import org.apache.phoenix.expression.function.ArrayAllComparisonExpression;
-import org.apache.phoenix.expression.function.ArrayAnyComparisonExpression;
-import org.apache.phoenix.expression.function.ArrayAppendFunction;
-import org.apache.phoenix.expression.function.ArrayConcatFunction;
-import org.apache.phoenix.expression.function.ArrayElemRefExpression;
-import org.apache.phoenix.expression.function.ArrayFillFunction;
-import org.apache.phoenix.expression.function.ArrayIndexFunction;
-import org.apache.phoenix.expression.function.ArrayLengthFunction;
-import org.apache.phoenix.expression.function.ArrayPrependFunction;
-import org.apache.phoenix.expression.function.ArrayRemoveFunction;
-import org.apache.phoenix.expression.function.ArrayToStringFunction;
-import org.apache.phoenix.expression.function.ByteBasedRegexpReplaceFunction;
-import org.apache.phoenix.expression.function.ByteBasedRegexpSplitFunction;
-import org.apache.phoenix.expression.function.ByteBasedRegexpSubstrFunction;
-import org.apache.phoenix.expression.function.CbrtFunction;
-import org.apache.phoenix.expression.function.CeilDateExpression;
-import org.apache.phoenix.expression.function.CeilDecimalExpression;
-import org.apache.phoenix.expression.function.CeilFunction;
-import org.apache.phoenix.expression.function.CeilMonthExpression;
-import org.apache.phoenix.expression.function.CeilTimestampExpression;
-import org.apache.phoenix.expression.function.CeilWeekExpression;
-import org.apache.phoenix.expression.function.CeilYearExpression;
-import org.apache.phoenix.expression.function.CoalesceFunction;
-import org.apache.phoenix.expression.function.CollationKeyFunction;
-import org.apache.phoenix.expression.function.ConvertTimezoneFunction;
-import org.apache.phoenix.expression.function.CountAggregateFunction;
-import org.apache.phoenix.expression.function.DayOfMonthFunction;
-import org.apache.phoenix.expression.function.DayOfWeekFunction;
-import org.apache.phoenix.expression.function.DayOfYearFunction;
-import org.apache.phoenix.expression.function.DecodeFunction;
-import org.apache.phoenix.expression.function.DefaultValueExpression;
-import org.apache.phoenix.expression.function.DistinctCountAggregateFunction;
-import 
org.apache.phoenix.expression.function.DistinctCountHyperLogLogAggregateFunction;
-import org.apache.phoenix.expression.function.DistinctValueAggregateFunction;
-import org.apache.phoenix.expression.function.EncodeFunction;
-import org.apache.phoenix.expression.function.ExpFunction;
-import org.apache.phoenix.expression.function.ExternalSqlTypeIdFunction;
-import org.apache.phoenix.expression.function.FirstValueFunction;
-import org.apache.phoenix.expression.function.FirstValuesFunction;
-import org.apache.phoenix.expression.function.FloorDateExpression;
-import org.apache.phoenix.expression.function.FloorDecimalExpression;
-import org.apache.phoenix.expression.function.FloorFunction;
-import org.apache.phoenix.expression.function.FloorMonthExpression;
-import org.apache.phoenix.expression.function.FloorWeekExpression;
-import org.apache.phoenix.expression.function.FloorYearExpression;
-import org.apache.phoenix.expression.function.GetBitFunction;
-import org.apache.phoenix.expression.function.GetByteFunction;
-import org.apache.phoenix.expression.function.HourFunction;
-import org.apache.phoenix.expression.function.IndexStateNameFunction;
-import org.apache.phoenix.expression.function.InstrFunction;
-import org.apache.phoenix.expression.function.InvertFunction;
-import org.apache.phoenix.expression.function.LTrimFunction;
-import org.apache.phoenix.expression.function.LastValueFunction;
-import org.apache.phoenix.expression.function.LastValuesFunction;
-import org.apache.phoenix.expression.function.LengthFunction;
-import org.apache.phoenix.expression.function.LnFunction;
-import org.apache.phoenix.expression.function.LogFunction;
-import org.apache.phoenix.expression.function.LowerFunction;
-import org.apache.phoenix.expression.function.LpadFunction;
-import org.apache.phoenix.expression.function.MD5Function;
-import org.apache.phoenix.expression.function.MaxAggregateFunction;
-import org.apache.phoenix.expression.function.MinAggregateFunction;
-import 

[13/21] phoenix git commit: PHOENIX-4605 Support running multiple transaction providers

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8eaca121/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java 
b/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
index a7b31e8..1a11427 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
@@ -69,6 +69,7 @@ import org.apache.phoenix.schema.types.PDataType;
 import org.apache.phoenix.schema.types.PDouble;
 import org.apache.phoenix.schema.types.PFloat;
 import org.apache.phoenix.schema.types.PVarchar;
+import org.apache.phoenix.transaction.TransactionFactory;
 import org.apache.phoenix.util.ByteUtil;
 import org.apache.phoenix.util.EncodedColumnsUtil;
 import org.apache.phoenix.util.PhoenixRuntime;
@@ -134,7 +135,7 @@ public class PTableImpl implements PTable {
 private boolean disableWAL;
 private boolean multiTenant;
 private boolean storeNulls;
-private boolean isTransactional;
+private TransactionFactory.Provider transactionProvider;
 private ViewType viewType;
 private Short viewIndexId;
 private int estimatedSize;
@@ -227,7 +228,7 @@ public class PTableImpl implements PTable {
 init(tenantId, this.schemaName, this.tableName, PTableType.INDEX, 
state, timeStamp, sequenceNumber, pkName, bucketNum, columns,
 this.schemaName, parentTableName, indexes, isImmutableRows, 
physicalNames, defaultFamilyName,
 null, disableWAL, multiTenant, storeNulls, viewType, viewIndexId, 
indexType, baseColumnCount, rowKeyOrderOptimizable,
-isTransactional, updateCacheFrequency, indexDisableTimestamp, 
isNamespaceMpped, null, false, storageScheme, qualifierEncodingScheme, 
encodedCQCounter, useStatsForParallelization);
+transactionProvider, updateCacheFrequency, indexDisableTimestamp, 
isNamespaceMpped, null, false, storageScheme, qualifierEncodingScheme, 
encodedCQCounter, useStatsForParallelization);
 }
 
 public PTableImpl(long timeStamp) { // For delete marker
@@ -270,7 +271,7 @@ public class PTableImpl implements PTable {
 table.getSequenceNumber(), table.getPKName(), 
table.getBucketNum(), getColumnsToClone(table), table.getParentSchemaName(), 
table.getParentTableName(),
 indexes, table.isImmutableRows(), physicalNames, 
table.getDefaultFamilyName(), viewStatement,
 table.isWALDisabled(), table.isMultiTenant(), 
table.getStoreNulls(), table.getViewType(), table.getViewIndexId(), 
table.getIndexType(),
-table.getBaseColumnCount(), 
table.rowKeyOrderOptimizable(), table.isTransactional(), updateCacheFrequency,
+table.getBaseColumnCount(), 
table.rowKeyOrderOptimizable(), table.getTransactionProvider(), 
updateCacheFrequency,
 table.getIndexDisableTimestamp(), 
table.isNamespaceMapped(), table.getAutoPartitionSeqName(), 
table.isAppendOnlySchema(), table.getImmutableStorageScheme(), 
table.getEncodingScheme(), table.getEncodedCQCounter(), 
table.useStatsForParallelization());
 }
 
@@ -280,7 +281,7 @@ public class PTableImpl implements PTable {
 table.getSequenceNumber(), table.getPKName(), 
table.getBucketNum(), getColumnsToClone(table), parentSchemaName, 
table.getParentTableName(),
 indexes, table.isImmutableRows(), table.getPhysicalNames(), 
table.getDefaultFamilyName(), viewStatement,
 table.isWALDisabled(), table.isMultiTenant(), 
table.getStoreNulls(), table.getViewType(), table.getViewIndexId(), 
table.getIndexType(),
-table.getBaseColumnCount(), table.rowKeyOrderOptimizable(), 
table.isTransactional(), table.getUpdateCacheFrequency(),
+table.getBaseColumnCount(), table.rowKeyOrderOptimizable(), 
table.getTransactionProvider(), table.getUpdateCacheFrequency(),
 table.getIndexDisableTimestamp(), table.isNamespaceMapped(), 
table.getAutoPartitionSeqName(), table.isAppendOnlySchema(), 
table.getImmutableStorageScheme(), table.getEncodingScheme(), 
table.getEncodedCQCounter(), table.useStatsForParallelization());
 }
 
@@ -290,7 +291,7 @@ public class PTableImpl implements PTable {
 table.getSequenceNumber(), table.getPKName(), 
table.getBucketNum(), columns, table.getParentSchemaName(), 
table.getParentTableName(),
 table.getIndexes(), table.isImmutableRows(), 
table.getPhysicalNames(), table.getDefaultFamilyName(), 
table.getViewStatement(),
 table.isWALDisabled(), table.isMultiTenant(), 
table.getStoreNulls(), table.getViewType(), table.getViewIndexId(), 
table.getIndexType(),
-table.getBaseColumnCount(), table.rowKeyOrderOptimizable(), 
table.isTransactional(), table.getUpdateCacheFrequency(),

[08/21] phoenix git commit: PHOENIX-4653 Upgrading from namespace enabled cluster to latest version failing with UpgradeInProgressException(Rajeshbabu)

2018-04-14 Thread pboado
PHOENIX-4653 Upgrading from namespace enabled cluster to latest version failing 
with UpgradeInProgressException(Rajeshbabu)


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

Branch: refs/heads/4.x-cdh5.13
Commit: 08564a99e4ea5c89441a55fe96a54122cc4a46c8
Parents: fe06c3b
Author: Rajeshbabu Chintaguntla 
Authored: Wed Apr 11 13:48:04 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:27:12 2018 +0100

--
 .../apache/phoenix/query/ConnectionQueryServicesImpl.java| 8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/08564a99/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 8c7441a..6627a84 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -2678,13 +2678,7 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 long currentServerSideTableTimeStamp = 
e.getTable().getTimeStamp();
 sysCatalogTableName = 
e.getTable().getPhysicalName().getString();
 if (currentServerSideTableTimeStamp < 
MIN_SYSTEM_TABLE_TIMESTAMP) {
-// Ensure that the SYSTEM.MUTEX table has been created 
prior
-// to attempting to acquire the upgrade mutex. If namespace
-// mapping is enabled, we've already done this earlier in 
the
-// upgrade, so no need for a bunch of wasted RPCs.
-if (currentServerSideTableTimeStamp <= 
MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP_4_10_0 &&
-
!SchemaUtil.isNamespaceMappingEnabled(PTableType.SYSTEM,
-
ConnectionQueryServicesImpl.this.getProps())) {
+if (currentServerSideTableTimeStamp <= 
MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP_4_10_0) {
 try (HBaseAdmin admin = getAdmin()) {
 createSysMutexTableIfNotExists(admin, 
this.getProps());
 }



[07/21] phoenix git commit: PHOENIX-2715 Query Log (addendum) Fix old com.lmax.disruptor dependency

2018-04-14 Thread pboado
PHOENIX-2715 Query Log (addendum)
Fix old com.lmax.disruptor dependency


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

Branch: refs/heads/4.x-cdh5.13
Commit: fe06c3b0717e484ada82a208968a9e773e4d0b98
Parents: 79c25f6
Author: Ankit Singhal 
Authored: Wed Apr 11 13:07:08 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:26:50 2018 +0100

--
 phoenix-core/pom.xml  | 7 ---
 phoenix-flume/pom.xml | 6 --
 phoenix-kafka/pom.xml | 6 --
 3 files changed, 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/fe06c3b0/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 8fe8a10..e1f8e2a 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -345,12 +345,6 @@
   test
 
 
-  com.lmax
-  disruptor
-  3.2.0
-  test
-
-
   org.apache.htrace
   htrace-core
 
@@ -529,7 +523,6 @@

 com.lmax
 disruptor
-${disruptor.version}
   
   
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fe06c3b0/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index 0883e5e..d61a9aa 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -69,12 +69,6 @@
   test
 
 
-  com.lmax
-  disruptor
-  3.2.0
-  test
-
-
   org.apache.htrace
   htrace-core
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fe06c3b0/phoenix-kafka/pom.xml
--
diff --git a/phoenix-kafka/pom.xml b/phoenix-kafka/pom.xml
index 8718f5f..af6b4fe 100644
--- a/phoenix-kafka/pom.xml
+++ b/phoenix-kafka/pom.xml
@@ -143,12 +143,6 @@
test


-   com.lmax
-   disruptor
-   3.2.0
-   test
-   
-   
org.apache.htrace
htrace-core




[06/21] phoenix git commit: PHOENIX-4672 Align the kerberos principal config keys

2018-04-14 Thread pboado
PHOENIX-4672 Align the kerberos principal config keys

Fix the configuration keys in a manner that won't break users
who are using the 'old' name.


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

Branch: refs/heads/4.x-cdh5.13
Commit: 79c25f67ba0cb4ce9047b419123b1dfc142cf403
Parents: 6e899e5
Author: Josh Elser 
Authored: Tue Apr 10 19:08:57 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:26:37 2018 +0100

--
 .../src/main/java/org/apache/phoenix/query/QueryServices.java| 3 ++-
 .../java/org/apache/phoenix/queryserver/server/QueryServer.java  | 4 
 2 files changed, 6 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/79c25f67/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java 
b/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
index 43b9e5a..21f043c 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
@@ -237,7 +237,8 @@ public interface QueryServices extends SQLCloseable {
 public static final String QUERY_SERVER_KEYTAB_FILENAME_ATTRIB = 
"phoenix.queryserver.keytab.file";
 public static final String QUERY_SERVER_HTTP_KEYTAB_FILENAME_ATTRIB = 
"phoenix.queryserver.http.keytab.file";
 public static final String QUERY_SERVER_KERBEROS_PRINCIPAL_ATTRIB = 
"phoenix.queryserver.kerberos.principal";
-public static final String QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB = 
"phoenix.queryserver.kerberos.http.principal";
+public static final String 
QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB_LEGACY = 
"phoenix.queryserver.kerberos.http.principal";
+public static final String QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB = 
"phoenix.queryserver.http.kerberos.principal";
 public static final String QUERY_SERVER_DNS_NAMESERVER_ATTRIB = 
"phoenix.queryserver.dns.nameserver";
 public static final String QUERY_SERVER_DNS_INTERFACE_ATTRIB = 
"phoenix.queryserver.dns.interface";
 public static final String QUERY_SERVER_HBASE_SECURITY_CONF_ATTRIB = 
"hbase.security.authentication";

http://git-wip-us.apache.org/repos/asf/phoenix/blob/79c25f67/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
--
diff --git 
a/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
 
b/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
index 6b1fcfe..8436086 100644
--- 
a/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
+++ 
b/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
@@ -246,6 +246,10 @@ public final class QueryServer extends Configured 
implements Tool, Runnable {
 File keytab = new File(keytabPath);
 String httpKeytabPath = 
getConf().get(QueryServices.QUERY_SERVER_HTTP_KEYTAB_FILENAME_ATTRIB, null);
 String httpPrincipal = 
getConf().get(QueryServices.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB, null);
+// Backwards compat for a configuration key change
+if (httpPrincipal == null) {
+  httpPrincipal = 
getConf().get(QueryServices.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB_LEGACY, 
null);
+}
 File httpKeytab = null;
 if (null != httpKeytabPath)
   httpKeytab = new File(httpKeytabPath);



[16/21] phoenix git commit: PHOENIX-4496 Fix RowValueConstructorIT and IndexMetadataIT

2018-04-14 Thread pboado
PHOENIX-4496 Fix RowValueConstructorIT and IndexMetadataIT


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

Branch: refs/heads/4.x-cdh5.13
Commit: f71654a5c68e403d6c9c9fd3d535ee9cfc1b73f7
Parents: 8eaca12
Author: Ankit Singhal 
Authored: Fri Apr 13 10:54:32 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:31:12 2018 +0100

--
 .../phoenix/hbase/index/scanner/ScannerBuilder.java | 16 
 1 file changed, 16 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/f71654a5/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
index ad09c0c..703fcd2 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
@@ -31,6 +31,7 @@ import org.apache.hadoop.hbase.filter.BinaryComparator;
 import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
 import org.apache.hadoop.hbase.filter.FamilyFilter;
 import org.apache.hadoop.hbase.filter.Filter;
+import org.apache.hadoop.hbase.filter.FilterBase;
 import org.apache.hadoop.hbase.filter.FilterList;
 import org.apache.hadoop.hbase.filter.QualifierFilter;
 import org.apache.hadoop.hbase.util.Bytes;
@@ -98,6 +99,21 @@ public class ScannerBuilder {
   }
   columnFilters.addFilter(columnFilter);
 }
+
+if(columns.isEmpty()){
+columnFilters.addFilter(new FilterBase() {
+
+@Override
+public boolean filterAllRemaining() throws IOException {
+return true;
+}
+
+@Override
+public ReturnCode filterKeyValue(Cell v) throws IOException {
+return Filter.ReturnCode.INCLUDE;
+}
+});
+}
 return columnFilters;
   }
 



[20/21] phoenix git commit: PHOENIX-4575 Phoenix metadata KEEP_DELETED_CELLS and VERSIONS should be property driven (Chinmay Kulkarni)

2018-04-14 Thread pboado
PHOENIX-4575 Phoenix metadata KEEP_DELETED_CELLS and VERSIONS should be 
property driven (Chinmay Kulkarni)


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

Branch: refs/heads/4.x-cdh5.13
Commit: 9fc11de1586c93c53d2fe994e374e2f15b3b3f05
Parents: 4022649
Author: James Taylor 
Authored: Fri Apr 13 22:30:00 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:31:51 2018 +0100

--
 .../phoenix/coprocessor/MetaDataProtocol.java   |  4 --
 .../query/ConnectionQueryServicesImpl.java  | 41 ++--
 .../query/ConnectionlessQueryServicesImpl.java  | 35 +++--
 .../apache/phoenix/query/QueryConstants.java| 14 +++
 .../org/apache/phoenix/query/QueryServices.java |  5 ++-
 .../phoenix/query/QueryServicesOptions.java |  3 +-
 .../org/apache/phoenix/util/UpgradeUtil.java|  4 +-
 7 files changed, 74 insertions(+), 32 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/9fc11de1/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
index 26f8198..36d6f0d 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
@@ -72,10 +72,6 @@ public abstract class MetaDataProtocol extends 
MetaDataService {
 public static final long MIN_SYSTEM_TABLE_MIGRATION_TIMESTAMP = 0;
 public static final String MIGRATION_IN_PROGRESS = "MigrationInProgress";
 
-public static final int DEFAULT_MAX_META_DATA_VERSIONS = 1000;
-public static final boolean DEFAULT_META_DATA_KEEP_DELETED_CELLS = true;
-public static final int DEFAULT_MAX_STAT_DATA_VERSIONS = 1;
-public static final boolean DEFAULT_STATS_KEEP_DELETED_CELLS = false;
 public static final int DEFAULT_LOG_VERSIONS = 10;
 public static final int DEFAULT_LOG_TTL = 7 * 24 * 60 * 60; // 7 days 
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9fc11de1/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 7f97c74..02fcf24 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -720,10 +720,6 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 private HColumnDescriptor 
generateColumnFamilyDescriptor(Pair> family, 
PTableType tableType) throws SQLException {
 HColumnDescriptor columnDesc = new 
HColumnDescriptor(family.getFirst());
 if (tableType != PTableType.VIEW) {
-if(props.get(QueryServices.DEFAULT_KEEP_DELETED_CELLS_ATTRIB) != 
null){
-columnDesc.setKeepDeletedCells(props.getBoolean(
-QueryServices.DEFAULT_KEEP_DELETED_CELLS_ATTRIB, 
QueryServicesOptions.DEFAULT_KEEP_DELETED_CELLS));
-}
 
columnDesc.setDataBlockEncoding(SchemaUtil.DEFAULT_DATA_BLOCK_ENCODING);
 columnDesc.setBloomFilterType(BloomType.NONE);
 for (Entry entry : family.getSecond().entrySet()) {
@@ -2459,8 +2455,29 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 }
 
 // Available for testing
-protected String getSystemCatalogDML() {
-return QueryConstants.CREATE_TABLE_METADATA;
+protected String getSystemCatalogTableDDL() {
+return setSystemDDLProperties(QueryConstants.CREATE_TABLE_METADATA);
+}
+
+// Available for testing
+protected String getFunctionTableDDL() {
+return setSystemDDLProperties(QueryConstants.CREATE_FUNCTION_METADATA);
+}
+
+// Available for testing
+protected String getLogTableDDL() {
+return setSystemLogDDLProperties(QueryConstants.CREATE_LOG_METADATA);
+}
+
+private String setSystemDDLProperties(String ddl) {
+return String.format(ddl,
+  props.getInt(DEFAULT_SYSTEM_MAX_VERSIONS_ATTRIB, 
QueryServicesOptions.DEFAULT_SYSTEM_MAX_VERSIONS),
+  

[17/21] phoenix git commit: PHOENIX-4579 Add a config to conditionally create Phoenix meta tables on first client connection (Chinmay Kulkarni)

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8cda8141/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 5cb14d6..fa5d7e2 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -170,6 +170,7 @@ import 
org.apache.phoenix.exception.RetriableUpgradeException;
 import org.apache.phoenix.exception.SQLExceptionCode;
 import org.apache.phoenix.exception.SQLExceptionInfo;
 import org.apache.phoenix.exception.UpgradeInProgressException;
+import org.apache.phoenix.exception.UpgradeRequiredException;
 import org.apache.phoenix.exception.UpgradeNotRequiredException;
 import org.apache.phoenix.execute.MutationState;
 import org.apache.phoenix.hbase.index.IndexRegionSplitPolicy;
@@ -1041,23 +1042,69 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 
 /**
  *
- * @param tableName
+ * @param physicalTableName
+ * @param tableType
+ * @param props
+ * @param families
  * @param splits
- * @param modifyExistingMetaData TODO
+ * @param modifyExistingMetaData
+ * @param isNamespaceMapped
+ * @param isDoNotUpgradePropSet
  * @return true if table was created and false if it already exists
  * @throws SQLException
  */
 private HTableDescriptor ensureTableCreated(byte[] physicalTableName, 
PTableType tableType, Map props,
 List>> families, byte[][] splits, 
boolean modifyExistingMetaData,
-boolean isNamespaceMapped) throws SQLException {
+boolean isNamespaceMapped, boolean isDoNotUpgradePropSet) throws 
SQLException {
 SQLException sqlE = null;
 HTableDescriptor existingDesc = null;
 boolean isMetaTable = SchemaUtil.isMetaTable(physicalTableName);
 boolean tableExist = true;
 try (HBaseAdmin admin = getAdmin()) {
 final String quorum = ZKConfig.getZKQuorumServersString(config);
-final String znode = 
this.props.get(HConstants.ZOOKEEPER_ZNODE_PARENT);
+final String znode = 
this.getProps().get(HConstants.ZOOKEEPER_ZNODE_PARENT);
 logger.debug("Found quorum: " + quorum + ":" + znode);
+
+if (isMetaTable) {
+if(SchemaUtil.isNamespaceMappingEnabled(PTableType.SYSTEM, 
this.getProps())) {
+try {
+// SYSTEM namespace needs to be created via HBase APIs 
because "CREATE SCHEMA" statement tries to write
+// its metadata in SYSTEM:CATALOG table. Without 
SYSTEM namespace, SYSTEM:CATALOG table cannot be created
+
ensureNamespaceCreated(QueryConstants.SYSTEM_SCHEMA_NAME);
+} catch (PhoenixIOException e) {
+// We could either:
+// 1) Not access the NS descriptor. The NS may or may 
not exist at this point
+// 2) We could not create the NS
+// Regardless of the case 1 or 2, if we eventually try 
to migrate SYSTEM tables to the SYSTEM
+// namespace using the {@link 
ensureSystemTablesMigratedToSystemNamespace(ReadOnlyProps)} method,
+// if the NS does not exist, we will error as 
expected, or
+// if the NS does exist and tables are already mapped, 
the check will exit gracefully
+}
+if 
(admin.tableExists(SchemaUtil.getPhysicalTableName(SYSTEM_CATALOG_NAME_BYTES, 
false))) {
+// SYSTEM.CATALOG exists, so at this point, we have 3 
cases:
+// 1) If server-side namespace mapping is disabled, 
throw Inconsistent namespace mapping exception
+// 2) If server-side namespace mapping is enabled and 
SYSCAT needs to be upgraded, upgrade SYSCAT
+//and also migrate SYSTEM tables to the SYSTEM 
namespace
+// 3. If server-side namespace mapping is enabled and 
SYSCAT doesn't need to be upgraded, we still
+//need to migrate SYSTEM tables to the SYSTEM 
namespace using the
+//{@link 
ensureSystemTablesMigratedToSystemNamespace(ReadOnlyProps)} method (as part of
+//{@link upgradeSystemTables(String, Properties)})
+
checkClientServerCompatibility(SYSTEM_CATALOG_NAME_BYTES);
+// Thrown so we can force an upgrade which will just 
migrate SYSTEM tables to the 

[05/21] phoenix git commit: PHOENIX-2715 Query Log (addendum)

2018-04-14 Thread pboado
PHOENIX-2715 Query Log (addendum)


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

Branch: refs/heads/4.x-cdh5.13
Commit: 6e899e50c090e40934d6f7ad2e65aa9eef616766
Parents: b291068
Author: Ankit Singhal 
Authored: Tue Apr 10 11:12:38 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:26:26 2018 +0100

--
 .../MigrateSystemTablesToSystemNamespaceIT.java | 40 +++-
 1 file changed, 22 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/6e899e50/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
index 0d64ca9..d20ffa9 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
@@ -16,6 +16,26 @@
  */
 package org.apache.phoenix.end2end;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.security.PrivilegedExceptionAction;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
@@ -39,31 +59,15 @@ import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import java.io.IOException;
-import java.security.PrivilegedExceptionAction;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import static org.junit.Assert.*;
-
 @Category(NeedsOwnMiniClusterTest.class)
 public class MigrateSystemTablesToSystemNamespaceIT extends BaseTest {
 
 private static final Set PHOENIX_SYSTEM_TABLES = new 
HashSet<>(Arrays.asList(
 "SYSTEM.CATALOG", "SYSTEM.SEQUENCE", "SYSTEM.STATS", 
"SYSTEM.FUNCTION",
-"SYSTEM.MUTEX"));
+"SYSTEM.MUTEX","SYSTEM.LOG"));
 private static final Set PHOENIX_NAMESPACE_MAPPED_SYSTEM_TABLES = 
new HashSet<>(
 Arrays.asList("SYSTEM:CATALOG", "SYSTEM:SEQUENCE", "SYSTEM:STATS", 
"SYSTEM:FUNCTION",
-"SYSTEM:MUTEX"));
+"SYSTEM:MUTEX","SYSTEM:LOG"));
 private static final String SCHEMA_NAME = "MIGRATETEST";
 private static final String TABLE_NAME =
 SCHEMA_NAME + "." + 
MigrateSystemTablesToSystemNamespaceIT.class.getSimpleName().toUpperCase();



[12/21] phoenix git commit: PHOENIX-4605 Support running multiple transaction providers

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8eaca121/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionTable.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionTable.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionTable.java
deleted file mode 100644
index c191d8d..000
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionTable.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
- * 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.transaction;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.client.Append;
-import org.apache.hadoop.hbase.client.Delete;
-import org.apache.hadoop.hbase.client.Durability;
-import org.apache.hadoop.hbase.client.Get;
-import org.apache.hadoop.hbase.client.HTableInterface;
-import org.apache.hadoop.hbase.client.Increment;
-import org.apache.hadoop.hbase.client.Put;
-import org.apache.hadoop.hbase.client.Result;
-import org.apache.hadoop.hbase.client.ResultScanner;
-import org.apache.hadoop.hbase.client.Row;
-import org.apache.hadoop.hbase.client.RowMutations;
-import org.apache.hadoop.hbase.client.Scan;
-import org.apache.hadoop.hbase.client.coprocessor.Batch.Call;
-import org.apache.hadoop.hbase.client.coprocessor.Batch.Callback;
-import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
-import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;
-import org.apache.tephra.TxConstants;
-import org.apache.tephra.hbase.TransactionAwareHTable;
-import org.apache.phoenix.schema.PTable;
-import org.apache.phoenix.schema.PTableType;
-
-import com.google.protobuf.Descriptors.MethodDescriptor;
-import com.google.protobuf.Message;
-import com.google.protobuf.Service;
-import com.google.protobuf.ServiceException;
-
-public class TephraTransactionTable implements PhoenixTransactionalTable {
-
-private TransactionAwareHTable transactionAwareHTable;
-
-private TephraTransactionContext tephraTransactionContext;
-
-public TephraTransactionTable(PhoenixTransactionContext ctx, 
HTableInterface hTable) {
-this(ctx, hTable, null);
-}
-
-public TephraTransactionTable(PhoenixTransactionContext ctx, 
HTableInterface hTable, PTable pTable) {
-
-assert(ctx instanceof TephraTransactionContext);
-
-tephraTransactionContext = (TephraTransactionContext) ctx;
-
-transactionAwareHTable = new TransactionAwareHTable(hTable, (pTable != 
null && pTable.isImmutableRows()) ? TxConstants.ConflictDetection.NONE : 
TxConstants.ConflictDetection.ROW);
-
-tephraTransactionContext.addTransactionAware(transactionAwareHTable);
-
-if (pTable != null && pTable.getType() != PTableType.INDEX) {
-tephraTransactionContext.markDMLFence(pTable);
-}
-}
-
-@Override
-public Result get(Get get) throws IOException {
-return transactionAwareHTable.get(get);
-}
-
-@Override
-public void put(Put put) throws IOException {
-transactionAwareHTable.put(put);
-}
-
-@Override
-public void delete(Delete delete) throws IOException {
-transactionAwareHTable.delete(delete);
-}
-
-@Override
-public ResultScanner getScanner(Scan scan) throws IOException {
-return transactionAwareHTable.getScanner(scan);
-}
-
-@Override
-public byte[] getTableName() {
-return transactionAwareHTable.getTableName();
-}
-
-@Override
-public Configuration getConfiguration() {
-return transactionAwareHTable.getConfiguration();
-}
-
-@Override
-public HTableDescriptor getTableDescriptor() throws IOException {
-return transactionAwareHTable.getTableDescriptor();
-}
-
-@Override
-public boolean exists(Get get) throws IOException {
-return transactionAwareHTable.exists(get);
-}
-
-@Override
-public Result[] get(List gets) throws IOException {

[01/21] phoenix git commit: PHOENIX-4683 Cap timeouts for stats precompact hook logic [Forced Update!]

2018-04-14 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.13 440953930 -> 517f6df2a (forced update)


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/7871e72c
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/7871e72c
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/7871e72c

Branch: refs/heads/4.x-cdh5.13
Commit: 7871e72c95c4966e6dcc81b02cab65ad29a69bff
Parents: f3defc4
Author: Vincent Poon 
Authored: Mon Apr 9 22:04:28 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:24:49 2018 +0100

--
 .../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/7871e72c/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/7871e72c/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 = 

[21/21] phoenix git commit: Changes for CDH 5.13.x

2018-04-14 Thread pboado
Changes for CDH 5.13.x


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

Branch: refs/heads/4.x-cdh5.13
Commit: 517f6df2a8b540f7d69eabee8779de7c88bd668d
Parents: 9fc11de
Author: Pedro Boado 
Authored: Sat Mar 10 17:54:04 2018 +
Committer: Pedro Boado 
Committed: Sat Apr 14 08:37:32 2018 +0100

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


http://git-wip-us.apache.org/repos/asf/phoenix/blob/517f6df2/phoenix-assembly/pom.xml
--
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 55a9a6e..f0cd238 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.13.2-SNAPSHOT
   
   phoenix-assembly
   Phoenix Assembly

http://git-wip-us.apache.org/repos/asf/phoenix/blob/517f6df2/phoenix-client/pom.xml
--
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index 2454de6..b4da311 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.13.2-SNAPSHOT
   
   phoenix-client
   Phoenix Client

http://git-wip-us.apache.org/repos/asf/phoenix/blob/517f6df2/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index e1f8e2a..19ddeb5 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.13.2-SNAPSHOT
   
   phoenix-core
   Phoenix Core

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

http://git-wip-us.apache.org/repos/asf/phoenix/blob/517f6df2/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index d61a9aa..bcc037c 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 +26,7 @@
   
 

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

2018-04-14 Thread pboado
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/b291068b
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/b291068b
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/b291068b

Branch: refs/heads/4.x-cdh5.13
Commit: b291068bc9c6e133c7bcb6dfe52dd4f96a76f2a1
Parents: 4d9cc92
Author: Ankit Singhal 
Authored: Tue Apr 10 07:53:31 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:26:16 2018 +0100

--
 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/b291068b/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index b07cbbb..8fe8a10 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -526,5 +526,10 @@
   i18n-util
   ${i18n-util.version}
 
+   
+com.lmax
+disruptor
+${disruptor.version}
+  
   
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b291068b/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 a1bcf40..54cb5da 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/b291068b/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

[10/21] phoenix git commit: PHOENIX-4366 Rebuilding a local index fails sometimes

2018-04-14 Thread pboado
PHOENIX-4366 Rebuilding a local index fails sometimes


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

Branch: refs/heads/4.x-cdh5.13
Commit: a874df3a70bb52ea56f0159c37cdbb16534d762f
Parents: 0987d09
Author: James Taylor 
Authored: Wed Apr 11 21:37:45 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:27:33 2018 +0100

--
 .../coprocessor/BaseScannerRegionObserver.java  |  7 +
 .../GroupedAggregateRegionObserver.java |  4 +++
 .../phoenix/coprocessor/ScanRegionObserver.java |  4 ++-
 .../UngroupedAggregateRegionObserver.java   |  7 -
 .../NonAggregateRegionScannerFactory.java   | 29 +---
 .../phoenix/iterate/RegionScannerFactory.java   |  4 +--
 .../apache/phoenix/iterate/SnapshotScanner.java |  6 +---
 7 files changed, 30 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/a874df3a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
index 7ef64b0..3310131 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
@@ -139,8 +139,6 @@ abstract public class BaseScannerRegionObserver extends 
BaseRegionObserver {
 
 /** Exposed for testing */
 public static final String SCANNER_OPENED_TRACE_INFO = "Scanner opened on 
server";
-protected QualifierEncodingScheme encodingScheme;
-protected boolean useNewValueColumnQualifier;
 
 @Override
 public void start(CoprocessorEnvironment e) throws IOException {
@@ -211,8 +209,6 @@ abstract public class BaseScannerRegionObserver extends 
BaseRegionObserver {
 // start exclusive and the stop inclusive.
 ScanUtil.setupReverseScan(scan);
 }
-this.encodingScheme = 
EncodedColumnsUtil.getQualifierEncodingScheme(scan);
-this.useNewValueColumnQualifier = 
EncodedColumnsUtil.useNewValueColumnQualifier(scan);
 return s;
 }
 
@@ -350,8 +346,7 @@ abstract public class BaseScannerRegionObserver extends 
BaseRegionObserver {
 final byte[][] viewConstants, final TupleProjector projector,
 final ImmutableBytesWritable ptr, final boolean 
useQualiferAsListIndex) {
 
-RegionScannerFactory regionScannerFactory = new 
NonAggregateRegionScannerFactory(c.getEnvironment(),
-useNewValueColumnQualifier, encodingScheme);
+RegionScannerFactory regionScannerFactory = new 
NonAggregateRegionScannerFactory(c.getEnvironment());
 
 return regionScannerFactory.getWrappedScanner(c.getEnvironment(), s, 
null, null, offset, scan, dataColumns, tupleProjector,
 dataRegion, indexMaintainer, null, viewConstants, null, null, 
projector, ptr, useQualiferAsListIndex);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/a874df3a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
index 67cc114..201bcec 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
@@ -62,6 +62,7 @@ import org.apache.phoenix.index.IndexMaintainer;
 import org.apache.phoenix.join.HashJoinInfo;
 import org.apache.phoenix.memory.MemoryManager.MemoryChunk;
 import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.schema.PTable;
 import org.apache.phoenix.schema.SortOrder;
 import org.apache.phoenix.schema.tuple.EncodedColumnQualiferCellsList;
 import org.apache.phoenix.schema.tuple.MultiKeyValueTuple;
@@ -110,6 +111,7 @@ public class GroupedAggregateRegionObserver extends 
BaseScannerRegionObserver {
 keyOrdered = true;
 }
 int offset = 0;
+boolean useNewValueColumnQualifier = 
EncodedColumnsUtil.useNewValueColumnQualifier(scan);
 if (ScanUtil.isLocalIndex(scan)) {
 /*
  * For local indexes, we need to set an offset on row key 

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

2018-04-14 Thread pboado
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/4d9cc929
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/4d9cc929
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/4d9cc929

Branch: refs/heads/4.x-cdh5.13
Commit: 4d9cc9294733161ebc915042e4c173f74906fad0
Parents: 7871e72
Author: Toshihiro Suzuki 
Authored: Thu Mar 29 09:17:37 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:24:59 2018 +0100

--
 .../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/4d9cc929/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/4d9cc929/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
--- 

[09/21] phoenix git commit: PHOENIX-4658 IllegalStateException: requestSeek cannot be called on ReversedKeyValueHeap (Toshihiro Suzuki)

2018-04-14 Thread pboado
PHOENIX-4658 IllegalStateException: requestSeek cannot be called on 
ReversedKeyValueHeap (Toshihiro Suzuki)


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

Branch: refs/heads/4.x-cdh5.13
Commit: 0987d09fafda519bff73e50f7dcd4fbd303678ec
Parents: 08564a9
Author: James Taylor 
Authored: Wed Apr 11 21:31:38 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:27:22 2018 +0100

--
 .../phoenix/end2end/MultiCfQueryExecIT.java | 47 
 .../apache/phoenix/compile/OrderByCompiler.java | 11 +++--
 .../apache/phoenix/compile/QueryCompiler.java   | 12 +
 .../java/org/apache/phoenix/parse/HintNode.java |  4 ++
 .../java/org/apache/phoenix/util/ScanUtil.java  |  2 +
 5 files changed, 62 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0987d09f/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java
index d94df6c..01da2d8 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java
@@ -31,11 +31,13 @@ import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.sql.Statement;
 import java.util.List;
 import java.util.Properties;
 
 import org.apache.phoenix.query.KeyRange;
 import org.apache.phoenix.util.PropertiesUtil;
+import org.apache.phoenix.util.QueryUtil;
 import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.util.TestUtil;
 import org.junit.Before;
@@ -406,4 +408,49 @@ public class MultiCfQueryExecIT extends 
ParallelStatsEnabledIT {
 assertFalse(rs.next());
 }
 }
+
+@Test
+public void testBug4658() throws Exception {
+try (Connection conn = DriverManager.getConnection(getUrl());
+  Statement stmt = conn.createStatement()) {
+String tableName = generateUniqueName();
+
+stmt.execute("CREATE TABLE " + tableName + " ("
++ "COL1 VARCHAR NOT NULL,"
++ "COL2 VARCHAR NOT NULL,"
++ "COL3 VARCHAR,"
++ "FAM.COL4 VARCHAR,"
++ "CONSTRAINT TRADE_EVENT_PK PRIMARY KEY (COL1, COL2))");
+stmt.execute("UPSERT INTO " + tableName + " (COL1, COL2) values 
('111', 'AAA')");
+stmt.execute("UPSERT INTO " + tableName + " (COL1, COL2) values 
('222', 'AAA')");
+conn.commit();
+
+try (ResultSet rs = stmt.executeQuery(
+  "SELECT * FROM " + tableName + " WHERE COL2 = 'AAA' ORDER BY 
COL1 DESC")) {
+assertTrue(rs.next());
+assertEquals(rs.getString("COL1"), "222");
+assertEquals(rs.getString("COL2"), "AAA");
+assertTrue(rs.next());
+assertEquals(rs.getString("COL1"), "111");
+assertEquals(rs.getString("COL2"), "AAA");
+assertFalse(rs.next());
+}
+
+// Tests for FORWARD_SCAN hint
+String query = "SELECT /*+ FORWARD_SCAN */ * FROM " + tableName + 
" WHERE COL2 = 'AAA' ORDER BY COL1 DESC";
+try (ResultSet rs = stmt.executeQuery("EXPLAIN " + query)) {
+String explainPlan = QueryUtil.getExplainPlan(rs);
+assertFalse(explainPlan.contains("REVERSE"));
+}
+try (ResultSet rs = stmt.executeQuery(query)) {
+assertTrue(rs.next());
+assertEquals(rs.getString("COL1"), "222");
+assertEquals(rs.getString("COL2"), "AAA");
+assertTrue(rs.next());
+assertEquals(rs.getString("COL1"), "111");
+assertEquals(rs.getString("COL2"), "AAA");
+assertFalse(rs.next());
+}
+}
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/0987d09f/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java
index 1097f70..b83c7a8 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java
+++ 

[20/21] phoenix git commit: PHOENIX-4575 Phoenix metadata KEEP_DELETED_CELLS and VERSIONS should be property driven (Chinmay Kulkarni)

2018-04-14 Thread pboado
PHOENIX-4575 Phoenix metadata KEEP_DELETED_CELLS and VERSIONS should be 
property driven (Chinmay Kulkarni)


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

Branch: refs/heads/4.x-cdh5.12
Commit: 9fc11de1586c93c53d2fe994e374e2f15b3b3f05
Parents: 4022649
Author: James Taylor 
Authored: Fri Apr 13 22:30:00 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:31:51 2018 +0100

--
 .../phoenix/coprocessor/MetaDataProtocol.java   |  4 --
 .../query/ConnectionQueryServicesImpl.java  | 41 ++--
 .../query/ConnectionlessQueryServicesImpl.java  | 35 +++--
 .../apache/phoenix/query/QueryConstants.java| 14 +++
 .../org/apache/phoenix/query/QueryServices.java |  5 ++-
 .../phoenix/query/QueryServicesOptions.java |  3 +-
 .../org/apache/phoenix/util/UpgradeUtil.java|  4 +-
 7 files changed, 74 insertions(+), 32 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/9fc11de1/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
index 26f8198..36d6f0d 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
@@ -72,10 +72,6 @@ public abstract class MetaDataProtocol extends 
MetaDataService {
 public static final long MIN_SYSTEM_TABLE_MIGRATION_TIMESTAMP = 0;
 public static final String MIGRATION_IN_PROGRESS = "MigrationInProgress";
 
-public static final int DEFAULT_MAX_META_DATA_VERSIONS = 1000;
-public static final boolean DEFAULT_META_DATA_KEEP_DELETED_CELLS = true;
-public static final int DEFAULT_MAX_STAT_DATA_VERSIONS = 1;
-public static final boolean DEFAULT_STATS_KEEP_DELETED_CELLS = false;
 public static final int DEFAULT_LOG_VERSIONS = 10;
 public static final int DEFAULT_LOG_TTL = 7 * 24 * 60 * 60; // 7 days 
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9fc11de1/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 7f97c74..02fcf24 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -720,10 +720,6 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 private HColumnDescriptor 
generateColumnFamilyDescriptor(Pair> family, 
PTableType tableType) throws SQLException {
 HColumnDescriptor columnDesc = new 
HColumnDescriptor(family.getFirst());
 if (tableType != PTableType.VIEW) {
-if(props.get(QueryServices.DEFAULT_KEEP_DELETED_CELLS_ATTRIB) != 
null){
-columnDesc.setKeepDeletedCells(props.getBoolean(
-QueryServices.DEFAULT_KEEP_DELETED_CELLS_ATTRIB, 
QueryServicesOptions.DEFAULT_KEEP_DELETED_CELLS));
-}
 
columnDesc.setDataBlockEncoding(SchemaUtil.DEFAULT_DATA_BLOCK_ENCODING);
 columnDesc.setBloomFilterType(BloomType.NONE);
 for (Entry entry : family.getSecond().entrySet()) {
@@ -2459,8 +2455,29 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 }
 
 // Available for testing
-protected String getSystemCatalogDML() {
-return QueryConstants.CREATE_TABLE_METADATA;
+protected String getSystemCatalogTableDDL() {
+return setSystemDDLProperties(QueryConstants.CREATE_TABLE_METADATA);
+}
+
+// Available for testing
+protected String getFunctionTableDDL() {
+return setSystemDDLProperties(QueryConstants.CREATE_FUNCTION_METADATA);
+}
+
+// Available for testing
+protected String getLogTableDDL() {
+return setSystemLogDDLProperties(QueryConstants.CREATE_LOG_METADATA);
+}
+
+private String setSystemDDLProperties(String ddl) {
+return String.format(ddl,
+  props.getInt(DEFAULT_SYSTEM_MAX_VERSIONS_ATTRIB, 
QueryServicesOptions.DEFAULT_SYSTEM_MAX_VERSIONS),
+  

[07/21] phoenix git commit: PHOENIX-2715 Query Log (addendum) Fix old com.lmax.disruptor dependency

2018-04-14 Thread pboado
PHOENIX-2715 Query Log (addendum)
Fix old com.lmax.disruptor dependency


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

Branch: refs/heads/4.x-cdh5.12
Commit: fe06c3b0717e484ada82a208968a9e773e4d0b98
Parents: 79c25f6
Author: Ankit Singhal 
Authored: Wed Apr 11 13:07:08 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:26:50 2018 +0100

--
 phoenix-core/pom.xml  | 7 ---
 phoenix-flume/pom.xml | 6 --
 phoenix-kafka/pom.xml | 6 --
 3 files changed, 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/fe06c3b0/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 8fe8a10..e1f8e2a 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -345,12 +345,6 @@
   test
 
 
-  com.lmax
-  disruptor
-  3.2.0
-  test
-
-
   org.apache.htrace
   htrace-core
 
@@ -529,7 +523,6 @@

 com.lmax
 disruptor
-${disruptor.version}
   
   
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fe06c3b0/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index 0883e5e..d61a9aa 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -69,12 +69,6 @@
   test
 
 
-  com.lmax
-  disruptor
-  3.2.0
-  test
-
-
   org.apache.htrace
   htrace-core
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fe06c3b0/phoenix-kafka/pom.xml
--
diff --git a/phoenix-kafka/pom.xml b/phoenix-kafka/pom.xml
index 8718f5f..af6b4fe 100644
--- a/phoenix-kafka/pom.xml
+++ b/phoenix-kafka/pom.xml
@@ -143,12 +143,6 @@
test


-   com.lmax
-   disruptor
-   3.2.0
-   test
-   
-   
org.apache.htrace
htrace-core




[21/21] phoenix git commit: Changes for CDH 5.12.x

2018-04-14 Thread pboado
Changes for CDH 5.12.x


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

Branch: refs/heads/4.x-cdh5.12
Commit: 157139688eb422d7c0196d762afa2f937e18e237
Parents: 9fc11de
Author: Pedro Boado 
Authored: Sat Mar 10 17:54:04 2018 +
Committer: Pedro Boado 
Committed: Sat Apr 14 08:27:41 2018 +0100

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


http://git-wip-us.apache.org/repos/asf/phoenix/blob/15713968/phoenix-assembly/pom.xml
--
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 55a9a6e..14225ee 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.12.2-SNAPSHOT
   
   phoenix-assembly
   Phoenix Assembly

http://git-wip-us.apache.org/repos/asf/phoenix/blob/15713968/phoenix-client/pom.xml
--
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index 2454de6..e211008 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.12.2-SNAPSHOT
   
   phoenix-client
   Phoenix Client

http://git-wip-us.apache.org/repos/asf/phoenix/blob/15713968/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index e1f8e2a..2d837a2 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.12.2-SNAPSHOT
   
   phoenix-core
   Phoenix Core

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

http://git-wip-us.apache.org/repos/asf/phoenix/blob/15713968/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index d61a9aa..8a78010 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 +26,7 @@
   
 

[16/21] phoenix git commit: PHOENIX-4496 Fix RowValueConstructorIT and IndexMetadataIT

2018-04-14 Thread pboado
PHOENIX-4496 Fix RowValueConstructorIT and IndexMetadataIT


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

Branch: refs/heads/4.x-cdh5.12
Commit: f71654a5c68e403d6c9c9fd3d535ee9cfc1b73f7
Parents: 8eaca12
Author: Ankit Singhal 
Authored: Fri Apr 13 10:54:32 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:31:12 2018 +0100

--
 .../phoenix/hbase/index/scanner/ScannerBuilder.java | 16 
 1 file changed, 16 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/f71654a5/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
index ad09c0c..703fcd2 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/scanner/ScannerBuilder.java
@@ -31,6 +31,7 @@ import org.apache.hadoop.hbase.filter.BinaryComparator;
 import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
 import org.apache.hadoop.hbase.filter.FamilyFilter;
 import org.apache.hadoop.hbase.filter.Filter;
+import org.apache.hadoop.hbase.filter.FilterBase;
 import org.apache.hadoop.hbase.filter.FilterList;
 import org.apache.hadoop.hbase.filter.QualifierFilter;
 import org.apache.hadoop.hbase.util.Bytes;
@@ -98,6 +99,21 @@ public class ScannerBuilder {
   }
   columnFilters.addFilter(columnFilter);
 }
+
+if(columns.isEmpty()){
+columnFilters.addFilter(new FilterBase() {
+
+@Override
+public boolean filterAllRemaining() throws IOException {
+return true;
+}
+
+@Override
+public ReturnCode filterKeyValue(Cell v) throws IOException {
+return Filter.ReturnCode.INCLUDE;
+}
+});
+}
 return columnFilters;
   }
 



[12/21] phoenix git commit: PHOENIX-4605 Support running multiple transaction providers

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8eaca121/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionTable.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionTable.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionTable.java
deleted file mode 100644
index c191d8d..000
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionTable.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
- * 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.transaction;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.client.Append;
-import org.apache.hadoop.hbase.client.Delete;
-import org.apache.hadoop.hbase.client.Durability;
-import org.apache.hadoop.hbase.client.Get;
-import org.apache.hadoop.hbase.client.HTableInterface;
-import org.apache.hadoop.hbase.client.Increment;
-import org.apache.hadoop.hbase.client.Put;
-import org.apache.hadoop.hbase.client.Result;
-import org.apache.hadoop.hbase.client.ResultScanner;
-import org.apache.hadoop.hbase.client.Row;
-import org.apache.hadoop.hbase.client.RowMutations;
-import org.apache.hadoop.hbase.client.Scan;
-import org.apache.hadoop.hbase.client.coprocessor.Batch.Call;
-import org.apache.hadoop.hbase.client.coprocessor.Batch.Callback;
-import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
-import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;
-import org.apache.tephra.TxConstants;
-import org.apache.tephra.hbase.TransactionAwareHTable;
-import org.apache.phoenix.schema.PTable;
-import org.apache.phoenix.schema.PTableType;
-
-import com.google.protobuf.Descriptors.MethodDescriptor;
-import com.google.protobuf.Message;
-import com.google.protobuf.Service;
-import com.google.protobuf.ServiceException;
-
-public class TephraTransactionTable implements PhoenixTransactionalTable {
-
-private TransactionAwareHTable transactionAwareHTable;
-
-private TephraTransactionContext tephraTransactionContext;
-
-public TephraTransactionTable(PhoenixTransactionContext ctx, 
HTableInterface hTable) {
-this(ctx, hTable, null);
-}
-
-public TephraTransactionTable(PhoenixTransactionContext ctx, 
HTableInterface hTable, PTable pTable) {
-
-assert(ctx instanceof TephraTransactionContext);
-
-tephraTransactionContext = (TephraTransactionContext) ctx;
-
-transactionAwareHTable = new TransactionAwareHTable(hTable, (pTable != 
null && pTable.isImmutableRows()) ? TxConstants.ConflictDetection.NONE : 
TxConstants.ConflictDetection.ROW);
-
-tephraTransactionContext.addTransactionAware(transactionAwareHTable);
-
-if (pTable != null && pTable.getType() != PTableType.INDEX) {
-tephraTransactionContext.markDMLFence(pTable);
-}
-}
-
-@Override
-public Result get(Get get) throws IOException {
-return transactionAwareHTable.get(get);
-}
-
-@Override
-public void put(Put put) throws IOException {
-transactionAwareHTable.put(put);
-}
-
-@Override
-public void delete(Delete delete) throws IOException {
-transactionAwareHTable.delete(delete);
-}
-
-@Override
-public ResultScanner getScanner(Scan scan) throws IOException {
-return transactionAwareHTable.getScanner(scan);
-}
-
-@Override
-public byte[] getTableName() {
-return transactionAwareHTable.getTableName();
-}
-
-@Override
-public Configuration getConfiguration() {
-return transactionAwareHTable.getConfiguration();
-}
-
-@Override
-public HTableDescriptor getTableDescriptor() throws IOException {
-return transactionAwareHTable.getTableDescriptor();
-}
-
-@Override
-public boolean exists(Get get) throws IOException {
-return transactionAwareHTable.exists(get);
-}
-
-@Override
-public Result[] get(List gets) throws IOException {

[13/21] phoenix git commit: PHOENIX-4605 Support running multiple transaction providers

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8eaca121/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java 
b/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
index a7b31e8..1a11427 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
@@ -69,6 +69,7 @@ import org.apache.phoenix.schema.types.PDataType;
 import org.apache.phoenix.schema.types.PDouble;
 import org.apache.phoenix.schema.types.PFloat;
 import org.apache.phoenix.schema.types.PVarchar;
+import org.apache.phoenix.transaction.TransactionFactory;
 import org.apache.phoenix.util.ByteUtil;
 import org.apache.phoenix.util.EncodedColumnsUtil;
 import org.apache.phoenix.util.PhoenixRuntime;
@@ -134,7 +135,7 @@ public class PTableImpl implements PTable {
 private boolean disableWAL;
 private boolean multiTenant;
 private boolean storeNulls;
-private boolean isTransactional;
+private TransactionFactory.Provider transactionProvider;
 private ViewType viewType;
 private Short viewIndexId;
 private int estimatedSize;
@@ -227,7 +228,7 @@ public class PTableImpl implements PTable {
 init(tenantId, this.schemaName, this.tableName, PTableType.INDEX, 
state, timeStamp, sequenceNumber, pkName, bucketNum, columns,
 this.schemaName, parentTableName, indexes, isImmutableRows, 
physicalNames, defaultFamilyName,
 null, disableWAL, multiTenant, storeNulls, viewType, viewIndexId, 
indexType, baseColumnCount, rowKeyOrderOptimizable,
-isTransactional, updateCacheFrequency, indexDisableTimestamp, 
isNamespaceMpped, null, false, storageScheme, qualifierEncodingScheme, 
encodedCQCounter, useStatsForParallelization);
+transactionProvider, updateCacheFrequency, indexDisableTimestamp, 
isNamespaceMpped, null, false, storageScheme, qualifierEncodingScheme, 
encodedCQCounter, useStatsForParallelization);
 }
 
 public PTableImpl(long timeStamp) { // For delete marker
@@ -270,7 +271,7 @@ public class PTableImpl implements PTable {
 table.getSequenceNumber(), table.getPKName(), 
table.getBucketNum(), getColumnsToClone(table), table.getParentSchemaName(), 
table.getParentTableName(),
 indexes, table.isImmutableRows(), physicalNames, 
table.getDefaultFamilyName(), viewStatement,
 table.isWALDisabled(), table.isMultiTenant(), 
table.getStoreNulls(), table.getViewType(), table.getViewIndexId(), 
table.getIndexType(),
-table.getBaseColumnCount(), 
table.rowKeyOrderOptimizable(), table.isTransactional(), updateCacheFrequency,
+table.getBaseColumnCount(), 
table.rowKeyOrderOptimizable(), table.getTransactionProvider(), 
updateCacheFrequency,
 table.getIndexDisableTimestamp(), 
table.isNamespaceMapped(), table.getAutoPartitionSeqName(), 
table.isAppendOnlySchema(), table.getImmutableStorageScheme(), 
table.getEncodingScheme(), table.getEncodedCQCounter(), 
table.useStatsForParallelization());
 }
 
@@ -280,7 +281,7 @@ public class PTableImpl implements PTable {
 table.getSequenceNumber(), table.getPKName(), 
table.getBucketNum(), getColumnsToClone(table), parentSchemaName, 
table.getParentTableName(),
 indexes, table.isImmutableRows(), table.getPhysicalNames(), 
table.getDefaultFamilyName(), viewStatement,
 table.isWALDisabled(), table.isMultiTenant(), 
table.getStoreNulls(), table.getViewType(), table.getViewIndexId(), 
table.getIndexType(),
-table.getBaseColumnCount(), table.rowKeyOrderOptimizable(), 
table.isTransactional(), table.getUpdateCacheFrequency(),
+table.getBaseColumnCount(), table.rowKeyOrderOptimizable(), 
table.getTransactionProvider(), table.getUpdateCacheFrequency(),
 table.getIndexDisableTimestamp(), table.isNamespaceMapped(), 
table.getAutoPartitionSeqName(), table.isAppendOnlySchema(), 
table.getImmutableStorageScheme(), table.getEncodingScheme(), 
table.getEncodedCQCounter(), table.useStatsForParallelization());
 }
 
@@ -290,7 +291,7 @@ public class PTableImpl implements PTable {
 table.getSequenceNumber(), table.getPKName(), 
table.getBucketNum(), columns, table.getParentSchemaName(), 
table.getParentTableName(),
 table.getIndexes(), table.isImmutableRows(), 
table.getPhysicalNames(), table.getDefaultFamilyName(), 
table.getViewStatement(),
 table.isWALDisabled(), table.isMultiTenant(), 
table.getStoreNulls(), table.getViewType(), table.getViewIndexId(), 
table.getIndexType(),
-table.getBaseColumnCount(), table.rowKeyOrderOptimizable(), 
table.isTransactional(), table.getUpdateCacheFrequency(),

[05/21] phoenix git commit: PHOENIX-2715 Query Log (addendum)

2018-04-14 Thread pboado
PHOENIX-2715 Query Log (addendum)


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

Branch: refs/heads/4.x-cdh5.12
Commit: 6e899e50c090e40934d6f7ad2e65aa9eef616766
Parents: b291068
Author: Ankit Singhal 
Authored: Tue Apr 10 11:12:38 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:26:26 2018 +0100

--
 .../MigrateSystemTablesToSystemNamespaceIT.java | 40 +++-
 1 file changed, 22 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/6e899e50/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
index 0d64ca9..d20ffa9 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
@@ -16,6 +16,26 @@
  */
 package org.apache.phoenix.end2end;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.security.PrivilegedExceptionAction;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
@@ -39,31 +59,15 @@ import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import java.io.IOException;
-import java.security.PrivilegedExceptionAction;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import static org.junit.Assert.*;
-
 @Category(NeedsOwnMiniClusterTest.class)
 public class MigrateSystemTablesToSystemNamespaceIT extends BaseTest {
 
 private static final Set PHOENIX_SYSTEM_TABLES = new 
HashSet<>(Arrays.asList(
 "SYSTEM.CATALOG", "SYSTEM.SEQUENCE", "SYSTEM.STATS", 
"SYSTEM.FUNCTION",
-"SYSTEM.MUTEX"));
+"SYSTEM.MUTEX","SYSTEM.LOG"));
 private static final Set PHOENIX_NAMESPACE_MAPPED_SYSTEM_TABLES = 
new HashSet<>(
 Arrays.asList("SYSTEM:CATALOG", "SYSTEM:SEQUENCE", "SYSTEM:STATS", 
"SYSTEM:FUNCTION",
-"SYSTEM:MUTEX"));
+"SYSTEM:MUTEX","SYSTEM:LOG"));
 private static final String SCHEMA_NAME = "MIGRATETEST";
 private static final String TABLE_NAME =
 SCHEMA_NAME + "." + 
MigrateSystemTablesToSystemNamespaceIT.class.getSimpleName().toUpperCase();



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

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/b291068b/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,
+

[09/21] phoenix git commit: PHOENIX-4658 IllegalStateException: requestSeek cannot be called on ReversedKeyValueHeap (Toshihiro Suzuki)

2018-04-14 Thread pboado
PHOENIX-4658 IllegalStateException: requestSeek cannot be called on 
ReversedKeyValueHeap (Toshihiro Suzuki)


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

Branch: refs/heads/4.x-cdh5.12
Commit: 0987d09fafda519bff73e50f7dcd4fbd303678ec
Parents: 08564a9
Author: James Taylor 
Authored: Wed Apr 11 21:31:38 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:27:22 2018 +0100

--
 .../phoenix/end2end/MultiCfQueryExecIT.java | 47 
 .../apache/phoenix/compile/OrderByCompiler.java | 11 +++--
 .../apache/phoenix/compile/QueryCompiler.java   | 12 +
 .../java/org/apache/phoenix/parse/HintNode.java |  4 ++
 .../java/org/apache/phoenix/util/ScanUtil.java  |  2 +
 5 files changed, 62 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0987d09f/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java
index d94df6c..01da2d8 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java
@@ -31,11 +31,13 @@ import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.sql.Statement;
 import java.util.List;
 import java.util.Properties;
 
 import org.apache.phoenix.query.KeyRange;
 import org.apache.phoenix.util.PropertiesUtil;
+import org.apache.phoenix.util.QueryUtil;
 import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.util.TestUtil;
 import org.junit.Before;
@@ -406,4 +408,49 @@ public class MultiCfQueryExecIT extends 
ParallelStatsEnabledIT {
 assertFalse(rs.next());
 }
 }
+
+@Test
+public void testBug4658() throws Exception {
+try (Connection conn = DriverManager.getConnection(getUrl());
+  Statement stmt = conn.createStatement()) {
+String tableName = generateUniqueName();
+
+stmt.execute("CREATE TABLE " + tableName + " ("
++ "COL1 VARCHAR NOT NULL,"
++ "COL2 VARCHAR NOT NULL,"
++ "COL3 VARCHAR,"
++ "FAM.COL4 VARCHAR,"
++ "CONSTRAINT TRADE_EVENT_PK PRIMARY KEY (COL1, COL2))");
+stmt.execute("UPSERT INTO " + tableName + " (COL1, COL2) values 
('111', 'AAA')");
+stmt.execute("UPSERT INTO " + tableName + " (COL1, COL2) values 
('222', 'AAA')");
+conn.commit();
+
+try (ResultSet rs = stmt.executeQuery(
+  "SELECT * FROM " + tableName + " WHERE COL2 = 'AAA' ORDER BY 
COL1 DESC")) {
+assertTrue(rs.next());
+assertEquals(rs.getString("COL1"), "222");
+assertEquals(rs.getString("COL2"), "AAA");
+assertTrue(rs.next());
+assertEquals(rs.getString("COL1"), "111");
+assertEquals(rs.getString("COL2"), "AAA");
+assertFalse(rs.next());
+}
+
+// Tests for FORWARD_SCAN hint
+String query = "SELECT /*+ FORWARD_SCAN */ * FROM " + tableName + 
" WHERE COL2 = 'AAA' ORDER BY COL1 DESC";
+try (ResultSet rs = stmt.executeQuery("EXPLAIN " + query)) {
+String explainPlan = QueryUtil.getExplainPlan(rs);
+assertFalse(explainPlan.contains("REVERSE"));
+}
+try (ResultSet rs = stmt.executeQuery(query)) {
+assertTrue(rs.next());
+assertEquals(rs.getString("COL1"), "222");
+assertEquals(rs.getString("COL2"), "AAA");
+assertTrue(rs.next());
+assertEquals(rs.getString("COL1"), "111");
+assertEquals(rs.getString("COL2"), "AAA");
+assertFalse(rs.next());
+}
+}
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/0987d09f/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java
index 1097f70..b83c7a8 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java
+++ 

[01/21] phoenix git commit: PHOENIX-4683 Cap timeouts for stats precompact hook logic [Forced Update!]

2018-04-14 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.12 031ca5a1f -> 157139688 (forced update)


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/7871e72c
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/7871e72c
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/7871e72c

Branch: refs/heads/4.x-cdh5.12
Commit: 7871e72c95c4966e6dcc81b02cab65ad29a69bff
Parents: f3defc4
Author: Vincent Poon 
Authored: Mon Apr 9 22:04:28 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:24:49 2018 +0100

--
 .../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/7871e72c/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/7871e72c/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 = 

[17/21] phoenix git commit: PHOENIX-4579 Add a config to conditionally create Phoenix meta tables on first client connection (Chinmay Kulkarni)

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8cda8141/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 5cb14d6..fa5d7e2 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -170,6 +170,7 @@ import 
org.apache.phoenix.exception.RetriableUpgradeException;
 import org.apache.phoenix.exception.SQLExceptionCode;
 import org.apache.phoenix.exception.SQLExceptionInfo;
 import org.apache.phoenix.exception.UpgradeInProgressException;
+import org.apache.phoenix.exception.UpgradeRequiredException;
 import org.apache.phoenix.exception.UpgradeNotRequiredException;
 import org.apache.phoenix.execute.MutationState;
 import org.apache.phoenix.hbase.index.IndexRegionSplitPolicy;
@@ -1041,23 +1042,69 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 
 /**
  *
- * @param tableName
+ * @param physicalTableName
+ * @param tableType
+ * @param props
+ * @param families
  * @param splits
- * @param modifyExistingMetaData TODO
+ * @param modifyExistingMetaData
+ * @param isNamespaceMapped
+ * @param isDoNotUpgradePropSet
  * @return true if table was created and false if it already exists
  * @throws SQLException
  */
 private HTableDescriptor ensureTableCreated(byte[] physicalTableName, 
PTableType tableType, Map props,
 List>> families, byte[][] splits, 
boolean modifyExistingMetaData,
-boolean isNamespaceMapped) throws SQLException {
+boolean isNamespaceMapped, boolean isDoNotUpgradePropSet) throws 
SQLException {
 SQLException sqlE = null;
 HTableDescriptor existingDesc = null;
 boolean isMetaTable = SchemaUtil.isMetaTable(physicalTableName);
 boolean tableExist = true;
 try (HBaseAdmin admin = getAdmin()) {
 final String quorum = ZKConfig.getZKQuorumServersString(config);
-final String znode = 
this.props.get(HConstants.ZOOKEEPER_ZNODE_PARENT);
+final String znode = 
this.getProps().get(HConstants.ZOOKEEPER_ZNODE_PARENT);
 logger.debug("Found quorum: " + quorum + ":" + znode);
+
+if (isMetaTable) {
+if(SchemaUtil.isNamespaceMappingEnabled(PTableType.SYSTEM, 
this.getProps())) {
+try {
+// SYSTEM namespace needs to be created via HBase APIs 
because "CREATE SCHEMA" statement tries to write
+// its metadata in SYSTEM:CATALOG table. Without 
SYSTEM namespace, SYSTEM:CATALOG table cannot be created
+
ensureNamespaceCreated(QueryConstants.SYSTEM_SCHEMA_NAME);
+} catch (PhoenixIOException e) {
+// We could either:
+// 1) Not access the NS descriptor. The NS may or may 
not exist at this point
+// 2) We could not create the NS
+// Regardless of the case 1 or 2, if we eventually try 
to migrate SYSTEM tables to the SYSTEM
+// namespace using the {@link 
ensureSystemTablesMigratedToSystemNamespace(ReadOnlyProps)} method,
+// if the NS does not exist, we will error as 
expected, or
+// if the NS does exist and tables are already mapped, 
the check will exit gracefully
+}
+if 
(admin.tableExists(SchemaUtil.getPhysicalTableName(SYSTEM_CATALOG_NAME_BYTES, 
false))) {
+// SYSTEM.CATALOG exists, so at this point, we have 3 
cases:
+// 1) If server-side namespace mapping is disabled, 
throw Inconsistent namespace mapping exception
+// 2) If server-side namespace mapping is enabled and 
SYSCAT needs to be upgraded, upgrade SYSCAT
+//and also migrate SYSTEM tables to the SYSTEM 
namespace
+// 3. If server-side namespace mapping is enabled and 
SYSCAT doesn't need to be upgraded, we still
+//need to migrate SYSTEM tables to the SYSTEM 
namespace using the
+//{@link 
ensureSystemTablesMigratedToSystemNamespace(ReadOnlyProps)} method (as part of
+//{@link upgradeSystemTables(String, Properties)})
+
checkClientServerCompatibility(SYSTEM_CATALOG_NAME_BYTES);
+// Thrown so we can force an upgrade which will just 
migrate SYSTEM tables to the 

[11/21] phoenix git commit: PHOENIX-4366 Rebuilding a local index fails sometimes (addendum)

2018-04-14 Thread pboado
PHOENIX-4366 Rebuilding a local index fails sometimes (addendum)


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

Branch: refs/heads/4.x-cdh5.12
Commit: 0535a17ed64e681b801f2b48648183b224ff8b9b
Parents: a874df3
Author: James Taylor 
Authored: Wed Apr 11 23:20:08 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:27:44 2018 +0100

--
 .../NonAggregateRegionScannerFactory.java   | 36 +++-
 1 file changed, 20 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0535a17e/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java
index 90ea025..ba6a08f 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java
@@ -18,8 +18,15 @@
 
 package org.apache.phoenix.iterate;
 
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
+import static 
org.apache.phoenix.util.EncodedColumnsUtil.getMinMaxQualifiersFromScan;
+
+import java.io.ByteArrayInputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
 
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.KeyValue;
@@ -61,15 +68,8 @@ import org.apache.phoenix.util.IndexUtil;
 import org.apache.phoenix.util.ScanUtil;
 import org.apache.phoenix.util.ServerUtil;
 
-import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import static 
org.apache.phoenix.util.EncodedColumnsUtil.getMinMaxQualifiersFromScan;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
 
 public class NonAggregateRegionScannerFactory extends RegionScannerFactory {
 
@@ -102,13 +102,17 @@ public class NonAggregateRegionScannerFactory extends 
RegionScannerFactory {
 boolean useNewValueColumnQualifier = 
EncodedColumnsUtil.useNewValueColumnQualifier(scan);
 
 Set arrayKVRefs = Sets.newHashSet();
+KeyValueSchema kvSchema = null;
+ValueBitSet kvSchemaBitSet = null;
 Expression[] arrayFuncRefs = 
deserializeArrayPositionalExpressionInfoFromScan(scan, innerScanner, 
arrayKVRefs);
-KeyValueSchema.KeyValueSchemaBuilder builder = new 
KeyValueSchema.KeyValueSchemaBuilder(0);
-for (Expression expression : arrayFuncRefs) {
-builder.addField(expression);
+if (arrayFuncRefs != null) {
+KeyValueSchema.KeyValueSchemaBuilder builder = new 
KeyValueSchema.KeyValueSchemaBuilder(0);
+for (Expression expression : arrayFuncRefs) {
+builder.addField(expression);
+}
+kvSchema = builder.build();
+kvSchemaBitSet = ValueBitSet.newInstance(kvSchema);
 }
-KeyValueSchema kvSchema = builder.build();
-ValueBitSet kvSchemaBitSet = ValueBitSet.newInstance(kvSchema);
 TupleProjector tupleProjector = null;
 Region dataRegion = null;
 IndexMaintainer indexMaintainer = null;



[19/21] phoenix git commit: PHOENIX-4668 Remove unnecessary table descriptor modification for SPLIT_POLICY column (Chinmay Kulkarni)

2018-04-14 Thread pboado
PHOENIX-4668 Remove unnecessary table descriptor modification for SPLIT_POLICY 
column (Chinmay Kulkarni)


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

Branch: refs/heads/4.x-cdh5.12
Commit: 40226499bfab76e2920b0fc1160c25031700596f
Parents: 8cda814
Author: James Taylor 
Authored: Fri Apr 13 22:19:15 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:31:40 2018 +0100

--
 .../phoenix/query/ConnectionQueryServicesImpl.java   | 11 ---
 1 file changed, 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/40226499/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 fa5d7e2..7f97c74 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -1130,10 +1130,6 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 
PBoolean.INSTANCE.toObject(newDesc.getValue(MetaDataUtil.IS_LOCAL_INDEX_TABLE_PROP_BYTES
 {
 newDesc.setValue(HTableDescriptor.SPLIT_POLICY, 
IndexRegionSplitPolicy.class.getName());
 }
-// Remove the splitPolicy attribute to prevent HBASE-12570
-if (isMetaTable) {
-newDesc.remove(HTableDescriptor.SPLIT_POLICY);
-}
 try {
 if (splits == null) {
 admin.createTable(newDesc);
@@ -1150,13 +1146,6 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 }
 if (isMetaTable && !isUpgradeRequired()) {
 
checkClientServerCompatibility(SchemaUtil.getPhysicalName(SYSTEM_CATALOG_NAME_BYTES,
 this.getProps()).getName());
-/*
- * Now we modify the table to add the split policy, since 
we know that the client and
- * server and compatible. This works around HBASE-12570 
which causes the cluster to be
- * brought down.
- */
-newDesc.setValue(HTableDescriptor.SPLIT_POLICY, 
MetaDataSplitPolicy.class.getName());
-modifyTable(physicalTableName, newDesc, true);
 }
 return null;
 } else {



[18/21] phoenix git commit: PHOENIX-4579 Add a config to conditionally create Phoenix meta tables on first client connection (Chinmay Kulkarni)

2018-04-14 Thread pboado
PHOENIX-4579 Add a config to conditionally create Phoenix meta tables on first 
client connection (Chinmay Kulkarni)


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

Branch: refs/heads/4.x-cdh5.12
Commit: 8cda81411294ead4b5642fca842c9c56a15e8652
Parents: f71654a
Author: James Taylor 
Authored: Fri Apr 13 18:30:30 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:31:28 2018 +0100

--
 .../phoenix/end2end/AppendOnlySchemaIT.java |   2 +-
 .../MigrateSystemTablesToSystemNamespaceIT.java |   9 +-
 .../SystemCatalogCreationOnConnectionIT.java| 626 
 .../coprocessor/MetaDataEndpointImpl.java   |  21 +
 .../phoenix/coprocessor/MetaDataProtocol.java   |   4 +
 .../coprocessor/generated/MetaDataProtos.java   | 183 +++--
 .../exception/UpgradeRequiredException.java |  13 +-
 .../phoenix/query/ConnectionQueryServices.java  |   2 +-
 .../query/ConnectionQueryServicesImpl.java  | 750 +++
 .../query/ConnectionlessQueryServicesImpl.java  |   2 +-
 .../query/DelegateConnectionQueryServices.java  |   4 +-
 .../apache/phoenix/schema/MetaDataClient.java   |   3 +-
 .../query/ConnectionQueryServicesImplTest.java  |   7 +-
 phoenix-protocol/src/main/MetaDataService.proto |   1 +
 14 files changed, 1236 insertions(+), 391 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/8cda8141/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java
index 7ed64ff..d601beb 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java
@@ -114,7 +114,7 @@ public class AppendOnlySchemaIT extends 
ParallelStatsDisabledIT {
 // verify no create table rpcs
 verify(connectionQueryServices, 
never()).createTable(anyListOf(Mutation.class),
 any(byte[].class), any(PTableType.class), anyMap(), anyList(), 
any(byte[][].class),
-eq(false), eq(false));
+eq(false), eq(false), eq(false));
 reset(connectionQueryServices);
 
 // execute alter table ddl that adds the same column

http://git-wip-us.apache.org/repos/asf/phoenix/blob/8cda8141/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
index d20ffa9..b0f1d5f 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
@@ -377,8 +377,10 @@ public class MigrateSystemTablesToSystemNamespaceIT 
extends BaseTest {
 while(rs.next()) {
 
 if(rs.getString("IS_NAMESPACE_MAPPED") == null) {
+// Check that entry for SYSTEM namespace exists in SYSCAT
 systemSchemaExists = 
rs.getString("TABLE_SCHEM").equals(PhoenixDatabaseMetaData.SYSTEM_SCHEMA_NAME) 
? true : systemSchemaExists;
 } else if (rs.getString("COLUMN_NAME") == null) {
+// Found the intial entry for a table in SYSCAT
 String schemaName = rs.getString("TABLE_SCHEM");
 String tableName = rs.getString("TABLE_NAME");
 
@@ -396,12 +398,11 @@ public class MigrateSystemTablesToSystemNamespaceIT 
extends BaseTest {
 }
 }
 
-if(!systemSchemaExists) {
-fail(PhoenixDatabaseMetaData.SYSTEM_SCHEMA_NAME + " entry doesn't 
exist in SYSTEM.CATALOG table.");
-}
-
 // The set will contain SYSMUTEX table since that table is not exposed 
in SYSCAT
 if (systemTablesMapped) {
+if (!systemSchemaExists) {
+fail(PhoenixDatabaseMetaData.SYSTEM_SCHEMA_NAME + " entry 
doesn't exist in SYSTEM.CATALOG table.");
+}
 assertTrue(namespaceMappedSystemTablesSet.size() == 1);
 } else {
 assertTrue(systemTablesSet.size() == 1);


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

2018-04-14 Thread pboado
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/b291068b
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/b291068b
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/b291068b

Branch: refs/heads/4.x-cdh5.12
Commit: b291068bc9c6e133c7bcb6dfe52dd4f96a76f2a1
Parents: 4d9cc92
Author: Ankit Singhal 
Authored: Tue Apr 10 07:53:31 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:26:16 2018 +0100

--
 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/b291068b/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index b07cbbb..8fe8a10 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -526,5 +526,10 @@
   i18n-util
   ${i18n-util.version}
 
+   
+com.lmax
+disruptor
+${disruptor.version}
+  
   
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b291068b/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 a1bcf40..54cb5da 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/b291068b/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

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

2018-04-14 Thread pboado
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/4d9cc929
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/4d9cc929
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/4d9cc929

Branch: refs/heads/4.x-cdh5.12
Commit: 4d9cc9294733161ebc915042e4c173f74906fad0
Parents: 7871e72
Author: Toshihiro Suzuki 
Authored: Thu Mar 29 09:17:37 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:24:59 2018 +0100

--
 .../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/4d9cc929/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/4d9cc929/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
--- 

[06/21] phoenix git commit: PHOENIX-4672 Align the kerberos principal config keys

2018-04-14 Thread pboado
PHOENIX-4672 Align the kerberos principal config keys

Fix the configuration keys in a manner that won't break users
who are using the 'old' name.


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

Branch: refs/heads/4.x-cdh5.12
Commit: 79c25f67ba0cb4ce9047b419123b1dfc142cf403
Parents: 6e899e5
Author: Josh Elser 
Authored: Tue Apr 10 19:08:57 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:26:37 2018 +0100

--
 .../src/main/java/org/apache/phoenix/query/QueryServices.java| 3 ++-
 .../java/org/apache/phoenix/queryserver/server/QueryServer.java  | 4 
 2 files changed, 6 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/79c25f67/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java 
b/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
index 43b9e5a..21f043c 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
@@ -237,7 +237,8 @@ public interface QueryServices extends SQLCloseable {
 public static final String QUERY_SERVER_KEYTAB_FILENAME_ATTRIB = 
"phoenix.queryserver.keytab.file";
 public static final String QUERY_SERVER_HTTP_KEYTAB_FILENAME_ATTRIB = 
"phoenix.queryserver.http.keytab.file";
 public static final String QUERY_SERVER_KERBEROS_PRINCIPAL_ATTRIB = 
"phoenix.queryserver.kerberos.principal";
-public static final String QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB = 
"phoenix.queryserver.kerberos.http.principal";
+public static final String 
QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB_LEGACY = 
"phoenix.queryserver.kerberos.http.principal";
+public static final String QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB = 
"phoenix.queryserver.http.kerberos.principal";
 public static final String QUERY_SERVER_DNS_NAMESERVER_ATTRIB = 
"phoenix.queryserver.dns.nameserver";
 public static final String QUERY_SERVER_DNS_INTERFACE_ATTRIB = 
"phoenix.queryserver.dns.interface";
 public static final String QUERY_SERVER_HBASE_SECURITY_CONF_ATTRIB = 
"hbase.security.authentication";

http://git-wip-us.apache.org/repos/asf/phoenix/blob/79c25f67/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
--
diff --git 
a/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
 
b/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
index 6b1fcfe..8436086 100644
--- 
a/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
+++ 
b/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
@@ -246,6 +246,10 @@ public final class QueryServer extends Configured 
implements Tool, Runnable {
 File keytab = new File(keytabPath);
 String httpKeytabPath = 
getConf().get(QueryServices.QUERY_SERVER_HTTP_KEYTAB_FILENAME_ATTRIB, null);
 String httpPrincipal = 
getConf().get(QueryServices.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB, null);
+// Backwards compat for a configuration key change
+if (httpPrincipal == null) {
+  httpPrincipal = 
getConf().get(QueryServices.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB_LEGACY, 
null);
+}
 File httpKeytab = null;
 if (null != httpKeytabPath)
   httpKeytab = new File(httpKeytabPath);



[08/21] phoenix git commit: PHOENIX-4653 Upgrading from namespace enabled cluster to latest version failing with UpgradeInProgressException(Rajeshbabu)

2018-04-14 Thread pboado
PHOENIX-4653 Upgrading from namespace enabled cluster to latest version failing 
with UpgradeInProgressException(Rajeshbabu)


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

Branch: refs/heads/4.x-cdh5.12
Commit: 08564a99e4ea5c89441a55fe96a54122cc4a46c8
Parents: fe06c3b
Author: Rajeshbabu Chintaguntla 
Authored: Wed Apr 11 13:48:04 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:27:12 2018 +0100

--
 .../apache/phoenix/query/ConnectionQueryServicesImpl.java| 8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/08564a99/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 8c7441a..6627a84 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -2678,13 +2678,7 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 long currentServerSideTableTimeStamp = 
e.getTable().getTimeStamp();
 sysCatalogTableName = 
e.getTable().getPhysicalName().getString();
 if (currentServerSideTableTimeStamp < 
MIN_SYSTEM_TABLE_TIMESTAMP) {
-// Ensure that the SYSTEM.MUTEX table has been created 
prior
-// to attempting to acquire the upgrade mutex. If namespace
-// mapping is enabled, we've already done this earlier in 
the
-// upgrade, so no need for a bunch of wasted RPCs.
-if (currentServerSideTableTimeStamp <= 
MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP_4_10_0 &&
-
!SchemaUtil.isNamespaceMappingEnabled(PTableType.SYSTEM,
-
ConnectionQueryServicesImpl.this.getProps())) {
+if (currentServerSideTableTimeStamp <= 
MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP_4_10_0) {
 try (HBaseAdmin admin = getAdmin()) {
 createSysMutexTableIfNotExists(admin, 
this.getProps());
 }



[14/21] phoenix git commit: PHOENIX-4605 Support running multiple transaction providers

2018-04-14 Thread pboado
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8eaca121/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
index c5065e0..59c10ad 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
@@ -19,120 +19,7 @@ package org.apache.phoenix.expression;
 
 import java.util.Map;
 
-import org.apache.phoenix.expression.function.AbsFunction;
-import org.apache.phoenix.expression.function.ArrayAllComparisonExpression;
-import org.apache.phoenix.expression.function.ArrayAnyComparisonExpression;
-import org.apache.phoenix.expression.function.ArrayAppendFunction;
-import org.apache.phoenix.expression.function.ArrayConcatFunction;
-import org.apache.phoenix.expression.function.ArrayElemRefExpression;
-import org.apache.phoenix.expression.function.ArrayFillFunction;
-import org.apache.phoenix.expression.function.ArrayIndexFunction;
-import org.apache.phoenix.expression.function.ArrayLengthFunction;
-import org.apache.phoenix.expression.function.ArrayPrependFunction;
-import org.apache.phoenix.expression.function.ArrayRemoveFunction;
-import org.apache.phoenix.expression.function.ArrayToStringFunction;
-import org.apache.phoenix.expression.function.ByteBasedRegexpReplaceFunction;
-import org.apache.phoenix.expression.function.ByteBasedRegexpSplitFunction;
-import org.apache.phoenix.expression.function.ByteBasedRegexpSubstrFunction;
-import org.apache.phoenix.expression.function.CbrtFunction;
-import org.apache.phoenix.expression.function.CeilDateExpression;
-import org.apache.phoenix.expression.function.CeilDecimalExpression;
-import org.apache.phoenix.expression.function.CeilFunction;
-import org.apache.phoenix.expression.function.CeilMonthExpression;
-import org.apache.phoenix.expression.function.CeilTimestampExpression;
-import org.apache.phoenix.expression.function.CeilWeekExpression;
-import org.apache.phoenix.expression.function.CeilYearExpression;
-import org.apache.phoenix.expression.function.CoalesceFunction;
-import org.apache.phoenix.expression.function.CollationKeyFunction;
-import org.apache.phoenix.expression.function.ConvertTimezoneFunction;
-import org.apache.phoenix.expression.function.CountAggregateFunction;
-import org.apache.phoenix.expression.function.DayOfMonthFunction;
-import org.apache.phoenix.expression.function.DayOfWeekFunction;
-import org.apache.phoenix.expression.function.DayOfYearFunction;
-import org.apache.phoenix.expression.function.DecodeFunction;
-import org.apache.phoenix.expression.function.DefaultValueExpression;
-import org.apache.phoenix.expression.function.DistinctCountAggregateFunction;
-import 
org.apache.phoenix.expression.function.DistinctCountHyperLogLogAggregateFunction;
-import org.apache.phoenix.expression.function.DistinctValueAggregateFunction;
-import org.apache.phoenix.expression.function.EncodeFunction;
-import org.apache.phoenix.expression.function.ExpFunction;
-import org.apache.phoenix.expression.function.ExternalSqlTypeIdFunction;
-import org.apache.phoenix.expression.function.FirstValueFunction;
-import org.apache.phoenix.expression.function.FirstValuesFunction;
-import org.apache.phoenix.expression.function.FloorDateExpression;
-import org.apache.phoenix.expression.function.FloorDecimalExpression;
-import org.apache.phoenix.expression.function.FloorFunction;
-import org.apache.phoenix.expression.function.FloorMonthExpression;
-import org.apache.phoenix.expression.function.FloorWeekExpression;
-import org.apache.phoenix.expression.function.FloorYearExpression;
-import org.apache.phoenix.expression.function.GetBitFunction;
-import org.apache.phoenix.expression.function.GetByteFunction;
-import org.apache.phoenix.expression.function.HourFunction;
-import org.apache.phoenix.expression.function.IndexStateNameFunction;
-import org.apache.phoenix.expression.function.InstrFunction;
-import org.apache.phoenix.expression.function.InvertFunction;
-import org.apache.phoenix.expression.function.LTrimFunction;
-import org.apache.phoenix.expression.function.LastValueFunction;
-import org.apache.phoenix.expression.function.LastValuesFunction;
-import org.apache.phoenix.expression.function.LengthFunction;
-import org.apache.phoenix.expression.function.LnFunction;
-import org.apache.phoenix.expression.function.LogFunction;
-import org.apache.phoenix.expression.function.LowerFunction;
-import org.apache.phoenix.expression.function.LpadFunction;
-import org.apache.phoenix.expression.function.MD5Function;
-import org.apache.phoenix.expression.function.MaxAggregateFunction;
-import org.apache.phoenix.expression.function.MinAggregateFunction;
-import 

[15/21] phoenix git commit: PHOENIX-4605 Support running multiple transaction providers

2018-04-14 Thread pboado
PHOENIX-4605 Support running multiple transaction providers


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

Branch: refs/heads/4.x-cdh5.12
Commit: 8eaca12102c41a10694e9a343f97b8b83c15701c
Parents: 0535a17
Author: James Taylor 
Authored: Thu Apr 12 04:06:35 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:30:46 2018 +0100

--
 .../phoenix/end2end/AlterTableWithViewsIT.java  |   6 +-
 .../ConnectionQueryServicesTestImpl.java|  34 +-
 .../phoenix/tx/FlappingTransactionIT.java   |  11 +-
 .../phoenix/tx/ParameterizedTransactionIT.java  |  14 +-
 .../org/apache/phoenix/tx/TransactionIT.java|  12 +
 .../org/apache/phoenix/tx/TxCheckpointIT.java   |   5 +-
 .../phoenix/cache/IndexMetaDataCache.java   |   5 +-
 .../apache/phoenix/compile/DeleteCompiler.java  |   3 +-
 .../apache/phoenix/compile/FromCompiler.java|   2 +-
 .../apache/phoenix/compile/JoinCompiler.java|   2 +-
 .../compile/TupleProjectionCompiler.java|   4 +-
 .../apache/phoenix/compile/UnionCompiler.java   |   6 +-
 .../apache/phoenix/compile/UpsertCompiler.java  |   2 +-
 .../coprocessor/BaseScannerRegionObserver.java  |   4 +-
 .../coprocessor/MetaDataEndpointImpl.java   |  26 +-
 .../phoenix/coprocessor/MetaDataProtocol.java   |   2 +-
 .../coprocessor/MetaDataRegionObserver.java |   4 +-
 .../PhoenixTransactionalProcessor.java  |  28 --
 .../coprocessor/ServerCachingEndpointImpl.java  |   4 +-
 .../TephraTransactionalProcessor.java   |  29 ++
 .../UngroupedAggregateRegionObserver.java   |  10 +-
 .../coprocessor/generated/PTableProtos.java | 110 +-
 .../phoenix/exception/SQLExceptionCode.java |   4 +
 .../apache/phoenix/execute/BaseQueryPlan.java   |   3 +
 .../apache/phoenix/execute/MutationState.java   |  74 ++--
 .../PhoenixTxIndexMutationGenerator.java|  10 +-
 .../phoenix/expression/ExpressionType.java  | 119 +-
 .../TransactionProviderNameFunction.java|  81 +
 .../apache/phoenix/index/IndexMaintainer.java   |   4 +-
 .../index/IndexMetaDataCacheFactory.java|   2 +-
 .../apache/phoenix/index/PhoenixIndexCodec.java |   1 -
 .../index/PhoenixIndexMetaDataBuilder.java  |   7 +-
 .../NonAggregateRegionScannerFactory.java   |   5 +-
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  12 +-
 .../apache/phoenix/jdbc/PhoenixStatement.java   |   2 +-
 .../index/PhoenixIndexPartialBuildMapper.java   |   4 +-
 .../phoenix/query/ConnectionQueryServices.java  |   6 +-
 .../query/ConnectionQueryServicesImpl.java  |  71 ++--
 .../query/ConnectionlessQueryServicesImpl.java  |  11 +-
 .../query/DelegateConnectionQueryServices.java  |  13 +-
 .../apache/phoenix/query/QueryConstants.java|   2 +
 .../org/apache/phoenix/query/QueryServices.java |   1 +
 .../phoenix/query/QueryServicesOptions.java |  10 +-
 .../apache/phoenix/schema/DelegateTable.java|   8 +-
 .../apache/phoenix/schema/MetaDataClient.java   | 129 +--
 .../java/org/apache/phoenix/schema/PTable.java  |   2 +
 .../org/apache/phoenix/schema/PTableImpl.java   |  68 ++--
 .../apache/phoenix/schema/TableProperty.java|  18 +
 .../transaction/OmidTransactionContext.java |  57 +--
 .../transaction/OmidTransactionProvider.java|  54 +--
 .../transaction/OmidTransactionTable.java   | 363 ---
 .../transaction/PhoenixTransactionClient.java   |  23 ++
 .../transaction/PhoenixTransactionContext.java  | 169 +
 .../transaction/PhoenixTransactionProvider.java |  51 +++
 .../transaction/PhoenixTransactionService.java  |  24 ++
 .../transaction/PhoenixTransactionalTable.java  | 149 
 .../transaction/TephraTransactionContext.java   | 205 +++
 .../transaction/TephraTransactionProvider.java  | 161 +++-
 .../transaction/TephraTransactionTable.java | 350 --
 .../phoenix/transaction/TransactionFactory.java |  57 ++-
 .../transaction/TransactionProvider.java|  36 --
 .../org/apache/phoenix/util/PhoenixRuntime.java |   3 +-
 .../java/org/apache/phoenix/util/ScanUtil.java  |  15 +
 .../apache/phoenix/util/TransactionUtil.java|  93 -
 .../phoenix/execute/CorrelatePlanTest.java  |   5 +-
 .../execute/LiteralResultIteratorPlanTest.java  |   5 +-
 .../java/org/apache/phoenix/query/BaseTest.java |  26 +-
 .../phoenix/query/QueryServicesTestImpl.java|  15 +-
 .../java/org/apache/phoenix/util/TestUtil.java  |   2 +-
 phoenix-protocol/src/main/PTable.proto  |   1 +
 70 files changed, 1229 insertions(+), 1625 deletions(-)
--



[10/21] phoenix git commit: PHOENIX-4366 Rebuilding a local index fails sometimes

2018-04-14 Thread pboado
PHOENIX-4366 Rebuilding a local index fails sometimes


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

Branch: refs/heads/4.x-cdh5.12
Commit: a874df3a70bb52ea56f0159c37cdbb16534d762f
Parents: 0987d09
Author: James Taylor 
Authored: Wed Apr 11 21:37:45 2018 +0100
Committer: Pedro Boado 
Committed: Fri Apr 13 23:27:33 2018 +0100

--
 .../coprocessor/BaseScannerRegionObserver.java  |  7 +
 .../GroupedAggregateRegionObserver.java |  4 +++
 .../phoenix/coprocessor/ScanRegionObserver.java |  4 ++-
 .../UngroupedAggregateRegionObserver.java   |  7 -
 .../NonAggregateRegionScannerFactory.java   | 29 +---
 .../phoenix/iterate/RegionScannerFactory.java   |  4 +--
 .../apache/phoenix/iterate/SnapshotScanner.java |  6 +---
 7 files changed, 30 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/a874df3a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
index 7ef64b0..3310131 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
@@ -139,8 +139,6 @@ abstract public class BaseScannerRegionObserver extends 
BaseRegionObserver {
 
 /** Exposed for testing */
 public static final String SCANNER_OPENED_TRACE_INFO = "Scanner opened on 
server";
-protected QualifierEncodingScheme encodingScheme;
-protected boolean useNewValueColumnQualifier;
 
 @Override
 public void start(CoprocessorEnvironment e) throws IOException {
@@ -211,8 +209,6 @@ abstract public class BaseScannerRegionObserver extends 
BaseRegionObserver {
 // start exclusive and the stop inclusive.
 ScanUtil.setupReverseScan(scan);
 }
-this.encodingScheme = 
EncodedColumnsUtil.getQualifierEncodingScheme(scan);
-this.useNewValueColumnQualifier = 
EncodedColumnsUtil.useNewValueColumnQualifier(scan);
 return s;
 }
 
@@ -350,8 +346,7 @@ abstract public class BaseScannerRegionObserver extends 
BaseRegionObserver {
 final byte[][] viewConstants, final TupleProjector projector,
 final ImmutableBytesWritable ptr, final boolean 
useQualiferAsListIndex) {
 
-RegionScannerFactory regionScannerFactory = new 
NonAggregateRegionScannerFactory(c.getEnvironment(),
-useNewValueColumnQualifier, encodingScheme);
+RegionScannerFactory regionScannerFactory = new 
NonAggregateRegionScannerFactory(c.getEnvironment());
 
 return regionScannerFactory.getWrappedScanner(c.getEnvironment(), s, 
null, null, offset, scan, dataColumns, tupleProjector,
 dataRegion, indexMaintainer, null, viewConstants, null, null, 
projector, ptr, useQualiferAsListIndex);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/a874df3a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
index 67cc114..201bcec 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
@@ -62,6 +62,7 @@ import org.apache.phoenix.index.IndexMaintainer;
 import org.apache.phoenix.join.HashJoinInfo;
 import org.apache.phoenix.memory.MemoryManager.MemoryChunk;
 import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.schema.PTable;
 import org.apache.phoenix.schema.SortOrder;
 import org.apache.phoenix.schema.tuple.EncodedColumnQualiferCellsList;
 import org.apache.phoenix.schema.tuple.MultiKeyValueTuple;
@@ -110,6 +111,7 @@ public class GroupedAggregateRegionObserver extends 
BaseScannerRegionObserver {
 keyOrdered = true;
 }
 int offset = 0;
+boolean useNewValueColumnQualifier = 
EncodedColumnsUtil.useNewValueColumnQualifier(scan);
 if (ScanUtil.isLocalIndex(scan)) {
 /*
  * For local indexes, we need to set an offset on row key 

phoenix git commit: Revert PHOENIX-4579 Remove SYSTEM.LOG from list of Phoenix system tables since that JIRA hasn't been backported

2018-04-14 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-0.98 28d74053f -> 07125f25e


Revert PHOENIX-4579 Remove SYSTEM.LOG from list of Phoenix system tables since 
that JIRA hasn't been backported


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

Branch: refs/heads/4.x-HBase-0.98
Commit: 07125f25e2f1ea7d2a69cda105c68a75fac02ec8
Parents: 28d7405
Author: James Taylor 
Authored: Fri Apr 13 23:32:28 2018 -0700
Committer: James Taylor 
Committed: Fri Apr 13 23:32:28 2018 -0700

--
 .../phoenix/end2end/SystemCatalogCreationOnConnectionIT.java   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/07125f25/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
index a2bc272..beb31c2 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
@@ -72,11 +72,11 @@ public class SystemCatalogCreationOnConnectionIT {
 
 private static final Set PHOENIX_SYSTEM_TABLES = new 
HashSet<>(Arrays.asList(
   "SYSTEM.CATALOG", "SYSTEM.SEQUENCE", "SYSTEM.STATS", "SYSTEM.FUNCTION",
-  "SYSTEM.MUTEX"));
+  "SYSTEM.MUTEX", "SYSTEM.LOG"));
 
 private static final Set PHOENIX_NAMESPACE_MAPPED_SYSTEM_TABLES = 
new HashSet<>(
   Arrays.asList("SYSTEM:CATALOG", "SYSTEM:SEQUENCE", "SYSTEM:STATS", 
"SYSTEM:FUNCTION",
-"SYSTEM:MUTEX"));
+"SYSTEM:MUTEX", "SYSTEM.LOG"));
 
 private static class PhoenixSysCatCreationServices extends 
ConnectionQueryServicesImpl {
 
@@ -635,4 +635,4 @@ public class SystemCatalogCreationOnConnectionIT {
 assertEquals(0, countUpgradeAttempts);
 return driver;
 }
-}
\ No newline at end of file
+}



Build failed in Jenkins: Phoenix | Master #1996

2018-04-14 Thread Apache Jenkins Server
See 


Changes:

[ankitsinghal59] PHOENIX-4496 Fix RowValueConstructorIT and IndexMetadataIT

--
[...truncated 111.25 KB...]
[INFO] Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 455.345 
s - in org.apache.phoenix.end2end.index.LocalMutableNonTxIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SortMergeJoinGlobalIndexIT
[INFO] Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 484.4 s 
- in org.apache.phoenix.end2end.index.LocalMutableTxIndexIT
[INFO] Running org.apache.phoenix.end2end.join.SortMergeJoinLocalIndexIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 102.383 
s - in org.apache.phoenix.end2end.join.HashJoinMoreIT
[INFO] Running org.apache.phoenix.end2end.join.SubqueryIT
[INFO] Running org.apache.phoenix.end2end.join.SortMergeJoinNoIndexIT
[INFO] Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 367.933 
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: 367.201 
s - in org.apache.phoenix.end2end.join.SortMergeJoinNoIndexIT
[INFO] Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 394.077 
s - in org.apache.phoenix.end2end.join.SubqueryIT
[INFO] Running org.apache.phoenix.end2end.salted.SaltedTableIT
[INFO] Running org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.521 s 
- in org.apache.phoenix.end2end.salted.SaltedTableIT
[INFO] Running org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.33 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.007 s 
- in org.apache.phoenix.iterate.PhoenixQueryTimeoutIT
[INFO] Running org.apache.phoenix.iterate.RoundRobinResultIteratorIT
[INFO] Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 626.767 
s - in org.apache.phoenix.end2end.join.HashJoinGlobalIndexIT
[INFO] Tests run: 80, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 880.287 
s - in org.apache.phoenix.end2end.index.MutableIndexIT
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 51.444 s 
- in org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT
[INFO] Running org.apache.phoenix.trace.PhoenixTableMetricsWriterIT
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.378 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.601 s 
- in org.apache.phoenix.replication.SystemCatalogWALEntryFilterIT
[INFO] Running org.apache.phoenix.tx.FlappingTransactionIT
[INFO] Running org.apache.phoenix.rpc.UpdateCacheIT
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.867 s 
- in org.apache.phoenix.tx.FlappingTransactionIT
[INFO] Running org.apache.phoenix.tx.ParameterizedTransactionIT
[INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 75.167 s 
- in org.apache.phoenix.iterate.RoundRobinResultIteratorIT
[INFO] Running org.apache.phoenix.tx.TransactionIT
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 42.629 s 
- in org.apache.phoenix.rpc.UpdateCacheIT
[INFO] Running org.apache.phoenix.tx.TxCheckpointIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 646.965 
s - in org.apache.phoenix.end2end.join.SortMergeJoinGlobalIndexIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 104.152 
s - in org.apache.phoenix.trace.PhoenixTracingEndToEndIT
[INFO] Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 292.558 
s - in org.apache.phoenix.end2end.join.SubqueryUsingSortMergeJoinIT
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 95.033 s 
- in org.apache.phoenix.tx.TransactionIT
[INFO] Running org.apache.phoenix.util.IndexScrutinyIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 807.987 
s - in org.apache.phoenix.end2end.join.HashJoinLocalIndexIT
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.128 s 
- in org.apache.phoenix.util.IndexScrutinyIT
[INFO] Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 814.125 
s - in org.apache.phoenix.end2end.join.SortMergeJoinLocalIndexIT
[WARNING] Tests run: 52, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 
347.296 s - in org.apache.phoenix.tx.ParameterizedTransactionIT
[INFO] Tests run: 40, Failures: 0, Errors: 0, 

phoenix git commit: PHOENIX-4579 Fix import order [Forced Update!]

2018-04-14 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.1 83ad23241 -> ea709974d (forced update)


PHOENIX-4579 Fix import order


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

Branch: refs/heads/4.x-HBase-1.1
Commit: ea709974d69ff9becc83e09d98a280d542475a7e
Parents: adb98a1
Author: James Taylor 
Authored: Fri Apr 13 23:23:09 2018 -0700
Committer: James Taylor 
Committed: Fri Apr 13 23:27:03 2018 -0700

--
 .../SystemCatalogCreationOnConnectionIT.java| 32 ++--
 1 file changed, 22 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/ea709974/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
index 689eb20..fbc8cd7 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
@@ -17,6 +17,22 @@
  */
 package org.apache.phoenix.end2end;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.concurrent.TimeoutException;
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
@@ -28,7 +44,11 @@ import org.apache.phoenix.exception.UpgradeRequiredException;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.jdbc.PhoenixEmbeddedDriver;
 import org.apache.phoenix.jdbc.PhoenixTestDriver;
-import org.apache.phoenix.query.*;
+import org.apache.phoenix.query.ConnectionQueryServices;
+import org.apache.phoenix.query.ConnectionQueryServicesImpl;
+import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.query.QueryServicesTestImpl;
 import org.apache.phoenix.util.ReadOnlyProps;
 import org.apache.phoenix.util.UpgradeUtil;
 import org.junit.After;
@@ -36,14 +56,6 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import java.io.IOException;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.util.*;
-import java.util.concurrent.TimeoutException;
-
-import static org.junit.Assert.*;
-
 @Category(NeedsOwnMiniClusterTest.class)
 public class SystemCatalogCreationOnConnectionIT {
 private HBaseTestingUtility testUtil = null;
@@ -623,4 +635,4 @@ public class SystemCatalogCreationOnConnectionIT {
 assertEquals(0, countUpgradeAttempts);
 return driver;
 }
-}
\ No newline at end of file
+}



[2/2] phoenix git commit: more

2018-04-14 Thread jamestaylor
more


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

Branch: refs/heads/4.x-HBase-1.1
Commit: 83ad2324121d52d752678acff56ec96ece880c64
Parents: adb98a1
Author: James Taylor 
Authored: Fri Apr 13 23:23:09 2018 -0700
Committer: James Taylor 
Committed: Fri Apr 13 23:23:09 2018 -0700

--
 .../SystemCatalogCreationOnConnectionIT.java| 32 ++--
 1 file changed, 22 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/83ad2324/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
index 689eb20..fbc8cd7 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
@@ -17,6 +17,22 @@
  */
 package org.apache.phoenix.end2end;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.concurrent.TimeoutException;
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
@@ -28,7 +44,11 @@ import org.apache.phoenix.exception.UpgradeRequiredException;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.jdbc.PhoenixEmbeddedDriver;
 import org.apache.phoenix.jdbc.PhoenixTestDriver;
-import org.apache.phoenix.query.*;
+import org.apache.phoenix.query.ConnectionQueryServices;
+import org.apache.phoenix.query.ConnectionQueryServicesImpl;
+import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.query.QueryServicesTestImpl;
 import org.apache.phoenix.util.ReadOnlyProps;
 import org.apache.phoenix.util.UpgradeUtil;
 import org.junit.After;
@@ -36,14 +56,6 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import java.io.IOException;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.util.*;
-import java.util.concurrent.TimeoutException;
-
-import static org.junit.Assert.*;
-
 @Category(NeedsOwnMiniClusterTest.class)
 public class SystemCatalogCreationOnConnectionIT {
 private HBaseTestingUtility testUtil = null;
@@ -623,4 +635,4 @@ public class SystemCatalogCreationOnConnectionIT {
 assertEquals(0, countUpgradeAttempts);
 return driver;
 }
-}
\ No newline at end of file
+}



[1/2] phoenix git commit: Revert "PHOENIX-4579 Remove SYSTEM.LOG from list of Phoenix system tables since that JIRA hasn't been backported"

2018-04-14 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.1 a816061c6 -> 83ad23241


Revert "PHOENIX-4579 Remove SYSTEM.LOG from list of Phoenix system tables since 
that JIRA hasn't been backported"

This reverts commit b28d1199879dee00686467e24e8683488818ff8e.


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

Branch: refs/heads/4.x-HBase-1.1
Commit: adb98a163d5fd4b0fb1abca3e8cc9d648e951ddb
Parents: a816061
Author: James Taylor 
Authored: Fri Apr 13 23:19:01 2018 -0700
Committer: James Taylor 
Committed: Fri Apr 13 23:19:01 2018 -0700

--
 .../SystemCatalogCreationOnConnectionIT.java| 34 +++-
 1 file changed, 11 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/adb98a16/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
index a2bc272..689eb20 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogCreationOnConnectionIT.java
@@ -17,22 +17,6 @@
  */
 package org.apache.phoenix.end2end;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.concurrent.TimeoutException;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
@@ -44,11 +28,7 @@ import org.apache.phoenix.exception.UpgradeRequiredException;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.jdbc.PhoenixEmbeddedDriver;
 import org.apache.phoenix.jdbc.PhoenixTestDriver;
-import org.apache.phoenix.query.ConnectionQueryServices;
-import org.apache.phoenix.query.ConnectionQueryServicesImpl;
-import org.apache.phoenix.query.QueryConstants;
-import org.apache.phoenix.query.QueryServices;
-import org.apache.phoenix.query.QueryServicesTestImpl;
+import org.apache.phoenix.query.*;
 import org.apache.phoenix.util.ReadOnlyProps;
 import org.apache.phoenix.util.UpgradeUtil;
 import org.junit.After;
@@ -56,6 +36,14 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.*;
+import java.util.concurrent.TimeoutException;
+
+import static org.junit.Assert.*;
+
 @Category(NeedsOwnMiniClusterTest.class)
 public class SystemCatalogCreationOnConnectionIT {
 private HBaseTestingUtility testUtil = null;
@@ -72,11 +60,11 @@ public class SystemCatalogCreationOnConnectionIT {
 
 private static final Set PHOENIX_SYSTEM_TABLES = new 
HashSet<>(Arrays.asList(
   "SYSTEM.CATALOG", "SYSTEM.SEQUENCE", "SYSTEM.STATS", "SYSTEM.FUNCTION",
-  "SYSTEM.MUTEX"));
+  "SYSTEM.MUTEX", "SYSTEM.LOG"));
 
 private static final Set PHOENIX_NAMESPACE_MAPPED_SYSTEM_TABLES = 
new HashSet<>(
   Arrays.asList("SYSTEM:CATALOG", "SYSTEM:SEQUENCE", "SYSTEM:STATS", 
"SYSTEM:FUNCTION",
-"SYSTEM:MUTEX"));
+"SYSTEM:MUTEX", "SYSTEM:LOG"));
 
 private static class PhoenixSysCatCreationServices extends 
ConnectionQueryServicesImpl {
 



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

2018-04-14 Thread ankit
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-0.98 fce9af534 -> 28d74053f


http://git-wip-us.apache.org/repos/asf/phoenix/blob/28d74053/phoenix-core/src/main/java/org/apache/phoenix/monitoring/ReadMetricQueue.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/monitoring/ReadMetricQueue.java 
b/phoenix-core/src/main/java/org/apache/phoenix/monitoring/ReadMetricQueue.java
index 0e9b27f..5c4238e 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/monitoring/ReadMetricQueue.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/monitoring/ReadMetricQueue.java
@@ -1,19 +1,11 @@
 /*
- * 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.
+ * 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.monitoring;
 
@@ -85,7 +77,7 @@ public class ReadMetricQueue {
 }
 return publishedMetrics;
 }
-
+
 public void clearMetrics() {
 metricsMap.clear(); // help gc
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/28d74053/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServices.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServices.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServices.java
index 7314e74..7e96193 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServices.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServices.java
@@ -30,12 +30,14 @@ import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.client.HTableInterface;
 import org.apache.hadoop.hbase.client.Mutation;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
+import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.hbase.util.Pair;
 import org.apache.phoenix.compile.MutationPlan;
 import org.apache.phoenix.coprocessor.MetaDataProtocol.MetaDataMutationResult;
 import org.apache.phoenix.execute.MutationState;
 import org.apache.phoenix.hbase.index.util.KeyValueBuilder;
 import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.log.QueryLoggerDisruptor;
 import org.apache.phoenix.parse.PFunction;
 import org.apache.phoenix.schema.PColumn;
 import org.apache.phoenix.schema.PName;
@@ -150,4 +152,8 @@ public interface ConnectionQueryServices extends 
QueryServices, MetaDataMutated
 public Configuration getConfiguration();
 
 public PhoenixTransactionClient 
initTransactionClient(TransactionFactory.Provider provider);
+
+public User getUser();
+
+public QueryLoggerDisruptor getQueryDisruptor();
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/28d74053/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 c5d5e0d..7a5b8d7 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -125,6 +125,7 @@ import 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;
 import 

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

2018-04-14 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/28d74053
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/28d74053
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/28d74053

Branch: refs/heads/4.x-HBase-0.98
Commit: 28d74053f8984e2c79f787b9043ba8ed5252d903
Parents: fce9af5
Author: Ankit Singhal 
Authored: Sat Apr 14 11:33:26 2018 +0530
Committer: Ankit Singhal 
Committed: Sat Apr 14 11:33:26 2018 +0530

--
 phoenix-core/pom.xml|  10 +-
 .../MigrateSystemTablesToSystemNamespaceIT.java |  40 ++-
 .../end2end/QueryDatabaseMetaDataIT.java|   4 +
 .../apache/phoenix/end2end/QueryLoggerIT.java   | 356 +++
 .../end2end/TenantSpecificTablesDDLIT.java  |   2 +
 .../phoenix/compile/StatementContext.java   |  10 +
 .../apache/phoenix/jdbc/PhoenixConnection.java  |  17 +-
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  18 +
 .../phoenix/jdbc/PhoenixPreparedStatement.java  |  11 +-
 .../apache/phoenix/jdbc/PhoenixResultSet.java   |  35 ++
 .../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  | 128 +++
 .../phoenix/monitoring/ReadMetricQueue.java |  24 +-
 .../phoenix/query/ConnectionQueryServices.java  |   6 +
 .../query/ConnectionQueryServicesImpl.java  |  44 ++-
 .../query/ConnectionlessQueryServicesImpl.java  |  24 +-
 .../query/DelegateConnectionQueryServices.java  |  12 +
 .../apache/phoenix/query/QueryConstants.java| 121 ++-
 .../org/apache/phoenix/query/QueryServices.java |   4 +
 .../phoenix/query/QueryServicesOptions.java |   9 +-
 phoenix-flume/pom.xml   |   6 -
 phoenix-kafka/pom.xml   |   6 -
 pom.xml |   6 +
 34 files changed, 1558 insertions(+), 168 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/28d74053/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index a537c96..3cb3682 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -345,12 +345,6 @@
   test
 
 
-  com.lmax
-  disruptor
-  3.2.0
-  test
-
-
   org.cloudera.htrace
   htrace-core
 
@@ -479,5 +473,9 @@
   i18n-util
   ${i18n-util.version}
 
+   
+com.lmax
+disruptor
+  
   
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/28d74053/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
index e7187d6..627e453 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MigrateSystemTablesToSystemNamespaceIT.java
@@ -16,6 +16,26 @@
  */
 package org.apache.phoenix.end2end;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.security.PrivilegedExceptionAction;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
@@ -38,31 +58,15 @@ import org.junit.Before;
 import org.junit.Test;
 import