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

Hadoop QA commented on PHOENIX-5558:
------------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  
http://issues.apache.org/jira/secure/attachment/12984874/PHOENIX-5558.master.001.patch
  against master branch at commit 0aa7d5722d92126d2e50fd2b1346c57305c4d745.
  ATTACHMENT ID: 12984874

    {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:
    +                public ImmutableBytesWritable 
getLatestValue(ColumnReference ref, long ts) throws IOException {
+                    valuePtr.set(cell.getValueArray(), cell.getValueOffset(), 
cell.getValueLength());
+            byte[] builtIndexRowKey = indexMaintainer.buildRowKey(getter, new 
ImmutableBytesWritable(put.getRow()),
+                                // GlobalIndexChecker passed the index row 
key. This is to build a single index row.
+                                // Check if the data table row we have just 
scanned matches with the index row key.
+                                // If not, there is no need to build the index 
row from this data table row,
+                
buildIndexScan.addColumn(indexMaintainer.getDataEmptyKeyValueCF(), 
indexMaintainer.getEmptyKeyValueQualifier());
+            // Pass the index row key to the partial index builder which will 
build the index row only when the data
+            long rowCount = PLong.INSTANCE.getCodec().decodeLong(new 
ImmutableBytesWritable(value), SortOrder.getDefault());

     {color:red}-1 core tests{color}.  The patch failed these unit tests:
     
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.index.MutableIndexIT

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

This message is automatically generated.

> Eliminate the second single data row scan during read repairs
> -------------------------------------------------------------
>
>                 Key: PHOENIX-5558
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5558
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 5.1.0
>            Reporter: Kadir OZDEMIR
>            Assignee: Kadir OZDEMIR
>            Priority: Major
>         Attachments: PHOENIX-5558.master.001.patch
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Initially GlobalIndexChecker used a raw scan to rebuild an index row in order 
> to replay delete markers while rebuilding the row. Although a single index 
> row was rebuilt, the number of mutations that are replayed could be one or 
> more. Because of this, GlobalIndexChecker could not determine if the data 
> table row corresponding to the unverified index row exists or not by just 
> looking at the mutation count returned by UngroupedAggregateRegionObserver. 
> Thus, GlobalIndexChecker had to do another single row scan on the data table 
> to find out if the data table row exist. After PHOENIX-5535, 
> GlobalIndexChecker does not use raw scans anymore. This means that the second 
> single data table row scan during the read repair can be eliminated.



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

Reply via email to