[2/2] phoenix git commit: PHOENIX-1616 Creating a View with a case sensitive column name does not work (Thomas D'Silva)
PHOENIX-1616 Creating a View with a case sensitive column name does not work (Thomas D'Silva) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/03a5d7ef Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/03a5d7ef Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/03a5d7ef Branch: refs/heads/master Commit: 03a5d7ef198f059b289a7195613db8d375b88e46 Parents: a1baf2a Author: James Taylor jtay...@salesforce.com Authored: Sat Jan 31 11:17:46 2015 -0800 Committer: James Taylor jtay...@salesforce.com Committed: Sat Jan 31 11:17:46 2015 -0800 -- .../org/apache/phoenix/end2end/HashJoinIT.java | 84 - .../phoenix/end2end/HashJoinLocalIndexIT.java | 4 +- .../apache/phoenix/end2end/SortMergeJoinIT.java | 22 ++--- .../org/apache/phoenix/end2end/SubqueryIT.java | 70 +++--- .../end2end/SubqueryUsingSortMergeJoinIT.java | 96 ++-- .../java/org/apache/phoenix/end2end/ViewIT.java | 27 ++ .../index/GlobalIndexOptimizationIT.java| 18 ++-- .../phoenix/compile/ExpressionCompiler.java | 2 +- .../apache/phoenix/parse/ColumnParseNode.java | 4 + .../org/apache/phoenix/parse/TableName.java | 24 +++-- .../org/apache/phoenix/schema/ColumnRef.java| 8 +- .../phoenix/schema/LocalIndexDataColumnRef.java | 2 +- .../org/apache/phoenix/schema/TableRef.java | 37 .../java/org/apache/phoenix/util/IndexUtil.java | 3 +- .../org/apache/phoenix/util/SchemaUtil.java | 8 +- 15 files changed, 225 insertions(+), 184 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/03a5d7ef/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 a699d48..781bfea 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 @@ -127,7 +127,7 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { * GROUP BY i.item_id ORDER BY q DESC */ CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ORDER_TABLE_DISPLAY_NAME + \n + -SERVER AGGREGATE INTO DISTINCT ROWS BY [I.item_id]\n + +SERVER AGGREGATE INTO DISTINCT ROWS BY [\I.item_id\]\n + CLIENT MERGE SORT\n + CLIENT SORTED BY [SUM(O.QUANTITY) DESC]\n + PARALLEL LEFT-JOIN TABLE 0\n + @@ -141,9 +141,9 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { */ CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ITEM_TABLE_DISPLAY_NAME + \n + SERVER FILTER BY FIRST KEY ONLY\n + -SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY [I.item_id]\n + +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 + +CLIENT SORTED BY [SUM(O.QUANTITY) DESC NULLS LAST, \I.item_id\]\n + PARALLEL LEFT-JOIN TABLE 0\n + CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ORDER_TABLE_DISPLAY_NAME, /* @@ -166,9 +166,9 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { */ CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ITEM_TABLE_DISPLAY_NAME + \n + SERVER FILTER BY FIRST KEY ONLY\n + -SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY [I.item_id]\n + +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 + +CLIENT SORTED BY [SUM(O.QUANTITY) DESC NULLS LAST, \I.item_id\]\n + PARALLEL LEFT-JOIN TABLE 0\n + CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ORDER_TABLE_DISPLAY_NAME, /* @@ -218,7 +218,7 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { SERVER FILTER BY QUANTITY 5000\n + PARALLEL INNER-JOIN TABLE 1\n + CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_SUPPLIER_TABLE_DISPLAY_NAME + \n + -DYNAMIC SERVER FILTER BY item_id IN (O.item_id), +DYNAMIC SERVER FILTER BY \item_id\ IN (\O.item_id\), /* * testSelfJoin() * SELECT i2.item_id, i1.name
[1/2] phoenix git commit: PHOENIX-1616 Creating a View with a case sensitive column name does not work (Thomas D'Silva)
Repository: phoenix Updated Branches: refs/heads/master a1baf2aca - 03a5d7ef1 http://git-wip-us.apache.org/repos/asf/phoenix/blob/03a5d7ef/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java index 72c67bf..9ab0692 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java @@ -48,18 +48,18 @@ import org.apache.phoenix.schema.ColumnFamilyNotFoundException; import org.apache.phoenix.schema.ColumnNotFoundException; import org.apache.phoenix.schema.PColumn; import org.apache.phoenix.schema.PColumnFamily; -import org.apache.phoenix.schema.types.PDataType; import org.apache.phoenix.schema.PDatum; import org.apache.phoenix.schema.PMetaData; import org.apache.phoenix.schema.PName; import org.apache.phoenix.schema.PTable; -import org.apache.phoenix.schema.types.PVarbinary; -import org.apache.phoenix.schema.types.PVarchar; import org.apache.phoenix.schema.RowKeySchema; import org.apache.phoenix.schema.RowKeySchema.RowKeySchemaBuilder; import org.apache.phoenix.schema.SaltingUtil; import org.apache.phoenix.schema.SortOrder; import org.apache.phoenix.schema.ValueSchema.Field; +import org.apache.phoenix.schema.types.PDataType; +import org.apache.phoenix.schema.types.PVarbinary; +import org.apache.phoenix.schema.types.PVarchar; import com.google.common.base.Preconditions; @@ -174,7 +174,7 @@ public class SchemaUtil { } public static boolean isCaseSensitive(String name) { -return name.length() 0 name.charAt(0)==''; +return name!=null name.length() 0 name.charAt(0)==''; } public static T ListT concat(ListT l1, ListT l2) {
[2/2] phoenix git commit: PHOENIX-1616 Creating a View with a case sensitive column name does not work (Thomas D'Silva)
PHOENIX-1616 Creating a View with a case sensitive column name does not work (Thomas D'Silva) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/3ed36106 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/3ed36106 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/3ed36106 Branch: refs/heads/4.0 Commit: 3ed36106b8a702efaaf625c944aa54f8b226fb99 Parents: 5d07ca9 Author: James Taylor jtay...@salesforce.com Authored: Sat Jan 31 11:17:46 2015 -0800 Committer: James Taylor jtay...@salesforce.com Committed: Sat Jan 31 11:18:41 2015 -0800 -- .../org/apache/phoenix/end2end/HashJoinIT.java | 84 - .../phoenix/end2end/HashJoinLocalIndexIT.java | 4 +- .../apache/phoenix/end2end/SortMergeJoinIT.java | 22 ++--- .../org/apache/phoenix/end2end/SubqueryIT.java | 70 +++--- .../end2end/SubqueryUsingSortMergeJoinIT.java | 96 ++-- .../java/org/apache/phoenix/end2end/ViewIT.java | 27 ++ .../index/GlobalIndexOptimizationIT.java| 18 ++-- .../phoenix/compile/ExpressionCompiler.java | 2 +- .../apache/phoenix/parse/ColumnParseNode.java | 4 + .../org/apache/phoenix/parse/TableName.java | 24 +++-- .../org/apache/phoenix/schema/ColumnRef.java| 8 +- .../phoenix/schema/LocalIndexDataColumnRef.java | 2 +- .../org/apache/phoenix/schema/TableRef.java | 37 .../java/org/apache/phoenix/util/IndexUtil.java | 3 +- .../org/apache/phoenix/util/SchemaUtil.java | 8 +- 15 files changed, 225 insertions(+), 184 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/3ed36106/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 a699d48..781bfea 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 @@ -127,7 +127,7 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { * GROUP BY i.item_id ORDER BY q DESC */ CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ORDER_TABLE_DISPLAY_NAME + \n + -SERVER AGGREGATE INTO DISTINCT ROWS BY [I.item_id]\n + +SERVER AGGREGATE INTO DISTINCT ROWS BY [\I.item_id\]\n + CLIENT MERGE SORT\n + CLIENT SORTED BY [SUM(O.QUANTITY) DESC]\n + PARALLEL LEFT-JOIN TABLE 0\n + @@ -141,9 +141,9 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { */ CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ITEM_TABLE_DISPLAY_NAME + \n + SERVER FILTER BY FIRST KEY ONLY\n + -SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY [I.item_id]\n + +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 + +CLIENT SORTED BY [SUM(O.QUANTITY) DESC NULLS LAST, \I.item_id\]\n + PARALLEL LEFT-JOIN TABLE 0\n + CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ORDER_TABLE_DISPLAY_NAME, /* @@ -166,9 +166,9 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { */ CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ITEM_TABLE_DISPLAY_NAME + \n + SERVER FILTER BY FIRST KEY ONLY\n + -SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY [I.item_id]\n + +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 + +CLIENT SORTED BY [SUM(O.QUANTITY) DESC NULLS LAST, \I.item_id\]\n + PARALLEL LEFT-JOIN TABLE 0\n + CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ORDER_TABLE_DISPLAY_NAME, /* @@ -218,7 +218,7 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { SERVER FILTER BY QUANTITY 5000\n + PARALLEL INNER-JOIN TABLE 1\n + CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_SUPPLIER_TABLE_DISPLAY_NAME + \n + -DYNAMIC SERVER FILTER BY item_id IN (O.item_id), +DYNAMIC SERVER FILTER BY \item_id\ IN (\O.item_id\), /* * testSelfJoin() * SELECT i2.item_id, i1.name FROM
Apache-Phoenix | 4.0 | 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/lastSuccessfulBuild/artifact/ Test Report https://builds.apache.org/job/Phoenix-4.0/lastCompletedBuild/testReport/ Changes [jtaylor] PHOENIX-1616 Creating a View with a case sensitive column name does not work (Thomas D'Silva) Build times for last couple of runsLatest build time is the right most | Legend blue: normal, red: test failure, gray: timeout
phoenix git commit: PHOENIX-1616 Creating a View with a case sensitive column name does not work (Thomas D'Silva)
Repository: phoenix Updated Branches: refs/heads/3.0 4493ba381 - f2eee2fde PHOENIX-1616 Creating a View with a case sensitive column name does not work (Thomas D'Silva) Conflicts: phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinLocalIndexIT.java phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinIT.java phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryIT.java phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryUsingSortMergeJoinIT.java phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexOptimizationIT.java phoenix-core/src/main/java/org/apache/phoenix/schema/LocalIndexDataColumnRef.java phoenix-core/src/main/java/org/apache/phoenix/util/IndexUtil.java phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/f2eee2fd Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/f2eee2fd Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/f2eee2fd Branch: refs/heads/3.0 Commit: f2eee2fde6bdd0f7096a7e7cd1c4c0dff0438ad0 Parents: 4493ba3 Author: James Taylor jtay...@salesforce.com Authored: Sat Jan 31 11:17:46 2015 -0800 Committer: James Taylor jtay...@salesforce.com Committed: Sat Jan 31 12:24:59 2015 -0800 -- .../org/apache/phoenix/end2end/HashJoinIT.java | 54 +-- .../apache/phoenix/end2end/SortMergeJoinIT.java | 14 +-- .../org/apache/phoenix/end2end/SubqueryIT.java | 44 - .../end2end/SubqueryUsingSortMergeJoinIT.java | 63 +++-- .../java/org/apache/phoenix/end2end/ViewIT.java | 27 ++ .../index/GlobalIndexOptimizationIT.java| 98 +++- .../phoenix/compile/ExpressionCompiler.java | 4 +- .../apache/phoenix/compile/RowProjector.java| 2 - .../phoenix/iterate/BaseResultIterators.java| 2 - .../apache/phoenix/parse/ColumnParseNode.java | 4 + .../org/apache/phoenix/parse/TableName.java | 24 +++-- .../org/apache/phoenix/schema/ColumnRef.java| 8 +- .../org/apache/phoenix/schema/TableRef.java | 37 .../java/org/apache/phoenix/util/IndexUtil.java | 2 +- .../org/apache/phoenix/util/SchemaUtil.java | 2 +- .../util/PhoenixConfigurationUtilTest.java | 2 - .../org/apache/phoenix/util/DateUtilTest.java | 9 +- 17 files changed, 218 insertions(+), 178 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/f2eee2fd/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 4bfb480..e4f7065 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 @@ -126,7 +126,7 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { * GROUP BY i.item_id ORDER BY q DESC */ CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ORDER_TABLE_DISPLAY_NAME + \n + -SERVER AGGREGATE INTO DISTINCT ROWS BY [I.item_id]\n + +SERVER AGGREGATE INTO DISTINCT ROWS BY [\I.item_id\]\n + CLIENT MERGE SORT\n + CLIENT SORTED BY [SUM(O.QUANTITY) DESC]\n + PARALLEL LEFT-JOIN TABLE 0\n + @@ -140,9 +140,9 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { */ CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ITEM_TABLE_DISPLAY_NAME + \n + SERVER FILTER BY FIRST KEY ONLY\n + -SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY [I.item_id]\n + +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 + +CLIENT SORTED BY [SUM(O.QUANTITY) DESC NULLS LAST, \I.item_id\]\n + PARALLEL LEFT-JOIN TABLE 0\n + CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ORDER_TABLE_DISPLAY_NAME, /* @@ -165,9 +165,9 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { */ CLIENT PARALLEL 1-WAY FULL SCAN OVER + JOIN_ITEM_TABLE_DISPLAY_NAME + \n + SERVER FILTER BY FIRST KEY ONLY\n + -SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY [I.item_id]\n + +SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY
phoenix git commit: PHOENIX-1613 Allow old commons-collections version
Repository: phoenix Updated Branches: refs/heads/master 03a5d7ef1 - 3f48938d5 PHOENIX-1613 Allow old commons-collections version Handle an IllegalAccessError while initializing tracing, in order to allow Phoenix to be used (without tracing) together with SquirrelSQL. The IllegalAccessError occurs because SquirrelSQL uses an old (2.x) version of commons-collections, while tracing depends on a 3.x version. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/3f48938d Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/3f48938d Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/3f48938d Branch: refs/heads/master Commit: 3f48938d5d5a67d59129eb90295894cc76e58508 Parents: 03a5d7e Author: Gabriel Reid gabri...@ngdata.com Authored: Sun Feb 1 07:10:24 2015 +0100 Committer: Gabriel Reid gabri...@ngdata.com Committed: Sun Feb 1 07:55:12 2015 +0100 -- .../src/main/java/org/apache/phoenix/trace/util/Tracing.java | 6 ++ 1 file changed, 6 insertions(+) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/3f48938d/phoenix-core/src/main/java/org/apache/phoenix/trace/util/Tracing.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/trace/util/Tracing.java b/phoenix-core/src/main/java/org/apache/phoenix/trace/util/Tracing.java index 7e1df72..a46d4e8 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/trace/util/Tracing.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/trace/util/Tracing.java @@ -254,6 +254,12 @@ public class Tracing { } catch (RuntimeException e) { LOG.warn(Tracing will outputs will not be written to any metrics sink! No + TraceMetricsSink found on the classpath, e); +} catch (IllegalAccessError e) { +// This is an issue when we have a class incompatibility error, such as when running +// within SquirrelSQL which uses an older incompatible version of commons-collections. +// Seeing as this only results in disabling tracing, we swallow this exception and just +// continue on without tracing. +LOG.warn(Class incompatibility while initializing metrics, metrics will be disabled, e); } initialized = true; }
phoenix git commit: PHOENIX-1613 Allow old commons-collections version
Repository: phoenix Updated Branches: refs/heads/4.0 3ed36106b - 7e6441b8b PHOENIX-1613 Allow old commons-collections version Handle an IllegalAccessError while initializing tracing, in order to allow Phoenix to be used (without tracing) together with SquirrelSQL. The IllegalAccessError occurs because SquirrelSQL uses an old (2.x) version of commons-collections, while tracing depends on a 3.x version. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/7e6441b8 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/7e6441b8 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/7e6441b8 Branch: refs/heads/4.0 Commit: 7e6441b8b96f4452ee88a00ac24ec68ebff68765 Parents: 3ed3610 Author: Gabriel Reid gabri...@ngdata.com Authored: Sun Feb 1 07:10:24 2015 +0100 Committer: Gabriel Reid gabri...@ngdata.com Committed: Sun Feb 1 07:55:00 2015 +0100 -- .../src/main/java/org/apache/phoenix/trace/util/Tracing.java | 6 ++ 1 file changed, 6 insertions(+) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/7e6441b8/phoenix-core/src/main/java/org/apache/phoenix/trace/util/Tracing.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/trace/util/Tracing.java b/phoenix-core/src/main/java/org/apache/phoenix/trace/util/Tracing.java index 7e1df72..a46d4e8 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/trace/util/Tracing.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/trace/util/Tracing.java @@ -254,6 +254,12 @@ public class Tracing { } catch (RuntimeException e) { LOG.warn(Tracing will outputs will not be written to any metrics sink! No + TraceMetricsSink found on the classpath, e); +} catch (IllegalAccessError e) { +// This is an issue when we have a class incompatibility error, such as when running +// within SquirrelSQL which uses an older incompatible version of commons-collections. +// Seeing as this only results in disabling tracing, we swallow this exception and just +// continue on without tracing. +LOG.warn(Class incompatibility while initializing metrics, metrics will be disabled, e); } initialized = true; }
Apache-Phoenix | 4.0 | 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/lastSuccessfulBuild/artifact/ Test Report https://builds.apache.org/job/Phoenix-4.0/lastCompletedBuild/testReport/ Changes [gabrielr] PHOENIX-1613 Allow old commons-collections version Build times for last couple of runsLatest build time is the right most | Legend blue: normal, red: test failure, gray: timeout
Apache-Phoenix | 3.0 | Hadoop1 | Build Successful
3.0 branch build status Successful Source repository https://git-wip-us.apache.org/repos/asf/phoenix.git Last Successful Compiled Artifacts https://builds.apache.org/job/Phoenix-3.0-hadoop1/lastSuccessfulBuild/artifact/ Last Complete Test Report https://builds.apache.org/job/Phoenix-3.0-hadoop1/lastCompletedBuild/testReport/ Changes [jtaylor] PHOENIX-1616 Creating a View with a case sensitive column name does not work (Thomas D'Silva) Build times for last couple of runsLatest build time is the right most | Legend blue: normal, red: test failure, gray: timeout
svn commit: r1656256 - in /phoenix/site: publish/joins.html publish/recent.html publish/roadmap.html source/src/site/markdown/joins.md source/src/site/markdown/recent.md source/src/site/markdown/roadm
Author: maryannxue Date: Sat Jan 31 23:07:21 2015 New Revision: 1656256 URL: http://svn.apache.org/r1656256 Log: PHOENIX-1554 Update join documentation based on many-to-many support Modified: phoenix/site/publish/joins.html phoenix/site/publish/recent.html phoenix/site/publish/roadmap.html phoenix/site/source/src/site/markdown/joins.md phoenix/site/source/src/site/markdown/recent.md phoenix/site/source/src/site/markdown/roadmap.md Modified: phoenix/site/publish/joins.html URL: http://svn.apache.org/viewvc/phoenix/site/publish/joins.html?rev=1656256r1=1656255r2=1656256view=diff == --- phoenix/site/publish/joins.html (original) +++ phoenix/site/publish/joins.html Sat Jan 31 23:07:21 2015 @@ -1,7 +1,7 @@ !DOCTYPE html !-- - Generated by Apache Maven Doxia at 2015-01-27 + Generated by Apache Maven Doxia at 2015-01-31 Rendered using Reflow Maven Skin 1.1.0 (http://andriusvelykis.github.io/reflow-maven-skin) -- html xml:lang=en lang=en @@ -411,6 +411,11 @@ ON Items.ItemID = O.ItemID; /div /div div class=section + h2 id=Hash_Join_vs._Sort-Merge_JoinHash Join vs. Sort-Merge Join/h2 + pBasic hash join usually outperforms other types of join algorithms, but it has its limitations too, the most significant of which is the assumption that one of the relations must be small enough to fit into memory. Thus Phoenix now has both hash join and sort-merge join implemented to facilitate fast join operations as well as join between two large tables./p + pPhoenix currently uses the hash join algorithm whenever possible since it is usually much faster. However we have the hint âUSE_SORT_MERGE_JOINâ for forcing the usage of sort-merge join in a query. The choice between these two join algorithms, together with detecting the smaller relation for hash join, will be done automatically in future under the guidance provided by table statistics./p +/div +div class=section h2 id=foreign-key-to-primary-key-join-optimizationForeign Key to Primary Key Join Optimizationa name=Foreign_Key_to_Primary_Key_Join_Optimization/a/h2 pOftentimes a join will occur from a child table to a parent table, mapping the foreign key of the child table to the primary key of the parent. So instead of doing a full scan on the parent table, Phoenix will drive a skip-scan or a range-scan based on the foreign key values it got from the child table result./p pPhoenix will extract and sort multiple key parts from the join keys so that it can get the most accurate key hints/ranges possible for the parent table scan./p @@ -460,17 +465,17 @@ ON E.Region = P.Region AND E.LocalID = P /tr /tbody /table - pHowever, there are times when the foreign key values from the child table account for a complete primary key space in the parent table, thus using skip-scans would only be slower not faster. In order to avoid such situations, Phoenix currently does a range-scan by default and only chooses to do a skip-scan when there is a child table filter in the WHERE clause or the ON clause, as in the above example. Table statistics will come to help making smarter choices between the two schemes in future. Yet you can always use hints âSKIP_SCAN_HASH_JOINâ or âRANGE_SCAN_HASH_JOINâ to change the default behavior./p + pHowever, there are times when the foreign key values from the child table account for a complete primary key space in the parent table, thus using skip-scans would only be slower not faster. Yet you can always turn off the optimization by specifying hint âNO_CHILD_PARENT_OPTIMIZATIONâ. Furthermore, table statistics will soon come in to help making smarter choices between the two schemes./p /div div class=section h2 id=ConfigurationConfiguration/h2 - pThe join functionality is now implemented through hash joins, which means one side of the join operator has to be small enough to fit into memory in order to be broadcast over all servers that have the data of concern from the other side of join. This limitation will be eliminated once a class=externalLink href=https://issues.apache.org/jira/browse/PHOENIX-1179;PHOENIX-1179/a is implemented./p - pThe servers-side caches are used to hold the hashed join-table results. The size and the living time of the caches are controlled by the following parameters. Note that a join-table can be a physical table, a view, a subquery, or a joined result of other join-tables in a multi-join query./p + pAs mentioned earlier, if we decide to use the hash join approach for our join queries, the prerequisite is that either of the relations can be small enough to fit into memory in order to be broadcast over all servers that have the data of concern from the other relation. And aside from making sure that the region server heap size is big enough to hold the smaller relation, we might also need to pay a attention to a few