[
https://issues.apache.org/jira/browse/PHOENIX-5794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17073408#comment-17073408
]
Rajeshbabu Chintaguntla commented on PHOENIX-5794:
--------------------------------------------------
[~RichardAntal]
- To verify the threshold you are considering only the columns in index pk
constraint but there are other include columns for covered indexes and need
compare the size of those column families crossing the threshold. There are
columnDefs already collected from the all the columns in the index so better to
get the column families from the columnDefs so you need not write much logic to
identify the columns of all the cases.
You can use *IndexUtil.getDataColumnFamilyName* by passing the index column
names in ColumnDef.
And also better to add the covered indexes in the test cases also.
{noformat}
+ ABOVE_INDEX_NON_ASYNC_THRESHOLD(1097, "44A34", "The estimated read size
for index creation "
+ + "is higher than phoenix.index.async.threshold. You can edit the
limit or create"
+ + " ASYNC index."),
{noformat}
Here use QueryServices.CLIENT_INDEX_ASYNC_THRESHOLD constant defined instead of
phoenix.index.async.threshold.
- Check whether the index is not async already and i think currently in the
test case you need to create async index also so that async creation also
should not block.
{noformat}
+ if (threshold > 0) {
{noformat}
to
{noformat}
+ if (threshold > 0 && statement.isAsync()) {
{noformat}
> Create a threshold for non async index creation, that can be modified in
> configs
> --------------------------------------------------------------------------------
>
> Key: PHOENIX-5794
> URL: https://issues.apache.org/jira/browse/PHOENIX-5794
> Project: Phoenix
> Issue Type: Improvement
> Reporter: Richard Antal
> Assignee: Richard Antal
> Priority: Major
> Attachments: PHOENIX-5794.master.v1.patch,
> PHOENIX-5794.master.v2.patch, PHOENIX-5794.master.v3.patch,
> PHOENIX-5794.master.v4.patch, PHOENIX-5794.master.v5.patch,
> PHOENIX-5794.master.v6.patch
>
>
> Issue:
> When user try to create an index on a huge phoenix table the region servers
> crashed which led to multiple regions going in RIT state.
>
> Solution:
> If the expected byte read size is higher than the limit we raise an exception
> to notify the user that the index should be created asynchronously.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)