[GitHub] phoenix pull request: PHOENIX-933 Local index support to Phoenix

2014-07-14 Thread JamesRTaylor
Github user JamesRTaylor commented on the pull request:

https://github.com/apache/phoenix/pull/3#issuecomment-48887938
  
@ramkrish86 - would you have time to check this in to master? We can add 
this minor check in a follow up commit. @chrajeshbabu - will an alternate patch 
be required for the 4.0 branch? 4.0 should match master, but it seems to be 
ever so slightly different.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] phoenix pull request: PHOENIX-933 Local index support to Phoenix

2014-07-14 Thread JamesRTaylor
Github user JamesRTaylor commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/3#discussion_r14873050
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/iterate/ParallelIterators.java ---
@@ -238,7 +240,12 @@ private void 
doColumnProjectionOptimization(StatementContext context, Scan scan,
 minMaxRange = 
SaltingUtil.addSaltByte(split.getLowerRange(), minMaxRange);
 split = split.intersect(minMaxRange);
 }
-}
+} else if (localIndex) {
--- End diff --

In a follow up commit, we should look to commonize the above salting logic 
with this logic for local indexes. It's doing the same thing, it's just adding 
one byte for the salt byte while the local indexing is adding the region start 
key.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14060544#comment-14060544
 ] 

ASF GitHub Bot commented on PHOENIX-933:


Github user JamesRTaylor commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/3#discussion_r14873050
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/iterate/ParallelIterators.java ---
@@ -238,7 +240,12 @@ private void 
doColumnProjectionOptimization(StatementContext context, Scan scan,
 minMaxRange = 
SaltingUtil.addSaltByte(split.getLowerRange(), minMaxRange);
 split = split.intersect(minMaxRange);
 }
-}
+} else if (localIndex) {
--- End diff --

In a follow up commit, we should look to commonize the above salting logic 
with this logic for local indexes. It's doing the same thing, it's just adding 
one byte for the salt byte while the local indexing is adding the region start 
key.


 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu

 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread James Taylor (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14060832#comment-14060832
 ] 

James Taylor commented on PHOENIX-933:
--

[~anoop.hbase] - would you mind committing this? The pull is here: 
https://github.com/apache/phoenix/pull/3

 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu

 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PHOENIX-1002) Add support for % operator

2014-07-14 Thread Kyle Buzsaki (JIRA)

 [ 
https://issues.apache.org/jira/browse/PHOENIX-1002?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kyle Buzsaki updated PHOENIX-1002:
--

Attachment: PHOENIX-1002_5_3-0.patch

Looks like the conflict was just a whitespace issue. 3.0 compatible patch 
attached.

 Add support for % operator
 --

 Key: PHOENIX-1002
 URL: https://issues.apache.org/jira/browse/PHOENIX-1002
 Project: Phoenix
  Issue Type: New Feature
Reporter: Thomas D'Silva
Assignee: Kyle Buzsaki
 Fix For: 5.0.0, 3.1, 4.1

 Attachments: PHOENIX-1002.patch, PHOENIX-1002_2.patch, 
 PHOENIX-1002_3.patch, PHOENIX-1002_4.patch, PHOENIX-1002_5.patch, 
 PHOENIX-1002_5_3-0.patch


 Supporting the % operator would allow using sequences to generate IDs that 
 are less than a maximum number. 
 CREATE SEQUENCE foo.bar
 SELECT ((NEXT VALUE FOR foo.bar)%1000)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14060868#comment-14060868
 ] 

ASF GitHub Bot commented on PHOENIX-933:


Github user ramkrish86 commented on the pull request:

https://github.com/apache/phoenix/pull/3#issuecomment-48927901
  
I think I don't have write access to do this merge. 
 Only those with write access to this repository can merge pull 
requests. 


 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu

 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-1002) Add support for % operator

2014-07-14 Thread Anoop Sam John (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-1002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14060899#comment-14060899
 ] 

Anoop Sam John commented on PHOENIX-1002:
-

Thanks.  Going to commit now..

 Add support for % operator
 --

 Key: PHOENIX-1002
 URL: https://issues.apache.org/jira/browse/PHOENIX-1002
 Project: Phoenix
  Issue Type: New Feature
Reporter: Thomas D'Silva
Assignee: Kyle Buzsaki
 Fix For: 5.0.0, 3.1, 4.1

 Attachments: PHOENIX-1002.patch, PHOENIX-1002_2.patch, 
 PHOENIX-1002_3.patch, PHOENIX-1002_4.patch, PHOENIX-1002_5.patch, 
 PHOENIX-1002_5_3-0.patch


 Supporting the % operator would allow using sequences to generate IDs that 
 are less than a maximum number. 
 CREATE SEQUENCE foo.bar
 SELECT ((NEXT VALUE FOR foo.bar)%1000)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-1002) Add support for % operator

2014-07-14 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-1002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14060957#comment-14060957
 ] 

Hudson commented on PHOENIX-1002:
-

FAILURE: Integrated in Phoenix | Master | Hadoop1 #270 (See 
[https://builds.apache.org/job/Phoenix-master-hadoop1/270/])
PHOENIX-1002 Add support for % operator.(Kyle Buzsaki) (anoopsamjohn: rev 
b12ba69b300c84a692584935640cd984e2501f9b)
* phoenix-core/src/main/java/org/apache/phoenix/parse/ModulusParseNode.java
* 
phoenix-core/src/main/java/org/apache/phoenix/parse/UnsupportedAllParseNodeVisitor.java
* phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeFactory.java
* phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeVisitor.java
* phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
* phoenix-core/src/main/antlr3/PhoenixSQL.g
* 
phoenix-core/src/main/java/org/apache/phoenix/expression/ModulusExpression.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
* 
phoenix-core/src/main/java/org/apache/phoenix/parse/TraverseNoParseNodeVisitor.java
* 
phoenix-core/src/main/java/org/apache/phoenix/parse/TraverseAllParseNodeVisitor.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/ArithmeticQueryIT.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/ModulusExpressionIT.java
* phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeRewriter.java
* 
phoenix-core/src/main/java/org/apache/phoenix/parse/StatelessTraverseAllParseNodeVisitor.java


 Add support for % operator
 --

 Key: PHOENIX-1002
 URL: https://issues.apache.org/jira/browse/PHOENIX-1002
 Project: Phoenix
  Issue Type: New Feature
Reporter: Thomas D'Silva
Assignee: Kyle Buzsaki
 Fix For: 5.0.0, 3.1, 4.1

 Attachments: PHOENIX-1002.patch, PHOENIX-1002_2.patch, 
 PHOENIX-1002_3.patch, PHOENIX-1002_4.patch, PHOENIX-1002_5.patch, 
 PHOENIX-1002_5_3-0.patch


 Supporting the % operator would allow using sequences to generate IDs that 
 are less than a maximum number. 
 CREATE SEQUENCE foo.bar
 SELECT ((NEXT VALUE FOR foo.bar)%1000)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[GitHub] phoenix pull request: PHOENIX-933 Local index support to Phoenix

2014-07-14 Thread JamesRTaylor
Github user JamesRTaylor commented on the pull request:

https://github.com/apache/phoenix/pull/3#issuecomment-48941536
  
@ramkrish86 - just add a .patch to the url for the pull request and you'll 
have the patch file to apply against the normal/updatable repo. The github repo 
is read-only for everyone.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Comment Edited] (PHOENIX-938) Use higher priority queue for index updates to prevent deadlock

2014-07-14 Thread Jesse Yates (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061037#comment-14061037
 ] 

Jesse Yates edited comment on PHOENIX-938 at 7/14/14 7:04 PM:
--

Well, as its a new addition, support 0.98.4 as the first version doesn't seem 
like that big of an issue - basically, add these configs and roll your cluster 
with the new hbase + phoenix. 

And it would be nice to drop all the 0.98.3 specific code of out of the patch 
(which creates its own RpcExecutor, reflection, etc). Not worth all the extra 
work to make it work with the inheritance heirarchy



was (Author: jesse_yates):
Well, as its a new addition, support 0.98.4 as the first version doesn't seem 
like that big of an issue - basically, add these configs and roll your cluster 
with the new hbase + phoenix. 

And it would be nice to drop all the 0.98.3 specific code of out of the patch 
(which creates its own RpcExecutor*, reflection, etc). Not worth all the extra 
work to make it work with the inheritance heirarchy

 Use higher priority queue for index updates to prevent deadlock
 ---

 Key: PHOENIX-938
 URL: https://issues.apache.org/jira/browse/PHOENIX-938
 Project: Phoenix
  Issue Type: Bug
Affects Versions: 4.0.0, 4.1
Reporter: James Taylor
Assignee: Jesse Yates
 Fix For: 5.0.0, 4.1

 Attachments: PHOENIX-938-master-v3.patch, phoenix-938-4.0-v0.patch, 
 phoenix-938-master-v0.patch, phoenix-938-master-v1.patch, 
 phoenix-938-master-v2.patch


 With our current global secondary indexing solution, a batched Put of table 
 data causes a RS to do a batch Put to other RSs. This has the potential to 
 lead to a deadlock if all RS are overloaded and unable to process the pending 
 batched Put. To prevent this, we should use a higher priority queue to submit 
 these Puts so that they're always processed before other Puts. This will 
 prevent the potential for a deadlock under high load. Note that this will 
 likely require some HBase 0.98 code changes and would not be feasible to 
 implement for HBase 0.94.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[GitHub] phoenix pull request: PHOENIX-933 Local index support to Phoenix

2014-07-14 Thread chrajeshbabu
Github user chrajeshbabu commented on the pull request:

https://github.com/apache/phoenix/pull/3#issuecomment-48945719
  
bq. Just add the check to disable creating local indexes on a table with 
immutable rows and then let's check this in. 
Changed pull request to disallow local index on immutable rows and added 
some test cases.




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061041#comment-14061041
 ] 

ASF GitHub Bot commented on PHOENIX-933:


Github user chrajeshbabu commented on the pull request:

https://github.com/apache/phoenix/pull/3#issuecomment-48945719
  
bq. Just add the check to disable creating local indexes on a table with 
immutable rows and then let's check this in. 
Changed pull request to disallow local index on immutable rows and added 
some test cases.




 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu

 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061053#comment-14061053
 ] 

ASF GitHub Bot commented on PHOENIX-933:


Github user chrajeshbabu commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/3#discussion_r14897250
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java ---
@@ -568,8 +629,13 @@ public MutationState createIndex(CreateIndexStatement 
statement, byte[][] splits
 allPkColumns.add(new PairColumnName, 
SortOrder(colName, col.getSortOrder()));
 columnDefs.add(FACTORY.columnDef(colName, 
dataType.getSqlTypeName(), col.isNullable(), col.getMaxLength(), 
col.getScale(), false, SortOrder.getDefault()));
 }
-if (dataTable.getType() == PTableType.VIEW  
dataTable.getViewType() != ViewType.MAPPED) {
-allocateViewIndexId = true;
+/*
+ * Allocate an index ID in two circumstances:
+ * 1) for a local index, as all local indexes will reside 
in the same HBase table
+ * 2) for a view on an index.
+ */
+if (statement.getIndexType() == IndexType.LOCAL || 
(dataTable.getType() == PTableType.VIEW  dataTable.getViewType() != 
ViewType.MAPPED)) {
+allocateIndexId = true;
--- End diff --

Done.


 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu

 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-938) Use higher priority queue for index updates to prevent deadlock

2014-07-14 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061040#comment-14061040
 ] 

Andrew Purtell commented on PHOENIX-938:


Ok. If you think of anything else that needs to go in here before the .4 
release is official, please let me know. We can pull the RC for further work if 
needed.

 Use higher priority queue for index updates to prevent deadlock
 ---

 Key: PHOENIX-938
 URL: https://issues.apache.org/jira/browse/PHOENIX-938
 Project: Phoenix
  Issue Type: Bug
Affects Versions: 4.0.0, 4.1
Reporter: James Taylor
Assignee: Jesse Yates
 Fix For: 5.0.0, 4.1

 Attachments: PHOENIX-938-master-v3.patch, phoenix-938-4.0-v0.patch, 
 phoenix-938-master-v0.patch, phoenix-938-master-v1.patch, 
 phoenix-938-master-v2.patch


 With our current global secondary indexing solution, a batched Put of table 
 data causes a RS to do a batch Put to other RSs. This has the potential to 
 lead to a deadlock if all RS are overloaded and unable to process the pending 
 batched Put. To prevent this, we should use a higher priority queue to submit 
 these Puts so that they're always processed before other Puts. This will 
 prevent the potential for a deadlock under high load. Note that this will 
 likely require some HBase 0.98 code changes and would not be feasible to 
 implement for HBase 0.94.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061060#comment-14061060
 ] 

ASF GitHub Bot commented on PHOENIX-933:


Github user chrajeshbabu commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/3#discussion_r14897277
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/compile/IndexStatementRewriter.java
 ---
@@ -96,6 +96,11 @@ public ParseNode visit(ColumnParseNode node) throws 
SQLException {
 
 String indexColName = IndexUtil.getIndexColumnName(dataCol);
 // Same alias as before, but use the index column name instead of 
the data column name
+// ColumnParseNode cannot be resolved. When this occurs, add the 
dataColRef to a list
--- End diff --

Removed.


 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu

 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[GitHub] phoenix pull request: PHOENIX-933 Local index support to Phoenix

2014-07-14 Thread chrajeshbabu
Github user chrajeshbabu commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/3#discussion_r14897879
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java ---
@@ -169,6 +170,7 @@
 SQLViewTypeFunction(SQLViewTypeFunction.class),
 ExternalSqlTypeIdFunction(ExternalSqlTypeIdFunction.class),
 ConvertTimezoneFunction(ConvertTimezoneFunction.class),
+SQLIndexTypeFunction(SQLIndexTypeFunction.class),
--- End diff --

done.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061074#comment-14061074
 ] 

ASF GitHub Bot commented on PHOENIX-933:


Github user chrajeshbabu commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/3#discussion_r14897862
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/compile/JoinCompiler.java ---
@@ -1134,8 +1135,15 @@ public static SelectStatement 
optimize(PhoenixStatement statement, SelectStateme
 ListOrderByNode orderBy = tableRef.equals(orderByTableRef) ? 
select.getOrderBy() : null;
 SelectStatement stmt = 
getSubqueryForOptimizedPlan(select.getHint(), table.getDynamicColumns(), 
tableRef, join.getColumnRefs(), table.getPreFiltersCombined(), groupBy, 
orderBy, table.isWildCardSelect());
 QueryPlan plan = 
statement.getConnection().getQueryServices().getOptimizer().optimize(statement, 
stmt);
+boolean localIndex = 
plan.getContext().getCurrentTable().getTable().getIndexType()==IndexType.LOCAL;
 if (!plan.getTableRef().equals(tableRef)) {
-replacement.put(tableRef, plan.getTableRef());
+// Use local index plan only when all the columns to 
project are available in index.
--- End diff --

This change is not required in the master branch James. In local-index 
branch join queries have failed with ColumnNotFoundException with local indexes 
when join query has columns other than index. So I have added the check. 
Currently join back from data table is not supported in join queries. 


 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu

 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061075#comment-14061075
 ] 

ASF GitHub Bot commented on PHOENIX-933:


Github user chrajeshbabu commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/3#discussion_r14897879
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java ---
@@ -169,6 +170,7 @@
 SQLViewTypeFunction(SQLViewTypeFunction.class),
 ExternalSqlTypeIdFunction(ExternalSqlTypeIdFunction.class),
 ConvertTimezoneFunction(ConvertTimezoneFunction.class),
+SQLIndexTypeFunction(SQLIndexTypeFunction.class),
--- End diff --

done.


 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu

 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[GitHub] phoenix pull request: PHOENIX-933 Local index support to Phoenix

2014-07-14 Thread chrajeshbabu
Github user chrajeshbabu commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/3#discussion_r14898287
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/iterate/DefaultParallelIteratorRegionSplitter.java
 ---
@@ -140,7 +142,14 @@ public boolean apply(HRegionLocation location) {
 // distributed across regions, using this scheme compensates for 
regions that
 // have more rows than others, by applying tighter splits and 
therefore spawning
 // off more scans over the overloaded regions.
-int splitsPerRegion = regions.size() = targetConcurrency ? 1 : 
(regions.size()  targetConcurrency / 2 ? maxConcurrency : targetConcurrency) / 
regions.size();
+PTable table = tableRef.getTable();
--- End diff --

bq. why do we need this to be different for local indexes? Seems like we 
could run parallel scans over part of each region just like we do with other 
scans, no?
Index table rows have region start key as prefix so even if we split region 
key ranges into multiple and scan parallelly,only first scanner gives the 
results and remaining all the scanners just return nothing. So number of splits 
of local index region setting to 1.
if we want to start multiple scanners for local index into multiple parts 
then we need to split the scan ranges into multiple.  


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] phoenix pull request: PHOENIX-933 Local index support to Phoenix

2014-07-14 Thread chrajeshbabu
Github user chrajeshbabu commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/3#discussion_r14898383
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/iterate/DefaultParallelIteratorRegionSplitter.java
 ---
@@ -140,7 +142,14 @@ public boolean apply(HRegionLocation location) {
 // distributed across regions, using this scheme compensates for 
regions that
 // have more rows than others, by applying tighter splits and 
therefore spawning
 // off more scans over the overloaded regions.
-int splitsPerRegion = regions.size() = targetConcurrency ? 1 : 
(regions.size()  targetConcurrency / 2 ? maxConcurrency : targetConcurrency) / 
regions.size();
+PTable table = tableRef.getTable();
--- End diff --

bq. getSplitsPerRegion method to ParallelIteratorRegionSplitter so we can 
move this special case to your new implementation for local indexes.
Current patch added getSplitsPerRegion method to 
ParallelIteratorRegionSplitter and returning one in 
LocalIndexParallelIteratorRegionSplitter  and removed the changes in other 
splitter.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061091#comment-14061091
 ] 

ASF GitHub Bot commented on PHOENIX-933:


Github user chrajeshbabu commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/3#discussion_r14898383
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/iterate/DefaultParallelIteratorRegionSplitter.java
 ---
@@ -140,7 +142,14 @@ public boolean apply(HRegionLocation location) {
 // distributed across regions, using this scheme compensates for 
regions that
 // have more rows than others, by applying tighter splits and 
therefore spawning
 // off more scans over the overloaded regions.
-int splitsPerRegion = regions.size() = targetConcurrency ? 1 : 
(regions.size()  targetConcurrency / 2 ? maxConcurrency : targetConcurrency) / 
regions.size();
+PTable table = tableRef.getTable();
--- End diff --

bq. getSplitsPerRegion method to ParallelIteratorRegionSplitter so we can 
move this special case to your new implementation for local indexes.
Current patch added getSplitsPerRegion method to 
ParallelIteratorRegionSplitter and returning one in 
LocalIndexParallelIteratorRegionSplitter  and removed the changes in other 
splitter.


 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu

 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[GitHub] phoenix pull request: PHOENIX-933 Local index support to Phoenix

2014-07-14 Thread chrajeshbabu
Github user chrajeshbabu commented on the pull request:

https://github.com/apache/phoenix/pull/3#issuecomment-48949296
  
Resolved the conflicts after PHOENIX-1002 also. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061105#comment-14061105
 ] 

ASF GitHub Bot commented on PHOENIX-933:


Github user chrajeshbabu commented on the pull request:

https://github.com/apache/phoenix/pull/3#issuecomment-48949296
  
Resolved the conflicts after PHOENIX-1002 also. 


 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu

 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061103#comment-14061103
 ] 

ASF GitHub Bot commented on PHOENIX-933:


Github user chrajeshbabu commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/3#discussion_r14898689
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/iterate/ParallelIterators.java ---
@@ -238,7 +240,12 @@ private void 
doColumnProjectionOptimization(StatementContext context, Scan scan,
 minMaxRange = 
SaltingUtil.addSaltByte(split.getLowerRange(), minMaxRange);
 split = split.intersect(minMaxRange);
 }
-}
+} else if (localIndex) {
--- End diff --

one main difference is there between the two methods James. in addSaltByte 
if keyrange upper or lower bound is unbound we don't set salting byte. in case 
of local index if both start or end keys are unbound then only we don't prefix 
the bytes. So not able to commonize both.


 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu

 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061116#comment-14061116
 ] 

ASF GitHub Bot commented on PHOENIX-933:


Github user JamesRTaylor commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/3#discussion_r14899221
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/iterate/ParallelIterators.java ---
@@ -238,7 +240,12 @@ private void 
doColumnProjectionOptimization(StatementContext context, Scan scan,
 minMaxRange = 
SaltingUtil.addSaltByte(split.getLowerRange(), minMaxRange);
 split = split.intersect(minMaxRange);
 }
-}
+} else if (localIndex) {
--- End diff --

Let's discuss in a separate JIRA. It's not a big deal.


 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu

 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061127#comment-14061127
 ] 

ASF GitHub Bot commented on PHOENIX-933:


Github user JamesRTaylor commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/3#discussion_r14899559
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/iterate/DefaultParallelIteratorRegionSplitter.java
 ---
@@ -140,7 +142,14 @@ public boolean apply(HRegionLocation location) {
 // distributed across regions, using this scheme compensates for 
regions that
 // have more rows than others, by applying tighter splits and 
therefore spawning
 // off more scans over the overloaded regions.
-int splitsPerRegion = regions.size() = targetConcurrency ? 1 : 
(regions.size()  targetConcurrency / 2 ? maxConcurrency : targetConcurrency) / 
regions.size();
+PTable table = tableRef.getTable();
--- End diff --

That's what the splitsPerRegion variable and subsequent logic in 
ParallelIterators does - it creates additional split points within the range so 
that multiple scans get run over a single region. We'd want to prefix each of 
these with the same start region key. I'll open a separate JIRA for this too. 
It's not a big deal - most of the time the parallelization slots would be used 
up by having to do a scan in each region anyway.


 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu

 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (PHOENIX-1084) Use same split logic for intra region splits over local indexes

2014-07-14 Thread James Taylor (JIRA)
James Taylor created PHOENIX-1084:
-

 Summary: Use same split logic for intra region splits over local 
indexes
 Key: PHOENIX-1084
 URL: https://issues.apache.org/jira/browse/PHOENIX-1084
 Project: Phoenix
  Issue Type: Sub-task
Reporter: rajeshbabu
Assignee: rajeshbabu


We currently have two separate classes that represent a column family/column 
qualifier combo: ColumnReference and ReferencingColumn. I believe the only 
difference is that ReferencingColumn allows a backing byte array to be used 
with an offset and length. Since ColumnReference already has an 
ImmutableBytesPtr we can add a constructor that takes two offsets and lengths 
for the family and qualifier and do a bit of minor refactoring (removing the 
family and qualifier member variables and just use the familyPtr and 
qualifierPtr ones exclusivly) so that we don't have two classes for the same 
thing:
{code}
public class ColumnReference implements ComparableColumnReference {

  public ColumnReference(byte[] family, int familyOffset, int familyLength, 
byte[] qualifier, int qualifierOffset, int qualiferLength) {
this.familyPtr = new ImmutableBytesPtr(family, familyOffset, familyLength);
this.qualifierPtr = new ImmutableBytesPtr(qualifier, qualifierOffset, 
qualifierLength);
this.hashCode = calcHashCode(familyPtr.get(), qualifierPtr.get());
  }
{code}

Another useful addition would be to implement Writable so we don't duplicate 
the serialization logic.




--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (PHOENIX-1085) Commonize logic for adding salt byte and adding region start key in ParallelIterators

2014-07-14 Thread James Taylor (JIRA)
James Taylor created PHOENIX-1085:
-

 Summary: Commonize logic for adding salt byte and adding region 
start key in ParallelIterators
 Key: PHOENIX-1085
 URL: https://issues.apache.org/jira/browse/PHOENIX-1085
 Project: Phoenix
  Issue Type: Sub-task
Reporter: James Taylor
Priority: Minor






--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (PHOENIX-1086) Document local indexes

2014-07-14 Thread James Taylor (JIRA)
James Taylor created PHOENIX-1086:
-

 Summary: Document local indexes
 Key: PHOENIX-1086
 URL: https://issues.apache.org/jira/browse/PHOENIX-1086
 Project: Phoenix
  Issue Type: Sub-task
Reporter: James Taylor
Assignee: rajeshbabu
Priority: Minor


Update our website with information on local indexes: 
http://phoenix.apache.org/secondary_indexing.html. The Phoenix website lives in 
svn and is authored, in general, using markdown. See the build.txt for more 
information on how to build/update.

The information should be user level - explain how to create a local index 
(i.e. just by adding the LOCAL keyword). Then explain the performance 
characteristics/tradeoffs.

The architectural information is useful too, but more for advanced users. Maybe 
we can have a link from the user level doc to the architectural doc?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PHOENIX-1085) Commonize logic for adding salt byte and adding region start key in ParallelIterators

2014-07-14 Thread James Taylor (JIRA)

 [ 
https://issues.apache.org/jira/browse/PHOENIX-1085?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Taylor updated PHOENIX-1085:
--

Description: See 
https://github.com/apache/phoenix/pull/3#discussion_r14899221

 Commonize logic for adding salt byte and adding region start key in 
 ParallelIterators
 -

 Key: PHOENIX-1085
 URL: https://issues.apache.org/jira/browse/PHOENIX-1085
 Project: Phoenix
  Issue Type: Sub-task
Reporter: James Taylor
Priority: Minor

 See https://github.com/apache/phoenix/pull/3#discussion_r14899221



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PHOENIX-1084) Use same split logic for intra region splits over local indexes

2014-07-14 Thread James Taylor (JIRA)

 [ 
https://issues.apache.org/jira/browse/PHOENIX-1084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Taylor updated PHOENIX-1084:
--

Priority: Minor  (was: Major)

 Use same split logic for intra region splits over local indexes
 ---

 Key: PHOENIX-1084
 URL: https://issues.apache.org/jira/browse/PHOENIX-1084
 Project: Phoenix
  Issue Type: Sub-task
Reporter: rajeshbabu
Assignee: rajeshbabu
Priority: Minor

 See https://github.com/apache/phoenix/pull/3#discussion_r14899559



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PHOENIX-1060) Replace ReferencingColumn with ColumnReference

2014-07-14 Thread James Taylor (JIRA)

 [ 
https://issues.apache.org/jira/browse/PHOENIX-1060?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Taylor updated PHOENIX-1060:
--

Priority: Minor  (was: Major)

 Replace ReferencingColumn with ColumnReference
 --

 Key: PHOENIX-1060
 URL: https://issues.apache.org/jira/browse/PHOENIX-1060
 Project: Phoenix
  Issue Type: Sub-task
Reporter: rajeshbabu
Assignee: rajeshbabu
Priority: Minor

 We currently have two separate classes that represent a column family/column 
 qualifier combo: ColumnReference and ReferencingColumn. I believe the only 
 difference is that ReferencingColumn allows a backing byte array to be used 
 with an offset and length. Since ColumnReference already has an 
 ImmutableBytesPtr we can add a constructor that takes two offsets and lengths 
 for the family and qualifier and do a bit of minor refactoring (removing the 
 family and qualifier member variables and just use the familyPtr and 
 qualifierPtr ones exclusivly) so that we don't have two classes for the same 
 thing:
 {code}
 public class ColumnReference implements ComparableColumnReference {
 
   public ColumnReference(byte[] family, int familyOffset, int familyLength, 
 byte[] qualifier, int qualifierOffset, int qualiferLength) {
 this.familyPtr = new ImmutableBytesPtr(family, familyOffset, 
 familyLength);
 this.qualifierPtr = new ImmutableBytesPtr(qualifier, qualifierOffset, 
 qualifierLength);
 this.hashCode = calcHashCode(familyPtr.get(), qualifierPtr.get());
   }
 {code}
 Another useful addition would be to implement Writable so we don't duplicate 
 the serialization logic.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread rajeshbabu (JIRA)

 [ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

rajeshbabu updated PHOENIX-933:
---

Attachment: PHOENIX-933.patch

Here is the patch for master branch. I will upload 4.0 patch tomorrow. 

Thank you very much for your help and reviews [~jamestaylor].
Thanks [~ramkrishna],[~anoop.hbase].

 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu
 Attachments: PHOENIX-933.patch


 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-938) Use higher priority queue for index updates to prevent deadlock

2014-07-14 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061177#comment-14061177
 ] 

Ted Yu commented on PHOENIX-938:


bq. +Class.forName(org.apache.hadoop.hbase.ipc.RpcExector);

Looks like there was a typo above: RpcExector

 Use higher priority queue for index updates to prevent deadlock
 ---

 Key: PHOENIX-938
 URL: https://issues.apache.org/jira/browse/PHOENIX-938
 Project: Phoenix
  Issue Type: Bug
Affects Versions: 4.0.0, 4.1
Reporter: James Taylor
Assignee: Jesse Yates
 Fix For: 5.0.0, 4.1

 Attachments: PHOENIX-938-master-v3.patch, phoenix-938-4.0-v0.patch, 
 phoenix-938-master-v0.patch, phoenix-938-master-v1.patch, 
 phoenix-938-master-v2.patch


 With our current global secondary indexing solution, a batched Put of table 
 data causes a RS to do a batch Put to other RSs. This has the potential to 
 lead to a deadlock if all RS are overloaded and unable to process the pending 
 batched Put. To prevent this, we should use a higher priority queue to submit 
 these Puts so that they're always processed before other Puts. This will 
 prevent the potential for a deadlock under high load. Note that this will 
 likely require some HBase 0.98 code changes and would not be feasible to 
 implement for HBase 0.94.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (PHOENIX-1087) Support joining back to data table from local index table for join queries

2014-07-14 Thread James Taylor (JIRA)
James Taylor created PHOENIX-1087:
-

 Summary: Support joining back to data table from local index table 
for join queries
 Key: PHOENIX-1087
 URL: https://issues.apache.org/jira/browse/PHOENIX-1087
 Project: Phoenix
  Issue Type: Sub-task
Reporter: James Taylor
Assignee: rajeshbabu


See https://github.com/apache/phoenix/pull/3#discussion_r14897862. 
[~maryannxue] can likely give you some help/pointers for this one.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-539) Implement parallel scanner that does not spool to disk

2014-07-14 Thread James Taylor (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061350#comment-14061350
 ] 

James Taylor commented on PHOENIX-539:
--

Any select query that returns more rows than the batch size for one of the
parallelized scans.




 Implement parallel scanner that does not spool to disk
 --

 Key: PHOENIX-539
 URL: https://issues.apache.org/jira/browse/PHOENIX-539
 Project: Phoenix
  Issue Type: Task
Reporter: James Taylor
Assignee: Gabriel Reid
 Fix For: 5.0.0, 3.1, 4.1

 Attachments: PHOENIX-539.1.patch, PHOENIX-539.patch


 In scenarios where a LIMIT is not present on a non aggregate query that will 
 return a lot of results, Phoenix spools the results to disk. This is less 
 than ideal in these situations. @larsh has created a very good and relatively 
 simple implementation that is queue based to replace this.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-938) Use higher priority queue for index updates to prevent deadlock

2014-07-14 Thread Jesse Yates (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061358#comment-14061358
 ] 

Jesse Yates commented on PHOENIX-938:
-

and linking this to HBASE-11513 so we an use the BalancedRpcExecutor in Phoenix 
as well, rather than having to make our own.

 Use higher priority queue for index updates to prevent deadlock
 ---

 Key: PHOENIX-938
 URL: https://issues.apache.org/jira/browse/PHOENIX-938
 Project: Phoenix
  Issue Type: Bug
Affects Versions: 4.0.0, 4.1
Reporter: James Taylor
Assignee: Jesse Yates
 Fix For: 5.0.0, 4.1

 Attachments: PHOENIX-938-master-v3.patch, phoenix-938-4.0-v0.patch, 
 phoenix-938-master-v0.patch, phoenix-938-master-v1.patch, 
 phoenix-938-master-v2.patch, phoenix-938-master-v4.patch


 With our current global secondary indexing solution, a batched Put of table 
 data causes a RS to do a batch Put to other RSs. This has the potential to 
 lead to a deadlock if all RS are overloaded and unable to process the pending 
 batched Put. To prevent this, we should use a higher priority queue to submit 
 these Puts so that they're always processed before other Puts. This will 
 prevent the potential for a deadlock under high load. Note that this will 
 likely require some HBase 0.98 code changes and would not be feasible to 
 implement for HBase 0.94.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061653#comment-14061653
 ] 

ramkrishna.s.vasudevan commented on PHOENIX-933:


Anyway to edit the message?

 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu
Assignee: rajeshbabu
 Attachments: PHOENIX-933.patch


 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061659#comment-14061659
 ] 

Hudson commented on PHOENIX-933:


FAILURE: Integrated in Phoenix | Master | Hadoop1 #271 (See 
[https://builds.apache.org/job/Phoenix-master-hadoop1/271/])
PHOENIX-933 Local index support to Phoenix (Ram) (ramkrishna: rev 
247ac8eee8ca604ca1616ba4bcf91fec6475ea88)
* phoenix-core/src/main/java/org/apache/phoenix/query/QueryConstants.java
* phoenix-core/src/main/java/org/apache/phoenix/index/IndexMaintainer.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java
* 
phoenix-core/src/main/java/org/apache/phoenix/expression/visitor/RowKeyExpressionVisitor.java
* 
phoenix-core/src/main/java/org/apache/phoenix/iterate/ParallelIteratorRegionSplitter.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/CreateIndexCompiler.java
* 
phoenix-core/src/it/java/org/apache/phoenix/hbase/index/balancer/TestIndexLoadBalancer.java
* phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java
* 
phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableIT.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
* 
phoenix-core/src/main/java/org/apache/phoenix/hbase/index/balancer/IndexLoadBalancer.java
* 
phoenix-core/src/main/java/org/apache/phoenix/iterate/LocalIndexParallelIteratorRegionSplitter.java
* 
phoenix-core/src/main/java/org/apache/phoenix/expression/RowKeyColumnExpression.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/DeleteIT.java
* phoenix-core/src/main/java/org/apache/phoenix/expression/ExpressionType.java
* phoenix-core/src/main/antlr3/PhoenixSQL.g
* 
phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificViewIndexSaltedIT.java
* phoenix-core/src/main/java/org/apache/phoenix/join/TupleProjector.java
* phoenix-core/src/main/java/org/apache/phoenix/index/PhoenixIndexCodec.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/PTableProtos.java
* phoenix-core/src/main/java/org/apache/phoenix/util/IndexUtil.java
* phoenix-core/src/main/java/org/apache/phoenix/execute/BasicQueryPlan.java
* phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeFactory.java
* 
phoenix-core/src/main/java/org/apache/phoenix/hbase/index/master/IndexMasterObserver.java
* phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseViewIT.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java
* 
phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/GroupedAggregateRegionObserver.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
* 
phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificViewIndexIT.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java
* 
phoenix-core/src/main/java/org/apache/phoenix/expression/KeyValueColumnExpression.java
* 
phoenix-core/src/main/java/org/apache/phoenix/hbase/index/util/IndexManagementUtil.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/SaltedViewIT.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
* 
phoenix-core/src/main/java/org/apache/phoenix/schema/LocalIndexDataColumnRef.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/WhereCompiler.java
* phoenix-core/src/test/java/org/apache/phoenix/index/IndexMaintainerTest.java
* phoenix-core/src/main/java/org/apache/phoenix/parse/CreateIndexStatement.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/ColumnRef.java
* phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
* phoenix-core/src/main/java/org/apache/phoenix/iterate/ParallelIterators.java
* 
phoenix-core/src/main/java/org/apache/phoenix/hbase/index/IndexRegionSplitPolicy.java
* phoenix-core/src/main/java/org/apache/phoenix/exception/SQLExceptionCode.java
* 
phoenix-core/src/main/java/org/apache/phoenix/iterate/DefaultParallelIteratorRegionSplitter.java
* phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeRewriter.java
* 

[jira] [Commented] (PHOENIX-933) Local index support to Phoenix

2014-07-14 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14061670#comment-14061670
 ] 

ASF GitHub Bot commented on PHOENIX-933:


Github user ramkrish86 commented on the pull request:

https://github.com/apache/phoenix/pull/3#issuecomment-48991061
  
bq. just add a .patch to the url for the pull request and you'll have the 
patch file to apply against the normal/updatable repo
That's nice.  I tried it, it works. :)


 Local index support to Phoenix
 --

 Key: PHOENIX-933
 URL: https://issues.apache.org/jira/browse/PHOENIX-933
 Project: Phoenix
  Issue Type: New Feature
Reporter: rajeshbabu
Assignee: rajeshbabu
 Attachments: PHOENIX-933.patch


 Hindex(https://github.com/Huawei-Hadoop/hindex) provides local indexing 
 support to HBase. It stores region level index in a separate table, and 
 co-locates the user and index table regions with a custom load balancer.
 See http://goo.gl/phkhwC and http://goo.gl/EswlxC for more information. 
 This JIRA addresses the local indexing solution integration to phoenix.



--
This message was sent by Atlassian JIRA
(v6.2#6252)