[ 
https://issues.apache.org/jira/browse/PHOENIX-6458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17379391#comment-17379391
 ] 

ASF GitHub Bot commented on PHOENIX-6458:
-----------------------------------------

virajjasani commented on a change in pull request #1256:
URL: https://github.com/apache/phoenix/pull/1256#discussion_r667666618



##########
File path: 
phoenix-core/src/main/java/org/apache/phoenix/compile/TupleProjectionCompiler.java
##########
@@ -156,7 +155,7 @@ public static PTable createProjectedTable(SelectStatement 
select, StatementConte
         }
         // add LocalIndexDataColumnRef

Review comment:
       nit: `IndexDataColumnRef` in place of `LocalIndexDataColumnRef`?

##########
File path: phoenix-core/src/main/java/org/apache/phoenix/util/IndexUtil.java
##########
@@ -574,20 +575,35 @@ public static void wrapResultUsingOffset(final 
RegionCoprocessorEnvironment envi
                 }
             }
             Result joinResult = null;
-            if (dataRegion != null) {
-                joinResult = dataRegion.get(get);
-            } else {
-                TableName dataTable =
-                    
TableName.valueOf(MetaDataUtil.getLocalIndexUserTableName(environment.getRegion().
-                        
getTableDescriptor().getTableName().getNameAsString()));
+            if (ScanUtil.isLocalIndex(scan)) {
+                if (dataRegion != null) {
+                    joinResult = dataRegion.get(get);
+                } else {
+                    TableName dataTable =
+                        
TableName.valueOf(MetaDataUtil.getLocalIndexUserTableName(environment.getRegion().
+                            
getTableDescriptor().getTableName().getNameAsString()));
+                    Table table = null;
+                    try {
+                        table = 
environment.getConnection().getTable(dataTable);
+                        joinResult = table.get(get);
+                    } finally {
+                        if (table != null) table.close();
+                    }

Review comment:
       Good to replace with `try-with-resources`?

##########
File path: 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
##########
@@ -80,9 +81,15 @@
         "_IndexRebuildDisableLoggingVerifyType";
     public static final String 
INDEX_REBUILD_DISABLE_LOGGING_BEYOND_MAXLOOKBACK_AGE =
         "_IndexRebuildDisableLoggingBeyondMaxLookbackAge";
+    @Deprecated
     public static final String LOCAL_INDEX_FILTER = "_LocalIndexFilter";
+    @Deprecated
     public static final String LOCAL_INDEX_LIMIT = "_LocalIndexLimit";
+    @Deprecated
     public static final String LOCAL_INDEX_FILTER_STR = "_LocalIndexFilterStr";

Review comment:
       I believe these deprecated fields can be removed only after we come to a 
major release (e.g 6.x/7.x) where server running on that release can no longer 
be directly supported by client version <= 4.16/4.17, is that correct?

##########
File path: 
phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java
##########
@@ -1168,8 +1168,8 @@ public ColumnRef resolveColumn(String schemaName, String 
tableName, String colNa
                 colRef = super.resolveColumn(schemaName, tableName, colName);
             } catch (ColumnNotFoundException e) {
                 // This could be a ColumnRef for local index data column.

Review comment:
       nit: we can remove `local` reference here?

##########
File path: phoenix-core/src/main/java/org/apache/phoenix/util/IndexUtil.java
##########
@@ -574,20 +575,35 @@ public static void wrapResultUsingOffset(final 
RegionCoprocessorEnvironment envi
                 }
             }
             Result joinResult = null;
-            if (dataRegion != null) {
-                joinResult = dataRegion.get(get);
-            } else {
-                TableName dataTable =
-                    
TableName.valueOf(MetaDataUtil.getLocalIndexUserTableName(environment.getRegion().
-                        
getTableDescriptor().getTableName().getNameAsString()));
+            if (ScanUtil.isLocalIndex(scan)) {
+                if (dataRegion != null) {
+                    joinResult = dataRegion.get(get);
+                } else {
+                    TableName dataTable =
+                        
TableName.valueOf(MetaDataUtil.getLocalIndexUserTableName(environment.getRegion().
+                            
getTableDescriptor().getTableName().getNameAsString()));
+                    Table table = null;
+                    try {
+                        table = 
environment.getConnection().getTable(dataTable);
+                        joinResult = table.get(get);
+                    } finally {
+                        if (table != null) table.close();
+                    }
+                }
+            } else if (ScanUtil.isGlobalIndex(scan)) {
+                byte[] dataTableName = 
scan.getAttribute(PHYSICAL_DATA_TABLE_NAME);
                 Table table = null;
                 try {
-                    table = environment.getConnection().getTable(dataTable);
+                    table = ServerUtil.ConnectionFactory.

Review comment:
       Same here reg `try-with-resources`




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


> Using global indexes for queries with uncovered columns
> -------------------------------------------------------
>
>                 Key: PHOENIX-6458
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6458
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 5.1.0
>            Reporter: Kadir Ozdemir
>            Priority: Major
>         Attachments: PHOENIX-6458.master.001.patch
>
>
> Phoenix client does not use a global index for the queries with the columns 
> that are not covered by the global index. However, there are many cases where 
> using the global index to map secondary keys to primary keys and then 
> retrieving the corresponding rows from the data table results in faster 
> queries. It is expected that such performance improvement will happen when 
> the index row key prefix length is greater than the data row key prefix 
> length for a given query. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to