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

Josh Elser reopened PHOENIX-4940:
---------------------------------

Pretty sure this change is the culprit causing IndexToolIT to fail:
{noformat}
2019-02-08 23:42:13,882 ERROR [main] 
org.apache.phoenix.mapreduce.index.IndexTool(628): An exception occurred while 
performing the indexing job: NullPointerException:  at:
java.lang.NullPointerException
        at 
org.apache.commons.cli.DefaultParser.handleToken(DefaultParser.java:237)
        at org.apache.commons.cli.DefaultParser.parse(DefaultParser.java:120)
        at org.apache.commons.cli.DefaultParser.parse(DefaultParser.java:76)
        at org.apache.commons.cli.DefaultParser.parse(DefaultParser.java:60)
        at 
org.apache.phoenix.mapreduce.index.IndexTool.parseOptions(IndexTool.java:189)
        at org.apache.phoenix.mapreduce.index.IndexTool.run(IndexTool.java:534)
        at 
org.apache.phoenix.end2end.IndexToolIT.runIndexTool(IndexToolIT.java:512)
        at 
org.apache.phoenix.end2end.IndexToolIT.runIndexTool(IndexToolIT.java:498)
        at 
org.apache.phoenix.end2end.IndexToolIT.testSplitIndex(IndexToolIT.java:424){noformat}
The change:
{noformat}
             // run with 50% sampling rate, split if data table more than 3 
regions
-            runIndexTool(directApi, useSnapshot, schemaName, dataTableName, 
indexTableName, "-sp", "50", "-spa", "3");
+            runIndexTool(directApi, useSnapshot, schemaName, dataTableName, 
indexTableName, null,"-sp", "50", "-spa", "3");{noformat}
adds a null into {{additionalArgs}} which causes the commandline parser to 
break.

Let me put up an addendum to fix this.

> IndexTool should be able to rebuild tenant-owned indexes
> --------------------------------------------------------
>
>                 Key: PHOENIX-4940
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4940
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 4.14.0, 5.0.0
>            Reporter: Geoffrey Jacoby
>            Assignee: Gokcen Iskender
>            Priority: Major
>             Fix For: 4.15.0, 5.1
>
>         Attachments: PHOENIX-4940-4.x.patch, PHOENIX-4940-addendum.patch
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> IndexTool uses global connections to lookup the indexes which it's asked to 
> rebuild, which means that it won't be able to see indexes owned by tenant 
> views. We should add an optional tenantId parameter to it that will use a 
> tenant connection (and potentially our MapReduce framework's tenant 
> connection support) to allow for rebuilding those indexes as well. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to