[ https://issues.apache.org/jira/browse/PHOENIX-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14057420#comment-14057420 ]
ASF GitHub Bot commented on PHOENIX-933: ---------------------------------------- Github user JamesRTaylor commented on a diff in the pull request: https://github.com/apache/phoenix/pull/1#discussion_r14762643 --- Diff: phoenix-core/src/main/java/org/apache/phoenix/compile/TrackOrderPreservingExpressionCompiler.java --- @@ -69,6 +70,7 @@ boolean isSharedViewIndex = table.getViewIndexId() != null; // TODO: util for this offset, as it's computed in numerous places positionOffset = (isSalted ? 1 : 0) + (isMultiTenant ? 1 : 0) + (isSharedViewIndex ? 1 : 0); + this.isOrderPreserving &= table.getIndexType() != IndexType.LOCAL; --- End diff -- One thing that's necessary, though, to maintain rows in row key order is to modify ScanPlan.java:118 to do a merge sort instead of a concat: if ((isSalted || isLocalIndex) && (context.getConnection().getQueryServices().getProps().getBoolean( QueryServices.ROW_KEY_ORDER_SALTED_TABLE_ATTRIB, QueryServicesOptions.DEFAULT_ROW_KEY_ORDER_SALTED_TABLE) || orderBy == OrderBy.FWD_ROW_KEY_ORDER_BY || orderBy == OrderBy.REV_ROW_KEY_ORDER_BY)) { // ORDER BY was optimized out b/c query is in row key order scanner = new MergeSortRowKeyResultIterator(iterators, SaltingUtil.NUM_SALTING_BYTES, orderBy == OrderBy.REV_ROW_KEY_ORDER_BY); } else { scanner = new ConcatResultIterator(iterators); } Local indexes are similar to salted tables in that the parallel scans will all be within a region, ordered correctly. As long as we do a merge sort across the results of these scans, the rows will be ordered correctly. > 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)