[
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)