You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Hadoop QA (Jira)" <ji...@apache.org> on 2019/11/03 16:22:00 UTC

[jira] [Commented] (PHOENIX-5556) Avoid repeatedly loading IndexMetaData For IndexRegionObserver

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

Hadoop QA commented on PHOENIX-5556:
------------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12984719/PHOENIX-5556_v2-4.x-HBase-1.4.patch
  against 4.x-HBase-1.4 branch at commit 67d72a222e204f195a206bb6c5973f7e175ef951.
  ATTACHMENT ID: 12984719

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:red}-1 tests included{color}.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of javac compiler warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number of release audit warnings.

    {color:red}-1 lineLengths{color}.  The patch introduces the following lines longer than 100:
    +                  "preBatchMutateWithExceptions: indexMetaData is not an instance of "+PhoenixIndexMetaData.class.getName() +
+                          observerContext.getEnvironment().getRegion().getRegionInfo().getTable().getNameAsString());

     {color:red}-1 core tests{color}.  The patch failed these unit tests:
     

Test results: https://builds.apache.org/job/PreCommit-PHOENIX-Build/3091//testReport/
Console output: https://builds.apache.org/job/PreCommit-PHOENIX-Build/3091//console

This message is automatically generated.

> Avoid repeatedly loading  IndexMetaData For IndexRegionObserver
> ---------------------------------------------------------------
>
>                 Key: PHOENIX-5556
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5556
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.15.0, 5.1.0
>            Reporter: Chenglei
>            Assignee: chenglei
>            Priority: Major
>         Attachments: PHOENIX-5556_v2-4.x-HBase-1.4.patch
>
>
> Loading {{IndexMetaData}} is a somewhat expensive operation because it may deserialize from scan attribute. In following  {{IndexRegionObserver.preBatchMutateWithExceptions}} method, {{IndexMetaData}} is loaded already for line 613, but in {{IndexRegionObserver.prepareIndexMutations}} method which is invoked by line 639,  {{IndexMetaData}}  is loaded again, which is unnecessary.
> {code:java}
> 610 public void preBatchMutateWithExceptions(ObserverContext<RegionCoprocessorEnvironment> c,
> 611                    MiniBatchOperationInProgress<Mutation> miniBatchOp) throws Throwable {
> 612         ignoreAtomicOperations(miniBatchOp);
> 613         BatchMutateContext context = new BatchMutateContext(this.builder.getIndexMetaData(miniBatchOp).getClientVersion());
> 614        setBatchMutateContext(c, context);
> 615         Mutation firstMutation = miniBatchOp.getOperation(0);
>               ....
> 639        prepareIndexMutations(c, miniBatchOp, context, mutations, now);
> 640        metricSource.updateIndexPrepareTime(EnvironmentEdgeManager.currentTimeMillis() - start);
> {code}



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