git commit: Phoenix-1275 SYSTEM.STATS table is not created when SYSTEM.CATALOG is already present
Repository: phoenix Updated Branches: refs/heads/master 6908c90b5 - 940b70d65 Phoenix-1275 SYSTEM.STATS table is not created when SYSTEM.CATALOG is already present Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/940b70d6 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/940b70d6 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/940b70d6 Branch: refs/heads/master Commit: 940b70d65495e93c67323ef93eca8191fecdfe98 Parents: 6908c90 Author: Ramkrishna ramkrishna.s.vasude...@intel.com Authored: Thu Sep 25 16:03:05 2014 +0530 Committer: Ramkrishna ramkrishna.s.vasude...@intel.com Committed: Thu Sep 25 16:03:05 2014 +0530 -- .../query/ConnectionQueryServicesImpl.java | 26 ++-- 1 file changed, 19 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/940b70d6/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 2512178..dfd56bc 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 @@ -17,10 +17,6 @@ */ package org.apache.phoenix.query; -import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.CYCLE_FLAG; -import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.LIMIT_REACHED_FLAG; -import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.MAX_VALUE; -import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.MIN_VALUE; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES; import static org.apache.phoenix.query.QueryServicesOptions.DEFAULT_DROP_METADATA; @@ -1518,12 +1514,28 @@ public class ConnectionQueryServicesImpl extends DelegateQueryServices implement } try { metaConnection.createStatement().executeUpdate(QueryConstants.CREATE_SEQUENCE_METADATA); - -// TODO : Get this from a configuration +} catch (NewerTableAlreadyExistsException ignore) { +// Ignore, as this will happen if the SYSTEM.SEQUENCE already exists at this fixed timestamp. +// A TableAlreadyExistsException is not thrown, since the table only exists *after* this fixed timestamp. + +} catch (TableAlreadyExistsException ignore) { +// This will occur if we have an older SYSTEM.SEQUENCE, so we need to update it to include +// any new columns we've added. +String newColumns = PhoenixDatabaseMetaData.MIN_VALUE + + PDataType.LONG.getSqlTypeName() + , ++ PhoenixDatabaseMetaData.MAX_VALUE + + PDataType.LONG.getSqlTypeName() + , + PhoenixDatabaseMetaData.CYCLE_FLAG + ++ PDataType.BOOLEAN.getSqlTypeName() + , + PhoenixDatabaseMetaData.LIMIT_REACHED_FLAG + ++ PDataType.BOOLEAN.getSqlTypeName(); +metaConnection = addColumnsIfNotExists(metaConnection, + PhoenixDatabaseMetaData.SEQUENCE_TABLE_NAME, + MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP, newColumns); +} +try { metaConnection.createStatement().executeUpdate( QueryConstants.CREATE_STATS_TABLE_METADATA); } catch (NewerTableAlreadyExistsException ignore) { -} catch (TableAlreadyExistsException ignore) { + +} catch(TableAlreadyExistsException ignore) { + } } catch (Exception e) { if (e instanceof SQLException) {
git commit: Phoenix-1275 SYSTEM.STATS table is not created when SYSTEM.CATALOG is already present
Repository: phoenix Updated Branches: refs/heads/4.0 1110aeddf - b2bf3f523 Phoenix-1275 SYSTEM.STATS table is not created when SYSTEM.CATALOG is already present Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/b2bf3f52 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/b2bf3f52 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/b2bf3f52 Branch: refs/heads/4.0 Commit: b2bf3f5230666f311d23910dcb9abf17f615e868 Parents: 1110aed Author: Ramkrishna ramkrishna.s.vasude...@intel.com Authored: Thu Sep 25 16:04:32 2014 +0530 Committer: Ramkrishna ramkrishna.s.vasude...@intel.com Committed: Thu Sep 25 16:04:32 2014 +0530 -- .../query/ConnectionQueryServicesImpl.java | 26 ++-- 1 file changed, 19 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/b2bf3f52/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 987d200..a0fb614 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 @@ -17,10 +17,6 @@ */ package org.apache.phoenix.query; -import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.CYCLE_FLAG; -import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.LIMIT_REACHED_FLAG; -import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.MAX_VALUE; -import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.MIN_VALUE; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES; import static org.apache.phoenix.query.QueryServicesOptions.DEFAULT_DROP_METADATA; @@ -1518,12 +1514,28 @@ public class ConnectionQueryServicesImpl extends DelegateQueryServices implement } try { metaConnection.createStatement().executeUpdate(QueryConstants.CREATE_SEQUENCE_METADATA); - -// TODO : Get this from a configuration +} catch (NewerTableAlreadyExistsException ignore) { +// Ignore, as this will happen if the SYSTEM.SEQUENCE already exists at this fixed timestamp. +// A TableAlreadyExistsException is not thrown, since the table only exists *after* this fixed timestamp. + +} catch (TableAlreadyExistsException ignore) { +// This will occur if we have an older SYSTEM.SEQUENCE, so we need to update it to include +// any new columns we've added. +String newColumns = PhoenixDatabaseMetaData.MIN_VALUE + + PDataType.LONG.getSqlTypeName() + , ++ PhoenixDatabaseMetaData.MAX_VALUE + + PDataType.LONG.getSqlTypeName() + , + PhoenixDatabaseMetaData.CYCLE_FLAG + ++ PDataType.BOOLEAN.getSqlTypeName() + , + PhoenixDatabaseMetaData.LIMIT_REACHED_FLAG + ++ PDataType.BOOLEAN.getSqlTypeName(); +metaConnection = addColumnsIfNotExists(metaConnection, + PhoenixDatabaseMetaData.SEQUENCE_TABLE_NAME, + MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP, newColumns); +} +try { metaConnection.createStatement().executeUpdate( QueryConstants.CREATE_STATS_TABLE_METADATA); } catch (NewerTableAlreadyExistsException ignore) { -} catch (TableAlreadyExistsException ignore) { + +} catch(TableAlreadyExistsException ignore) { + } } catch (Exception e) { if (e instanceof SQLException) {
git commit: Phoenix-1275 SYSTEM.STATS table is not created when SYSTEM.CATALOG is already present
Repository: phoenix Updated Branches: refs/heads/3.0 7ebb87e7d - 87fe59e5b Phoenix-1275 SYSTEM.STATS table is not created when SYSTEM.CATALOG is already present Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/87fe59e5 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/87fe59e5 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/87fe59e5 Branch: refs/heads/3.0 Commit: 87fe59e5bca692397771e4fdfe298e90eff49384 Parents: 7ebb87e Author: Ramkrishna ramkrishna.s.vasude...@intel.com Authored: Thu Sep 25 16:21:00 2014 +0530 Committer: Ramkrishna ramkrishna.s.vasude...@intel.com Committed: Thu Sep 25 16:21:00 2014 +0530 -- .../phoenix/query/ConnectionQueryServicesImpl.java | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/87fe59e5/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 0676e86..926407a 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 @@ -1295,9 +1295,6 @@ public class ConnectionQueryServicesImpl extends DelegateQueryServices implement ConnectionQueryServicesImpl.this, url, scnProps, newEmptyMetaData()); try { metaConnection.createStatement().executeUpdate(QueryConstants.CREATE_TABLE_METADATA); -// TODO : Get this from a configuration -metaConnection.createStatement().executeUpdate( - QueryConstants.CREATE_STATS_TABLE_METADATA); } catch (NewerTableAlreadyExistsException ignore) { // Ignore, as this will happen if the SYSTEM.CATALOG already exists at this fixed timestamp. // A TableAlreadyExistsException is not thrown, since the table only exists *after* this fixed timestamp. @@ -1326,6 +1323,14 @@ public class ConnectionQueryServicesImpl extends DelegateQueryServices implement metaConnection = addColumnsIfNotExists(metaConnection, PhoenixDatabaseMetaData.SEQUENCE_TABLE_NAME, MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP, newColumns); } +try { +metaConnection.createStatement().executeUpdate( + QueryConstants.CREATE_STATS_TABLE_METADATA); +} catch (NewerTableAlreadyExistsException ignore) { + +} catch (TableAlreadyExistsException ignore) { + +} } catch (Exception e) { if (e instanceof SQLException) { initializationException = (SQLException)e;
Build failed in Jenkins: Phoenix | Master | Hadoop1 #382
See https://builds.apache.org/job/Phoenix-master-hadoop1/382/changes Changes: [ramkrishna] Phoenix-1275 SYSTEM.STATS table is not created when SYSTEM.CATALOG is -- [...truncated 807 lines...] at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29497) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2027) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:98) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.phoenix.memory.InsufficientMemoryException: Requested memory of 104000 bytes is larger than global pool of 4 bytes. at org.apache.phoenix.memory.GlobalMemoryManager.allocateBytes(GlobalMemoryManager.java:72) at org.apache.phoenix.memory.GlobalMemoryManager.allocate(GlobalMemoryManager.java:100) at org.apache.phoenix.memory.GlobalMemoryManager.allocate(GlobalMemoryManager.java:106) at org.apache.phoenix.coprocessor.ScanRegionObserver.getTopNScanner(ScanRegionObserver.java:234) at org.apache.phoenix.coprocessor.ScanRegionObserver.doPostScannerOpen(ScanRegionObserver.java:221) at org.apache.phoenix.coprocessor.BaseScannerRegionObserver.postScannerOpen(BaseScannerRegionObserver.java:134) ... 8 more at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:262) at java.util.concurrent.FutureTask.get(FutureTask.java:119) at org.apache.phoenix.iterate.ParallelIterators.getIterators(ParallelIterators.java:280) at org.apache.phoenix.iterate.MergeSortResultIterator.getIterators(MergeSortResultIterator.java:48) at org.apache.phoenix.iterate.MergeSortResultIterator.minIterator(MergeSortResultIterator.java:63) at org.apache.phoenix.iterate.MergeSortResultIterator.next(MergeSortResultIterator.java:90) at org.apache.phoenix.iterate.MergeSortTopNResultIterator.next(MergeSortTopNResultIterator.java:87) at org.apache.phoenix.jdbc.PhoenixResultSet.next(PhoenixResultSet.java:732) at org.apache.phoenix.end2end.SortOrderFIT.runQuery(SortOrderFIT.java:396) at org.apache.phoenix.end2end.SortOrderFIT.runQueryTest(SortOrderFIT.java:353) at org.apache.phoenix.end2end.SortOrderFIT.queryDescDateWithExplicitOrderBy(SortOrderFIT.java:251) Caused by: org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.DoNotRetryIOException: DESCCOLUMNSORTORDERTEST,,1411642454947.35d84ba17616bad89a1ed754e96608e6.: Requested memory of 104000 bytes is larger than global pool of 4 bytes. at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:77) at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:45) at org.apache.phoenix.coprocessor.BaseScannerRegionObserver.postScannerOpen(BaseScannerRegionObserver.java:152) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postScannerOpen(RegionCoprocessorHost.java:1845) at org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3092) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29497) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2027) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:98) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.phoenix.memory.InsufficientMemoryException: Requested memory of 104000 bytes is larger than global pool of 4 bytes. at org.apache.phoenix.memory.GlobalMemoryManager.allocateBytes(GlobalMemoryManager.java:72) at org.apache.phoenix.memory.GlobalMemoryManager.allocate(GlobalMemoryManager.java:100) at org.apache.phoenix.memory.GlobalMemoryManager.allocate(GlobalMemoryManager.java:106) at org.apache.phoenix.coprocessor.ScanRegionObserver.getTopNScanner(ScanRegionObserver.java:234) at org.apache.phoenix.coprocessor.ScanRegionObserver.doPostScannerOpen(ScanRegionObserver.java:221) at org.apache.phoenix.coprocessor.BaseScannerRegionObserver.postScannerOpen(BaseScannerRegionObserver.java:134) ... 8 more at org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:101) at org.apache.phoenix.iterate.TableResultIterator.init(TableResultIterator.java:57) at org.apache.phoenix.iterate.ParallelIterators$3.call(ParallelIterators.java:362) at org.apache.phoenix.iterate.ParallelIterators$3.call(ParallelIterators.java:357) at
Apache-Phoenix | 4.0 | Hadoop1 | Build Successful
4.0 branch build status Successful Source repository https://git-wip-us.apache.org/repos/asf/incubator-phoenix.git Compiled Artifacts https://builds.apache.org/job/Phoenix-4.0-hadoop1/lastSuccessfulBuild/artifact/ Test Report https://builds.apache.org/job/Phoenix-4.0-hadoop1/lastCompletedBuild/testReport/ Changes [ramkrishna] Phoenix-1275 SYSTEM.STATS table is not created when SYSTEM.CATALOG is
git commit: PHOENIX-1281 Each MultiKeyValueTuple.setKeyValues creates a new immutable list object.
Repository: phoenix Updated Branches: refs/heads/4.0 b2bf3f523 - 349d04fda PHOENIX-1281 Each MultiKeyValueTuple.setKeyValues creates a new immutable list object. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/349d04fd Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/349d04fd Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/349d04fd Branch: refs/heads/4.0 Commit: 349d04fda90e5d0e0a080c6ca46693c890dc1046 Parents: b2bf3f5 Author: Lars Hofhansl la...@apache.org Authored: Thu Sep 25 08:43:33 2014 -0700 Committer: Lars Hofhansl la...@apache.org Committed: Thu Sep 25 08:43:53 2014 -0700 -- .../java/org/apache/phoenix/coprocessor/ScanRegionObserver.java | 4 +++- .../org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java | 5 ++--- 2 files changed, 5 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/349d04fd/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java index 548aadb..8c72dd5 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java @@ -63,6 +63,7 @@ import org.apache.phoenix.util.IndexUtil; import org.apache.phoenix.util.ScanUtil; import org.apache.phoenix.util.ServerUtil; +import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; @@ -405,7 +406,8 @@ public class ScanRegionObserver extends BaseScannerRegionObserver { private void replaceArrayIndexElement(final SetKeyValueColumnExpression arrayKVRefs, final Expression[] arrayFuncRefs, ListCell result) { -MultiKeyValueTuple tuple = new MultiKeyValueTuple(result); +// make a copy of the results array here, as we're modifying it below +MultiKeyValueTuple tuple = new MultiKeyValueTuple(ImmutableList.copyOf(result)); // The size of both the arrays would be same? // Using KeyValueSchema to set and retrieve the value // collect the first kv to get the row http://git-wip-us.apache.org/repos/asf/phoenix/blob/349d04fd/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java index 255c54e..53f155b 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java @@ -24,8 +24,6 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.phoenix.hbase.index.util.GenericKeyValueBuilder; import org.apache.phoenix.util.KeyValueUtil; -import com.google.common.collect.ImmutableList; - public class MultiKeyValueTuple extends BaseTuple { private ListCell values; @@ -37,8 +35,9 @@ public class MultiKeyValueTuple extends BaseTuple { public MultiKeyValueTuple() { } +/** Caller must not modify the list that is passed here */ public void setKeyValues(ListCell values) { -this.values = ImmutableList.copyOf(values); +this.values = values; } @Override
git commit: PHOENIX-1281 Each MultiKeyValueTuple.setKeyValues creates a new immutable list object.
Repository: phoenix Updated Branches: refs/heads/master 940b70d65 - ea5a797eb PHOENIX-1281 Each MultiKeyValueTuple.setKeyValues creates a new immutable list object. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/ea5a797e Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/ea5a797e Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/ea5a797e Branch: refs/heads/master Commit: ea5a797ebcd611670c5400aa7aaae3b3b414c43d Parents: 940b70d Author: Lars Hofhansl la...@apache.org Authored: Thu Sep 25 08:43:33 2014 -0700 Committer: Lars Hofhansl la...@apache.org Committed: Thu Sep 25 08:43:33 2014 -0700 -- .../java/org/apache/phoenix/coprocessor/ScanRegionObserver.java | 4 +++- .../org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java | 5 ++--- 2 files changed, 5 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/ea5a797e/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java index 548aadb..8c72dd5 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java @@ -63,6 +63,7 @@ import org.apache.phoenix.util.IndexUtil; import org.apache.phoenix.util.ScanUtil; import org.apache.phoenix.util.ServerUtil; +import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; @@ -405,7 +406,8 @@ public class ScanRegionObserver extends BaseScannerRegionObserver { private void replaceArrayIndexElement(final SetKeyValueColumnExpression arrayKVRefs, final Expression[] arrayFuncRefs, ListCell result) { -MultiKeyValueTuple tuple = new MultiKeyValueTuple(result); +// make a copy of the results array here, as we're modifying it below +MultiKeyValueTuple tuple = new MultiKeyValueTuple(ImmutableList.copyOf(result)); // The size of both the arrays would be same? // Using KeyValueSchema to set and retrieve the value // collect the first kv to get the row http://git-wip-us.apache.org/repos/asf/phoenix/blob/ea5a797e/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java index 255c54e..53f155b 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java @@ -24,8 +24,6 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.phoenix.hbase.index.util.GenericKeyValueBuilder; import org.apache.phoenix.util.KeyValueUtil; -import com.google.common.collect.ImmutableList; - public class MultiKeyValueTuple extends BaseTuple { private ListCell values; @@ -37,8 +35,9 @@ public class MultiKeyValueTuple extends BaseTuple { public MultiKeyValueTuple() { } +/** Caller must not modify the list that is passed here */ public void setKeyValues(ListCell values) { -this.values = ImmutableList.copyOf(values); +this.values = values; } @Override
git commit: PHOENIX-1281 Each MultiKeyValueTuple.setKeyValues creates a new immutable list object.
Repository: phoenix Updated Branches: refs/heads/3.0 87fe59e5b - 2d250fbff PHOENIX-1281 Each MultiKeyValueTuple.setKeyValues creates a new immutable list object. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/2d250fbf Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/2d250fbf Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/2d250fbf Branch: refs/heads/3.0 Commit: 2d250fbff324baad75af7bd1fe1879e602fede1d Parents: 87fe59e Author: Lars Hofhansl la...@apache.org Authored: Thu Sep 25 08:50:22 2014 -0700 Committer: Lars Hofhansl la...@apache.org Committed: Thu Sep 25 08:50:22 2014 -0700 -- .../java/org/apache/phoenix/coprocessor/ScanRegionObserver.java | 5 - .../org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java | 5 ++--- 2 files changed, 6 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/2d250fbf/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java index b5682af..4389426 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java @@ -25,7 +25,9 @@ import java.io.IOException; import java.util.List; import java.util.Set; +import com.google.common.collect.ImmutableList; import com.google.common.collect.Sets; + import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HRegionInfo; import org.apache.hadoop.hbase.KeyValue; @@ -375,7 +377,8 @@ public class ScanRegionObserver extends BaseScannerRegionObserver { private void replaceArrayIndexElement(final SetKeyValueColumnExpression arrayKVRefs, final Expression[] arrayFuncRefs, ListKeyValue result) { -MultiKeyValueTuple tuple = new MultiKeyValueTuple(result); +// make a copy of the results array here, as we're modifying it below +MultiKeyValueTuple tuple = new MultiKeyValueTuple(ImmutableList.copyOf(result)); // The size of both the arrays would be same? // Using KeyValueSchema to set and retrieve the value // collect the first kv to get the row http://git-wip-us.apache.org/repos/asf/phoenix/blob/2d250fbf/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java index 7380d1d..dd35aef 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/MultiKeyValueTuple.java @@ -24,8 +24,6 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.phoenix.hbase.index.util.GenericKeyValueBuilder; import org.apache.phoenix.util.KeyValueUtil; -import com.google.common.collect.ImmutableList; - public class MultiKeyValueTuple extends BaseTuple { private ListKeyValue values; @@ -37,8 +35,9 @@ public class MultiKeyValueTuple extends BaseTuple { public MultiKeyValueTuple() { } +/** Caller must not modify the list that is passed here */ public void setKeyValues(ListKeyValue values) { -this.values = ImmutableList.copyOf(values); +this.values = values; } @Override
Build failed in Jenkins: Phoenix | Master | Hadoop1 #383
See https://builds.apache.org/job/Phoenix-master-hadoop1/383/changes Changes: [larsh] PHOENIX-1281 Each MultiKeyValueTuple.setKeyValues creates a new immutable list object. -- [...truncated 653 lines...] at org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:101) at org.apache.phoenix.iterate.TableResultIterator.init(TableResultIterator.java:57) at org.apache.phoenix.iterate.ParallelIterators$3.call(ParallelIterators.java:362) at org.apache.phoenix.iterate.ParallelIterators$3.call(ParallelIterators.java:357) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.hadoop.hbase.DoNotRetryIOException: org.apache.hadoop.hbase.DoNotRetryIOException: _LOCAL_IDX_T,e\x00\x00\x00\x00\x00\x00\x00\x00\x00,1411660419823.d785014a3005655ccdd68d85075dd73e.: Requested memory of 21196 bytes could not be allocated from remaining memory of 21196 bytes from global pool of 4 bytes after waiting for 0ms. at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:77) at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:45) at org.apache.phoenix.coprocessor.BaseScannerRegionObserver.postScannerOpen(BaseScannerRegionObserver.java:152) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postScannerOpen(RegionCoprocessorHost.java:1845) at org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3092) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29497) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2027) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:98) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.phoenix.memory.InsufficientMemoryException: Requested memory of 21196 bytes could not be allocated from remaining memory of 21196 bytes from global pool of 4 bytes after waiting for 0ms. at org.apache.phoenix.memory.GlobalMemoryManager.allocateBytes(GlobalMemoryManager.java:81) at org.apache.phoenix.memory.GlobalMemoryManager.allocate(GlobalMemoryManager.java:100) at org.apache.phoenix.memory.GlobalMemoryManager.allocate(GlobalMemoryManager.java:106) at org.apache.phoenix.cache.aggcache.SpillableGroupByCache.init(SpillableGroupByCache.java:150) at org.apache.phoenix.coprocessor.GroupedAggregateRegionObserver$GroupByCacheFactory.newCache(GroupedAggregateRegionObserver.java:362) at org.apache.phoenix.coprocessor.GroupedAggregateRegionObserver.scanUnordered(GroupedAggregateRegionObserver.java:397) at org.apache.phoenix.coprocessor.GroupedAggregateRegionObserver.doPostScannerOpen(GroupedAggregateRegionObserver.java:160) at org.apache.phoenix.coprocessor.BaseScannerRegionObserver.postScannerOpen(BaseScannerRegionObserver.java:134) ... 8 more at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106) at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95) at org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRemoteException(ProtobufUtil.java:285) at org.apache.hadoop.hbase.client.ScannerCallable.openScanner(ScannerCallable.java:316) at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:164) at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:59) at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:114) at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90) at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:282) at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:187) at org.apache.hadoop.hbase.client.ClientScanner.init(ClientScanner.java:182) at
Apache-Phoenix | 4.0 | Hadoop1 | Build Successful
4.0 branch build status Successful Source repository https://git-wip-us.apache.org/repos/asf/incubator-phoenix.git Compiled Artifacts https://builds.apache.org/job/Phoenix-4.0-hadoop1/lastSuccessfulBuild/artifact/ Test Report https://builds.apache.org/job/Phoenix-4.0-hadoop1/lastCompletedBuild/testReport/ Changes [larsh] PHOENIX-1281 Each MultiKeyValueTuple.setKeyValues creates a new immutable list object.
[1/2] PHOENIX-1168 Support non-correlated sub-queries in where clause having a comparison operator with no modifier or a comparison operator modified by ANY, SOME or ALL
Repository: phoenix Updated Branches: refs/heads/master ea5a797eb - a0694b77c http://git-wip-us.apache.org/repos/asf/phoenix/blob/a0694b77/phoenix-core/src/main/java/org/apache/phoenix/execute/BaseQueryPlan.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/execute/BaseQueryPlan.java b/phoenix-core/src/main/java/org/apache/phoenix/execute/BaseQueryPlan.java index a74e0f1..d4c119b 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/execute/BaseQueryPlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/BaseQueryPlan.java @@ -150,7 +150,7 @@ public abstract class BaseQueryPlan implements QueryPlan { return iterator(Collections.SQLCloseableemptyList()); } -public final ResultIterator iterator(final ListSQLCloseable dependencies) throws SQLException { +public final ResultIterator iterator(final List? extends SQLCloseable dependencies) throws SQLException { if (context.getScanRanges() == ScanRanges.NOTHING) { return ResultIterator.EMPTY_ITERATOR; } http://git-wip-us.apache.org/repos/asf/phoenix/blob/a0694b77/phoenix-core/src/main/java/org/apache/phoenix/execute/HashJoinPlan.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/execute/HashJoinPlan.java b/phoenix-core/src/main/java/org/apache/phoenix/execute/HashJoinPlan.java index 6154c88..0d09f79 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/execute/HashJoinPlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/HashJoinPlan.java @@ -17,14 +17,14 @@ */ package org.apache.phoenix.execute; -import static java.util.Collections.emptyMap; import static org.apache.phoenix.util.LogUtil.addCustomAnnotations; import java.sql.ParameterMetaData; import java.sql.SQLException; -import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; @@ -36,6 +36,7 @@ import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp; import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.phoenix.cache.ServerCacheClient.ServerCache; +import org.apache.phoenix.compile.ColumnProjector; import org.apache.phoenix.compile.ExplainPlan; import org.apache.phoenix.compile.FromCompiler; import org.apache.phoenix.compile.GroupByCompiler.GroupBy; @@ -45,12 +46,14 @@ import org.apache.phoenix.compile.RowProjector; import org.apache.phoenix.compile.ScanRanges; import org.apache.phoenix.compile.StatementContext; import org.apache.phoenix.compile.WhereCompiler; +import org.apache.phoenix.exception.SQLExceptionCode; +import org.apache.phoenix.exception.SQLExceptionInfo; import org.apache.phoenix.expression.AndExpression; import org.apache.phoenix.expression.ComparisonExpression; import org.apache.phoenix.expression.Expression; import org.apache.phoenix.expression.InListExpression; import org.apache.phoenix.expression.LiteralExpression; -import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr; +import org.apache.phoenix.expression.RowValueConstructorExpression; import org.apache.phoenix.iterate.ResultIterator; import org.apache.phoenix.jdbc.PhoenixConnection; import org.apache.phoenix.job.JobManager.JobCallable; @@ -66,9 +69,11 @@ import org.apache.phoenix.query.ConnectionQueryServices; import org.apache.phoenix.query.KeyRange; import org.apache.phoenix.query.QueryServices; import org.apache.phoenix.query.QueryServicesOptions; +import org.apache.phoenix.schema.PArrayDataType; import org.apache.phoenix.schema.PDataType; import org.apache.phoenix.schema.PTable; import org.apache.phoenix.schema.TableRef; +import org.apache.phoenix.schema.tuple.Tuple; import org.apache.phoenix.util.SQLCloseable; import org.apache.phoenix.util.SQLCloseables; @@ -80,29 +85,43 @@ public class HashJoinPlan implements QueryPlan { private final FilterableStatement statement; private final BaseQueryPlan plan; private final HashJoinInfo joinInfo; -private final ListExpression[] hashExpressions; -private final Expression[] keyRangeLhsExpressions; -private final Expression[] keyRangeRhsExpressions; -private final QueryPlan[] hashPlans; -private final TupleProjector[] clientProjectors; -private final boolean[] hasFilters; +private final SubPlan[] subPlans; +private final boolean recompileWhereClause; private final boolean forceHashJoinRangeScan; private final boolean forceHashJoinSkipScan; - -public HashJoinPlan(FilterableStatement statement, -BaseQueryPlan plan, HashJoinInfo joinInfo, -ListExpression[] hashExpressions, Expression[]
Build failed in Jenkins: Phoenix | Master | Hadoop1 #384
See https://builds.apache.org/job/Phoenix-master-hadoop1/384/changes Changes: [maryannxue] PHOENIX-1168 Support non-correlated sub-queries in where clause having a comparison operator with no modifier or a comparison operator modified by ANY, SOME or ALL -- [...truncated 1593 lines...] at org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:101) at org.apache.phoenix.iterate.TableResultIterator.init(TableResultIterator.java:57) at org.apache.phoenix.iterate.ParallelIterators$3.call(ParallelIterators.java:362) at org.apache.phoenix.iterate.ParallelIterators$3.call(ParallelIterators.java:357) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.hadoop.hbase.DoNotRetryIOException: org.apache.hadoop.hbase.DoNotRetryIOException: _LOCAL_IDX_T,,1411663117475.0da184881508acdc006744b4be1e7573.: Requested memory of 21196 bytes could not be allocated from remaining memory of 21196 bytes from global pool of 4 bytes after waiting for 0ms. at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:77) at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:45) at org.apache.phoenix.coprocessor.BaseScannerRegionObserver.postScannerOpen(BaseScannerRegionObserver.java:152) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postScannerOpen(RegionCoprocessorHost.java:1845) at org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3092) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29497) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2027) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:98) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.phoenix.memory.InsufficientMemoryException: Requested memory of 21196 bytes could not be allocated from remaining memory of 21196 bytes from global pool of 4 bytes after waiting for 0ms. at org.apache.phoenix.memory.GlobalMemoryManager.allocateBytes(GlobalMemoryManager.java:81) at org.apache.phoenix.memory.GlobalMemoryManager.allocate(GlobalMemoryManager.java:100) at org.apache.phoenix.memory.GlobalMemoryManager.allocate(GlobalMemoryManager.java:106) at org.apache.phoenix.cache.aggcache.SpillableGroupByCache.init(SpillableGroupByCache.java:150) at org.apache.phoenix.coprocessor.GroupedAggregateRegionObserver$GroupByCacheFactory.newCache(GroupedAggregateRegionObserver.java:362) at org.apache.phoenix.coprocessor.GroupedAggregateRegionObserver.scanUnordered(GroupedAggregateRegionObserver.java:397) at org.apache.phoenix.coprocessor.GroupedAggregateRegionObserver.doPostScannerOpen(GroupedAggregateRegionObserver.java:160) at org.apache.phoenix.coprocessor.BaseScannerRegionObserver.postScannerOpen(BaseScannerRegionObserver.java:134) ... 8 more at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106) at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95) at org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRemoteException(ProtobufUtil.java:285) at org.apache.hadoop.hbase.client.ScannerCallable.openScanner(ScannerCallable.java:316) at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:164) at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:59) at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:114) at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90) at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:282) at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:187) at org.apache.hadoop.hbase.client.ClientScanner.init(ClientScanner.java:182)
Build failed in Jenkins: Phoenix | 4.0 | Hadoop1 #334
See https://builds.apache.org/job/Phoenix-4.0-hadoop1/334/changes Changes: [maryannxue] PHOENIX-1168 Support non-correlated sub-queries in where clause having a comparison operator with no modifier or a comparison operator modified by ANY, SOME or ALL -- [...truncated 1413 lines...] Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.731 sec - in org.apache.phoenix.end2end.PercentileIT Running org.apache.phoenix.end2end.StatsManagerIT Tests run: 49, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 42.919 sec - in org.apache.phoenix.end2end.CastAndCoerceIT Running org.apache.phoenix.end2end.CaseStatementIT Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.066 sec - in org.apache.phoenix.end2end.ColumnProjectionOptimizationIT Running org.apache.phoenix.end2end.ToCharFunctionIT Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.864 sec - in org.apache.phoenix.end2end.ToCharFunctionIT Running org.apache.phoenix.end2end.salted.SaltedTableIT Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.055 sec - in org.apache.phoenix.end2end.DistinctCountIT Running org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.202 sec - in org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT Running org.apache.phoenix.end2end.UpsertSelectIT Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.142 sec - in org.apache.phoenix.end2end.salted.SaltedTableIT Running org.apache.phoenix.end2end.StddevIT Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.39 sec - in org.apache.phoenix.end2end.StatsManagerIT Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.47 sec - in org.apache.phoenix.end2end.StddevIT Running org.apache.phoenix.end2end.ProductMetricsIT Running org.apache.phoenix.end2end.NotQueryIT Tests run: 182, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 146.734 sec - in org.apache.phoenix.end2end.QueryIT Running org.apache.phoenix.end2end.ReadIsolationLevelIT Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.637 sec - in org.apache.phoenix.end2end.ReadIsolationLevelIT Running org.apache.phoenix.end2end.CreateTableIT Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.503 sec - in org.apache.phoenix.end2end.UpsertSelectIT Running org.apache.phoenix.end2end.CompareDecimalToLongIT Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.689 sec - in org.apache.phoenix.end2end.CompareDecimalToLongIT Running org.apache.phoenix.end2end.OrderByIT Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.8 sec - in org.apache.phoenix.end2end.OrderByIT Tests run: 61, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.697 sec - in org.apache.phoenix.end2end.ProductMetricsIT Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.587 sec - in org.apache.phoenix.end2end.CreateTableIT Tests run: 63, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 44.849 sec - in org.apache.phoenix.end2end.CaseStatementIT Tests run: 77, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.589 sec - in org.apache.phoenix.end2end.NotQueryIT Results : Tests in error: ArrayIT.testArraySelectWithANYUsingVarLengthArray:615 ? PhoenixIO org.apache.p... ArrayIT.testArraySelectWithALL:531 ? PhoenixIO org.apache.phoenix.exception.Ph... ArrayIT.testArraySelectWithANY:502 ? PhoenixIO org.apache.phoenix.exception.Ph... ArrayIT.testArraySelectWithALLCombinedWithOR:584 ? PhoenixIO org.apache.phoeni... ArrayIT.testArraySelectWithANYCombinedWithOR:555 ? PhoenixIO org.apache.phoeni... Tests run: 1270, Failures: 0, Errors: 5, Skipped: 0 [INFO] [INFO] --- maven-failsafe-plugin:2.17:integration-test (HBaseManagedTimeTests) @ phoenix-core --- [INFO] Failsafe report directory: https://builds.apache.org/job/Phoenix-4.0-hadoop1/ws/phoenix-core/target/failsafe-reports [INFO] parallel='none', perCoreThreadCount=true, threadCount=0, useUnlimitedThreads=false, threadCountSuites=0, threadCountClasses=0, threadCountMethods=0, parallelOptimized=true --- T E S T S --- --- T E S T S --- Running org.apache.phoenix.end2end.UpsertSelectAutoCommitIT Running org.apache.phoenix.trace.PhoenixTableMetricsWriterIT Running org.apache.phoenix.trace.PhoenixTracingEndToEndIT Running org.apache.phoenix.end2end.BinaryRowKeyIT Running org.apache.phoenix.trace.PhoenixTraceReaderIT Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.511 sec - in org.apache.phoenix.trace.PhoenixTableMetricsWriterIT Running org.apache.phoenix.end2end.DynamicFamilyIT Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.188 sec - in
Build failed in Jenkins: Phoenix | 4.0 | Hadoop2 #165
See https://builds.apache.org/job/Phoenix-4.0-hadoop2/165/changes Changes: [larsh] PHOENIX-1281 Each MultiKeyValueTuple.setKeyValues creates a new immutable list object. [maryannxue] PHOENIX-1168 Support non-correlated sub-queries in where clause having a comparison operator with no modifier or a comparison operator modified by ANY, SOME or ALL -- [...truncated 1431 lines...] at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:114) at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90) at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:354) at org.apache.phoenix.iterate.ScanningResultIterator.next(ScanningResultIterator.java:47) at org.apache.phoenix.iterate.TableResultIterator.next(TableResultIterator.java:76) at org.apache.phoenix.iterate.ChunkedResultIterator$SingleChunkResultIterator.next(ChunkedResultIterator.java:146) at org.apache.phoenix.iterate.SpoolingResultIterator.init(SpoolingResultIterator.java:110) at org.apache.phoenix.iterate.SpoolingResultIterator.init(SpoolingResultIterator.java:74) at org.apache.phoenix.iterate.SpoolingResultIterator$SpoolingResultIteratorFactory.newIterator(SpoolingResultIterator.java:68) at org.apache.phoenix.iterate.ChunkedResultIterator.init(ChunkedResultIterator.java:89) at org.apache.phoenix.iterate.ChunkedResultIterator$ChunkedResultIteratorFactory.newIterator(ChunkedResultIterator.java:69) at org.apache.phoenix.iterate.ParallelIterators$3.call(ParallelIterators.java:366) at org.apache.phoenix.iterate.ParallelIterators$3.call(ParallelIterators.java:357) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.508 sec - in org.apache.phoenix.end2end.ExtendedQueryExecIT Running org.apache.phoenix.end2end.DynamicUpsertIT Running org.apache.phoenix.end2end.NativeHBaseTypesIT Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.005 sec - in org.apache.phoenix.end2end.DynamicUpsertIT Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.309 sec - in org.apache.phoenix.end2end.NativeHBaseTypesIT Running org.apache.phoenix.end2end.DynamicColumnIT Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.859 sec - in org.apache.phoenix.end2end.DynamicColumnIT Tests run: 49, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 43.045 sec - in org.apache.phoenix.end2end.CastAndCoerceIT Tests run: 182, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 143.996 sec - in org.apache.phoenix.end2end.QueryIT Tests run: 203, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 142.714 sec - in org.apache.phoenix.end2end.ClientTimeArithmeticQueryIT Results : Tests in error: ArrayIT.testArraySelectWithANYUsingVarLengthArray:615 ? PhoenixIO org.apache.p... ArrayIT.testArraySelectWithALL:531 ? PhoenixIO org.apache.phoenix.exception.Ph... ArrayIT.testArraySelectWithANY:502 ? PhoenixIO org.apache.phoenix.exception.Ph... ArrayIT.testArraySelectWithALLCombinedWithOR:584 ? PhoenixIO org.apache.phoeni... ArrayIT.testArraySelectWithANYCombinedWithOR:555 ? PhoenixIO org.apache.phoeni... Tests run: 1270, Failures: 0, Errors: 5, Skipped: 0 [INFO] [INFO] --- maven-failsafe-plugin:2.17:integration-test (HBaseManagedTimeTests) @ phoenix-core --- [INFO] Failsafe report directory: https://builds.apache.org/job/Phoenix-4.0-hadoop2/ws/phoenix-core/target/failsafe-reports [INFO] parallel='none', perCoreThreadCount=true, threadCount=0, useUnlimitedThreads=false, threadCountSuites=0, threadCountClasses=0, threadCountMethods=0, parallelOptimized=true --- T E S T S --- --- T E S T S --- Running org.apache.phoenix.trace.PhoenixTraceReaderIT Running org.apache.phoenix.end2end.index.LocalIndexIT Running org.apache.phoenix.trace.PhoenixTableMetricsWriterIT Running org.apache.phoenix.end2end.index.DropViewIT Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.463 sec - in org.apache.phoenix.trace.PhoenixTraceReaderIT Running org.apache.phoenix.end2end.index.SaltedIndexIT Running org.apache.phoenix.trace.PhoenixTracingEndToEndIT Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.447 sec - in org.apache.phoenix.trace.PhoenixTableMetricsWriterIT Running
[2/2] git commit: PHOENIX-1168 Support non-correlated sub-queries in where clause having a comparison operator with no modifier or a comparison operator modified by ANY, SOME or ALL
PHOENIX-1168 Support non-correlated sub-queries in where clause having a comparison operator with no modifier or a comparison operator modified by ANY, SOME or ALL Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/9dd3bc74 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/9dd3bc74 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/9dd3bc74 Branch: refs/heads/3.0 Commit: 9dd3bc74b6bc836847e90df0c0e0ea7cec93986a Parents: 2d250fb Author: maryannxue maryann...@apache.org Authored: Thu Sep 25 14:37:55 2014 -0400 Committer: maryannxue maryann...@apache.org Committed: Thu Sep 25 14:37:55 2014 -0400 -- .../org/apache/phoenix/end2end/HashJoinIT.java | 264 +++ phoenix-core/src/main/antlr3/PhoenixSQL.g | 4 +- .../phoenix/compile/ExpressionCompiler.java | 37 +++ .../apache/phoenix/compile/JoinCompiler.java| 7 + .../apache/phoenix/compile/QueryCompiler.java | 57 ++-- .../phoenix/compile/StatementContext.java | 18 ++ .../phoenix/compile/StatementNormalizer.java| 17 +- .../apache/phoenix/compile/WhereCompiler.java | 45 ++- .../phoenix/exception/SQLExceptionCode.java | 1 + .../apache/phoenix/execute/BasicQueryPlan.java | 2 +- .../apache/phoenix/execute/HashJoinPlan.java| 323 +-- .../expression/ComparisonExpression.java| 3 +- .../apache/phoenix/parse/ParseNodeFactory.java | 18 +- .../apache/phoenix/parse/ParseNodeRewriter.java | 36 ++- .../apache/phoenix/parse/ParseNodeVisitor.java | 6 +- .../phoenix/parse/SelectStatementRewriter.java | 13 + .../StatelessTraverseAllParseNodeVisitor.java | 5 + .../apache/phoenix/parse/SubqueryParseNode.java | 8 +- .../parse/TraverseAllParseNodeVisitor.java | 10 + .../parse/TraverseNoParseNodeVisitor.java | 15 + .../phoenix/compile/JoinQueryCompilerTest.java | 4 +- .../java/org/apache/phoenix/query/BaseTest.java | 22 +- 22 files changed, 711 insertions(+), 204 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/9dd3bc74/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java index c2c7298..5243a2e 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java @@ -118,7 +118,7 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { SERVER AGGREGATE INTO DISTINCT ROWS BY [I.NAME]\n + CLIENT MERGE SORT\n + CLIENT SORTED BY [I.NAME]\n + -PARALLEL EQUI-JOIN 1 HASH TABLES:\n + +PARALLEL EQUI/SEMI/ANTI-JOIN 1 TABLES:\n + BUILD HASH TABLE 0\n + CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ITEM_TABLE_DISPLAY_NAME, /* @@ -131,7 +131,7 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { SERVER AGGREGATE INTO DISTINCT ROWS BY [I.item_id]\n + CLIENT MERGE SORT\n + CLIENT SORTED BY [SUM(O.QUANTITY) DESC]\n + -PARALLEL EQUI-JOIN 1 HASH TABLES:\n + +PARALLEL EQUI/SEMI/ANTI-JOIN 1 TABLES:\n + BUILD HASH TABLE 0\n + CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ITEM_TABLE_DISPLAY_NAME + \n + SERVER FILTER BY FIRST KEY ONLY, @@ -146,7 +146,7 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY [I.item_id]\n + CLIENT MERGE SORT\n + CLIENT SORTED BY [SUM(O.QUANTITY) DESC NULLS LAST, I.item_id]\n + -PARALLEL EQUI-JOIN 1 HASH TABLES:\n + +PARALLEL EQUI/SEMI/ANTI-JOIN 1 TABLES:\n + BUILD HASH TABLE 0\n + CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ORDER_TABLE_DISPLAY_NAME, /* @@ -159,7 +159,7 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { SERVER AGGREGATE INTO DISTINCT ROWS BY [I.NAME]\n + CLIENT MERGE SORT\n + CLIENT SORTED BY [I.NAME]\n + -PARALLEL EQUI-JOIN 1 HASH TABLES:\n + +PARALLEL EQUI/SEMI/ANTI-JOIN 1 TABLES:\n + BUILD HASH TABLE 0\n + CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ORDER_TABLE_DISPLAY_NAME, /* @@ -173,7 +173,7 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT {
[1/2] PHOENIX-1168 Support non-correlated sub-queries in where clause having a comparison operator with no modifier or a comparison operator modified by ANY, SOME or ALL
Repository: phoenix Updated Branches: refs/heads/3.0 2d250fbff - 9dd3bc74b http://git-wip-us.apache.org/repos/asf/phoenix/blob/9dd3bc74/phoenix-core/src/main/java/org/apache/phoenix/execute/HashJoinPlan.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/execute/HashJoinPlan.java b/phoenix-core/src/main/java/org/apache/phoenix/execute/HashJoinPlan.java index 19a2789..66ad235 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/execute/HashJoinPlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/HashJoinPlan.java @@ -19,8 +19,9 @@ package org.apache.phoenix.execute; import java.sql.ParameterMetaData; import java.sql.SQLException; -import java.util.ArrayList; +import java.util.Collections; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; @@ -32,6 +33,7 @@ import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp; import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.phoenix.cache.ServerCacheClient.ServerCache; +import org.apache.phoenix.compile.ColumnProjector; import org.apache.phoenix.compile.ExplainPlan; import org.apache.phoenix.compile.GroupByCompiler.GroupBy; import org.apache.phoenix.compile.OrderByCompiler.OrderBy; @@ -41,12 +43,14 @@ import org.apache.phoenix.compile.RowProjector; import org.apache.phoenix.compile.ScanRanges; import org.apache.phoenix.compile.StatementContext; import org.apache.phoenix.compile.WhereCompiler; +import org.apache.phoenix.exception.SQLExceptionCode; +import org.apache.phoenix.exception.SQLExceptionInfo; import org.apache.phoenix.expression.AndExpression; import org.apache.phoenix.expression.ComparisonExpression; import org.apache.phoenix.expression.Expression; import org.apache.phoenix.expression.InListExpression; import org.apache.phoenix.expression.LiteralExpression; -import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr; +import org.apache.phoenix.expression.RowValueConstructorExpression; import org.apache.phoenix.iterate.ResultIterator; import org.apache.phoenix.job.JobManager.JobCallable; import org.apache.phoenix.join.HashCacheClient; @@ -61,9 +65,11 @@ import org.apache.phoenix.query.ConnectionQueryServices; import org.apache.phoenix.query.KeyRange; import org.apache.phoenix.query.QueryServices; import org.apache.phoenix.query.QueryServicesOptions; +import org.apache.phoenix.schema.PArrayDataType; import org.apache.phoenix.schema.PDataType; import org.apache.phoenix.schema.PTable; import org.apache.phoenix.schema.TableRef; +import org.apache.phoenix.schema.tuple.Tuple; import org.apache.phoenix.util.SQLCloseable; import org.apache.phoenix.util.SQLCloseables; @@ -75,29 +81,42 @@ public class HashJoinPlan implements QueryPlan { private final FilterableStatement statement; private final BasicQueryPlan plan; private final HashJoinInfo joinInfo; -private final ListExpression[] hashExpressions; -private final Expression[] keyRangeLhsExpressions; -private final Expression[] keyRangeRhsExpressions; -private final QueryPlan[] hashPlans; -private final TupleProjector[] clientProjectors; -private final boolean[] hasFilters; +private final SubPlan[] subPlans; +private final boolean recompileWhereClause; private final boolean forceHashJoinRangeScan; private final boolean forceHashJoinSkipScan; - -public HashJoinPlan(FilterableStatement statement, -BasicQueryPlan plan, HashJoinInfo joinInfo, -ListExpression[] hashExpressions, Expression[] keyRangeLhsExpressions, -Expression[] keyRangeRhsExpressions, QueryPlan[] hashPlans, -TupleProjector[] clientProjectors, boolean[] hasFilters) { +private ListSQLCloseable dependencies; +private HashCacheClient hashClient; +private int maxServerCacheTimeToLive; +private AtomicLong firstJobEndTime; +private ListExpression keyRangeExpressions; + +public static HashJoinPlan create(FilterableStatement statement, +QueryPlan plan, HashJoinInfo joinInfo, SubPlan[] subPlans) { +if (plan instanceof BasicQueryPlan) +return new HashJoinPlan(statement, (BasicQueryPlan) plan, joinInfo, subPlans, joinInfo == null); + +assert (plan instanceof HashJoinPlan); +HashJoinPlan hashJoinPlan = (HashJoinPlan) plan; +assert hashJoinPlan.joinInfo == null; +SubPlan[] mergedSubPlans = new SubPlan[hashJoinPlan.subPlans.length + subPlans.length]; +int i = 0; +for (SubPlan subPlan : hashJoinPlan.subPlans) { +mergedSubPlans[i++] = subPlan; +} +for (SubPlan subPlan : subPlans) { +mergedSubPlans[i++] = subPlan; +} +return
git commit: PHOENIX-180 Use stats to guide query parallelization (remove mistakenly checked-in files)
Repository: phoenix Updated Branches: refs/heads/3.0 9dd3bc74b - b4811ad7f PHOENIX-180 Use stats to guide query parallelization (remove mistakenly checked-in files) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/b4811ad7 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/b4811ad7 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/b4811ad7 Branch: refs/heads/3.0 Commit: b4811ad7f67cfee027692ee27a503898cd75fdcf Parents: 9dd3bc7 Author: maryannxue maryann...@apache.org Authored: Thu Sep 25 14:43:55 2014 -0400 Committer: maryannxue maryann...@apache.org Committed: Thu Sep 25 14:43:55 2014 -0400 -- .../schema/stat/PTableStatsImpl.java.orig | 68 -- .../schema/stat/PTableStatsImpl.java.rej| 74 2 files changed, 142 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/b4811ad7/phoenix-core/src/main/java/org/apache/phoenix/schema/stat/PTableStatsImpl.java.orig -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/stat/PTableStatsImpl.java.orig b/phoenix-core/src/main/java/org/apache/phoenix/schema/stat/PTableStatsImpl.java.orig deleted file mode 100644 index a6f6dae..000 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/stat/PTableStatsImpl.java.orig +++ /dev/null @@ -1,68 +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.schema.stat; - -import java.io.DataOutput; -import java.io.IOException; -import java.util.Map; -import java.util.Map.Entry; - -import org.apache.hadoop.hbase.HRegionInfo; -import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.io.WritableUtils; - -import com.google.common.collect.ImmutableMap; - - -/** - * Implementation for PTableStats. - */ -public class PTableStatsImpl implements PTableStats { - -// The map for guide posts should be immutable. We only take the current snapshot from outside -// method call and store it. -private MapString, byte[][] regionGuidePosts; - -public PTableStatsImpl() { } - -public PTableStatsImpl(MapString, byte[][] stats) { -regionGuidePosts = ImmutableMap.copyOf(stats); -} - -@Override -public byte[][] getRegionGuidePosts(HRegionInfo region) { -return regionGuidePosts.get(region.getRegionNameAsString()); -} - -@Override -public void write(DataOutput output) throws IOException { -if (regionGuidePosts == null) { -WritableUtils.writeVInt(output, 0); -return; -} -WritableUtils.writeVInt(output, regionGuidePosts.size()); -for (EntryString, byte[][] entry : regionGuidePosts.entrySet()) { -WritableUtils.writeString(output, entry.getKey()); -byte[][] value = entry.getValue(); -WritableUtils.writeVInt(output, value.length); -for (int i=0; ivalue.length; i++) { -Bytes.writeByteArray(output, value[i]); -} -} -} -} http://git-wip-us.apache.org/repos/asf/phoenix/blob/b4811ad7/phoenix-core/src/main/java/org/apache/phoenix/schema/stat/PTableStatsImpl.java.rej -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/stat/PTableStatsImpl.java.rej b/phoenix-core/src/main/java/org/apache/phoenix/schema/stat/PTableStatsImpl.java.rej deleted file mode 100644 index 2bfc847..000 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/stat/PTableStatsImpl.java.rej +++ /dev/null @@ -1,74 +0,0 @@ -*** -*** 16,55 - * limitations under the License. - */ - package org.apache.phoenix.schema.stat; - -- import java.util.Map; -- -- import org.apache.hadoop.hbase.HRegionInfo; -- -- import com.google.common.collect.ImmutableMap; -- -- -- /** - * Implementation for PTableStats. - */ - public class PTableStatsImpl implements PTableStats { - -- // The map for guide posts should
Jenkins build is back to normal : Phoenix | 4.0 | Hadoop2 #166
See https://builds.apache.org/job/Phoenix-4.0-hadoop2/166/changes
Build failed in Jenkins: Phoenix | 4.0 | Hadoop2 #167
See https://builds.apache.org/job/Phoenix-4.0-hadoop2/167/ -- [...truncated 788 lines...] remote: Counting objects: 5794 remote: Counting objects: 5795 remote: Counting objects: 5797 remote: Counting objects: 5802 remote: Counting objects: 5803 remote: Counting objects: 5805 remote: Counting objects: 5808 remote: Counting objects: 5810 remote: Counting objects: 5816 remote: Counting objects: 5817 remote: Counting objects: 5820 remote: Counting objects: 5821 remote: Counting objects: 5823 remote: Counting objects: 5827 remote: Counting objects: 5829 remote: Counting objects: 5834 remote: Counting objects: 5839 remote: Counting objects: 5844 remote: Counting objects: 5851 remote: Counting objects: 5865 remote: Counting objects: 5868 remote: Counting objects: 5883 remote: Counting objects: 5897 remote: Counting objects: 5900 remote: Counting objects: 5904 remote: Counting objects: 5919 remote: Counting objects: 5929 remote: Counting objects: 5931 remote: Counting objects: 5938 remote: Counting objects: 5953 remote: Counting objects: 5961 remote: Counting objects: 5966 remote: Counting objects: 5970 remote: Counting objects: 5985 remote: Counting objects: 5997 remote: Counting objects: 6003 remote: Counting objects: 6026 remote: Counting objects: 6042 remote: Counting objects: 6064 remote: Counting objects: 6102 remote: Counting objects: 6124 remote: Counting objects: 6136 remote: Counting objects: 6154 remote: Counting objects: 6157 remote: Counting objects: 6169 remote: Counting objects: 6180 remote: Counting objects: 6209 remote: Counting objects: 6255 remote: Counting objects: 6270 remote: Counting objects: 6290 remote: Counting objects: 6338 remote: Counting objects: 6396 remote: Counting objects: 6409 remote: Counting objects: 6462 remote: Counting objects: 6564 remote: Counting objects: 6619 remote: Counting objects: 6692 remote: Counting objects: 6707 remote: Counting objects: 6724 remote: Counting objects: 6830 remote: Counting objects: 6902 remote: Counting objects: 6974 remote: Counting objects: 7105 remote: Counting objects: 7159 remote: Counting objects: 7205 remote: Counting objects: 7341 remote: Counting objects: 7484 remote: Counting objects: 7527 remote: Counting objects: 7599 remote: Counting objects: 7613 remote: Counting objects: 7649 remote: Counting objects: 7737 remote: Counting objects: 7749 remote: Counting objects: 7799 remote: Counting objects: 7934 remote: Counting objects: 7969 remote: Counting objects: 7981 remote: Counting objects: 8280 remote: Counting objects: 8326 remote: Counting objects: 8337 remote: Counting objects: 8353 remote: Counting objects: 8401 remote: Counting objects: 8615 remote: Counting objects: 8674 remote: Counting objects: 8710 remote: Counting objects: 8760 remote: Counting objects: 8815 remote: Counting objects: 8886 remote: Counting objects: 8939 remote: Counting objects: 9004 remote: Counting objects: 9067 remote: Counting objects: 9082 remote: Counting objects: 9090 remote: Counting objects: 9158 remote: Counting objects: 9205 remote: Counting objects: 9256 remote: Counting objects: 9268 remote: Counting objects: 9289 remote: Counting objects: 9329 remote: Counting objects: 9432 remote: Counting objects: 9459 remote: Counting objects: 9460 remote: Counting objects: 9463 remote: Counting objects: 9516 remote: Counting objects: 9569 remote: Counting objects: 9625 remote: Counting objects: 9647 remote: Counting objects: 9671 remote: Counting objects: 9712 remote: Counting objects: 9742 remote: Counting objects: 9747 remote: Counting objects: 9751 remote: Counting objects: 9753 remote: Counting objects: 9755 remote: Counting objects: 9758 remote: Counting objects: 9768
git commit: Phoenix-1264 : Add StatisticsCollector to existing tables on first connection to cluster
Repository: phoenix Updated Branches: refs/heads/master 10efdb1f2 - 6b0461002 Phoenix-1264 : Add StatisticsCollector to existing tables on first connection to cluster Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/6b046100 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/6b046100 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/6b046100 Branch: refs/heads/master Commit: 6b04610022415fcc27ea69fe001cbd464badf355 Parents: 10efdb1 Author: Ramkrishna ramkrishna.s.vasude...@intel.com Authored: Fri Sep 26 11:21:40 2014 +0530 Committer: Ramkrishna ramkrishna.s.vasude...@intel.com Committed: Fri Sep 26 11:21:40 2014 +0530 -- ...efaultParallelIteratorsRegionSplitterIT.java | 15 ++ .../phoenix/end2end/GuidePostsLifeCycleIT.java | 22 +- .../org/apache/phoenix/end2end/KeyOnlyIT.java | 15 ++ .../phoenix/end2end/MultiCfQueryExecIT.java | 14 ++ .../phoenix/end2end/StatsCollectorIT.java | 44 ++-- .../coprocessor/BaseScannerRegionObserver.java | 1 + .../UngroupedAggregateRegionObserver.java | 72 +- .../DefaultParallelIteratorRegionSplitter.java | 30 +-- .../phoenix/query/ConnectionQueryServices.java | 3 - .../query/ConnectionQueryServicesImpl.java | 51 +--- .../query/ConnectionlessQueryServicesImpl.java | 6 - .../query/DelegateConnectionQueryServices.java | 5 - .../apache/phoenix/schema/MetaDataClient.java | 36 ++- .../schema/stat/StatisticsCollector.java| 249 +-- .../phoenix/schema/stat/StatisticsScanner.java | 7 +- .../phoenix/schema/stat/StatisticsTable.java| 49 ++-- .../phoenix/schema/stat/StatisticsTracker.java | 62 - .../java/org/apache/phoenix/util/ScanUtil.java | 4 + .../phoenix/query/QueryServicesTestImpl.java| 2 +- .../src/main/StatisticsCollect.proto| 20 -- 20 files changed, 272 insertions(+), 435 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/6b046100/phoenix-core/src/it/java/org/apache/phoenix/end2end/DefaultParallelIteratorsRegionSplitterIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DefaultParallelIteratorsRegionSplitterIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DefaultParallelIteratorsRegionSplitterIT.java index dd1dc8b..a6ec835 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DefaultParallelIteratorsRegionSplitterIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DefaultParallelIteratorsRegionSplitterIT.java @@ -27,6 +27,7 @@ import java.sql.SQLException; import java.util.Collections; import java.util.Comparator; import java.util.List; +import java.util.Map; import java.util.Properties; import org.apache.hadoop.hbase.HConstants; @@ -40,13 +41,18 @@ import org.apache.phoenix.jdbc.PhoenixConnection; import org.apache.phoenix.jdbc.PhoenixStatement; import org.apache.phoenix.parse.HintNode; import org.apache.phoenix.query.KeyRange; +import org.apache.phoenix.query.QueryServices; import org.apache.phoenix.schema.PDataType; import org.apache.phoenix.schema.TableRef; import org.apache.phoenix.util.PhoenixRuntime; import org.apache.phoenix.util.PropertiesUtil; +import org.apache.phoenix.util.ReadOnlyProps; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.experimental.categories.Category; +import com.google.common.collect.Maps; + /** * Tests for {@link DefaultParallelIteratorRegionSplitter}. @@ -58,6 +64,14 @@ import org.junit.experimental.categories.Category; @Category(ClientManagedTimeTest.class) public class DefaultParallelIteratorsRegionSplitterIT extends BaseParallelIteratorsRegionSplitterIT { +@BeforeClass +@Shadower(classBeingShadowed = BaseClientManagedTimeIT.class) +public static void doSetup() throws Exception { +MapString,String props = Maps.newHashMapWithExpectedSize(3); +// Must update config before starting server +props.put(QueryServices.HISTOGRAM_BYTE_DEPTH_ATTRIB, Long.toString(20l)); +setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator())); +} private static ListKeyRange getSplits(Connection conn, long ts, final Scan scan) throws SQLException { TableRef tableRef = getTableRef(conn, ts); @@ -93,6 +107,7 @@ public class DefaultParallelIteratorsRegionSplitterIT extends BaseParallelIterat Scan scan = new Scan(); // number of regions target query concurrency +conn.prepareStatement(SELECT COUNT(*) FROM STABLE).executeQuery(); scan.setStartRow(K1); scan.setStopRow(K12); ListKeyRange keyRanges = getSplits(conn, ts, scan);
git commit: Phoenix-1264 Add StatisticsCollector to existing tables on first connection to cluster
Repository: phoenix Updated Branches: refs/heads/4.0 db9036e95 - 4070492a9 Phoenix-1264 Add StatisticsCollector to existing tables on first connection to cluster Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/4070492a Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/4070492a Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/4070492a Branch: refs/heads/4.0 Commit: 4070492a9dbd55ab95fe666b4cd6eebe8fe5aeb9 Parents: db9036e Author: Ramkrishna ramkrishna.s.vasude...@intel.com Authored: Fri Sep 26 11:22:58 2014 +0530 Committer: Ramkrishna ramkrishna.s.vasude...@intel.com Committed: Fri Sep 26 11:22:58 2014 +0530 -- ...efaultParallelIteratorsRegionSplitterIT.java | 15 ++ .../phoenix/end2end/GuidePostsLifeCycleIT.java | 22 +- .../org/apache/phoenix/end2end/KeyOnlyIT.java | 15 ++ .../phoenix/end2end/MultiCfQueryExecIT.java | 14 ++ .../phoenix/end2end/StatsCollectorIT.java | 44 ++-- .../coprocessor/BaseScannerRegionObserver.java | 1 + .../UngroupedAggregateRegionObserver.java | 72 +- .../DefaultParallelIteratorRegionSplitter.java | 30 +-- .../phoenix/query/ConnectionQueryServices.java | 3 - .../query/ConnectionQueryServicesImpl.java | 51 +--- .../query/ConnectionlessQueryServicesImpl.java | 6 - .../query/DelegateConnectionQueryServices.java | 5 - .../apache/phoenix/schema/MetaDataClient.java | 36 ++- .../schema/stat/StatisticsCollector.java| 249 +-- .../phoenix/schema/stat/StatisticsScanner.java | 7 +- .../phoenix/schema/stat/StatisticsTable.java| 49 ++-- .../phoenix/schema/stat/StatisticsTracker.java | 62 - .../java/org/apache/phoenix/util/ScanUtil.java | 4 + .../phoenix/query/QueryServicesTestImpl.java| 2 +- .../src/main/StatisticsCollect.proto| 20 -- 20 files changed, 272 insertions(+), 435 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/4070492a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DefaultParallelIteratorsRegionSplitterIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DefaultParallelIteratorsRegionSplitterIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DefaultParallelIteratorsRegionSplitterIT.java index dd1dc8b..a6ec835 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DefaultParallelIteratorsRegionSplitterIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DefaultParallelIteratorsRegionSplitterIT.java @@ -27,6 +27,7 @@ import java.sql.SQLException; import java.util.Collections; import java.util.Comparator; import java.util.List; +import java.util.Map; import java.util.Properties; import org.apache.hadoop.hbase.HConstants; @@ -40,13 +41,18 @@ import org.apache.phoenix.jdbc.PhoenixConnection; import org.apache.phoenix.jdbc.PhoenixStatement; import org.apache.phoenix.parse.HintNode; import org.apache.phoenix.query.KeyRange; +import org.apache.phoenix.query.QueryServices; import org.apache.phoenix.schema.PDataType; import org.apache.phoenix.schema.TableRef; import org.apache.phoenix.util.PhoenixRuntime; import org.apache.phoenix.util.PropertiesUtil; +import org.apache.phoenix.util.ReadOnlyProps; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.experimental.categories.Category; +import com.google.common.collect.Maps; + /** * Tests for {@link DefaultParallelIteratorRegionSplitter}. @@ -58,6 +64,14 @@ import org.junit.experimental.categories.Category; @Category(ClientManagedTimeTest.class) public class DefaultParallelIteratorsRegionSplitterIT extends BaseParallelIteratorsRegionSplitterIT { +@BeforeClass +@Shadower(classBeingShadowed = BaseClientManagedTimeIT.class) +public static void doSetup() throws Exception { +MapString,String props = Maps.newHashMapWithExpectedSize(3); +// Must update config before starting server +props.put(QueryServices.HISTOGRAM_BYTE_DEPTH_ATTRIB, Long.toString(20l)); +setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator())); +} private static ListKeyRange getSplits(Connection conn, long ts, final Scan scan) throws SQLException { TableRef tableRef = getTableRef(conn, ts); @@ -93,6 +107,7 @@ public class DefaultParallelIteratorsRegionSplitterIT extends BaseParallelIterat Scan scan = new Scan(); // number of regions target query concurrency +conn.prepareStatement(SELECT COUNT(*) FROM STABLE).executeQuery(); scan.setStartRow(K1); scan.setStopRow(K12); ListKeyRange keyRanges = getSplits(conn, ts, scan);