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

Hadoop QA commented on PHOENIX-5709:
------------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  
http://issues.apache.org/jira/secure/attachment/12992990/PHOENIX-5709.4.x-HBase-1.3.002.patch
  against 4.x-HBase-1.3 branch at commit 
f57b5b4732a421af61d99d30413ff81533dd1e8f.
  ATTACHMENT ID: 12992990

    {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:
    +    @Ignore ("It is not possible to assign the same timestamp two 
separately committed mutations in the current model\n" +
+            " except when the server time goes backward. In that case, the 
behavior is not deterministic")
+            populateTable(dataTableName); // with two rows ('a', 'ab', 'abc', 
'abcd') and ('b', 'bc', 'bcd', 'bcde')
+            populateTable(dataTableName); // with two rows ('a', 'ab', 'abc', 
'abcd') and ('b', 'bc', 'bcd', 'bcde')
+            // Configure IndexRegionObserver to fail the last write phase 
(i.e., the post index update phase) where the
+            // verify flag is set to true and/or index rows are deleted and 
check that this does not impact the
+            conn.createStatement().execute("upsert into " + dataTableName + " 
(id, val2) values ('a', 'abcc')");
+            conn.createStatement().execute("upsert into " + dataTableName + " 
(id, val1) values ('a', 'aa')");
+            // The expected state of the index table is  {('aa', 'a', 'abcc', 
'abcd'), ('bc', 'b', 'bcd', 'bcde')}
+            conn.createStatement().execute("upsert into " + dataTableName + " 
(id, val1, val3) values ('a', null, null)");

     {color:red}-1 core tests{color}.  The patch failed these unit tests:
     
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.iterate.RoundRobinResultIteratorWithStatsIT
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.PermissionNSEnabledIT
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.PermissionNSDisabledIT
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.PermissionsCacheIT

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

This message is automatically generated.

> Simplify index update generation code for consistent global indexes
> -------------------------------------------------------------------
>
>                 Key: PHOENIX-5709
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5709
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 5.0.0, 4.14.3
>            Reporter: Kadir OZDEMIR
>            Assignee: Kadir OZDEMIR
>            Priority: Major
>             Fix For: 5.0.0, 4.14.3
>
>         Attachments: PHOENIX-5709.4.x-HBase-1.3.001.patch, 
> PHOENIX-5709.4.x-HBase-1.3.002.patch, PHOENIX-5709.master.001.patch, 
> PHOENIX-5709.master.002.patch, PHOENIX-5709.master.003.patch, 
> PHOENIX-5709.master.004.patch, PHOENIX-5709.master.005.patch, 
> PHOENIX-5709.master.006.patch, PHOENIX-5709.master.007.patch
>
>          Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> The implementation of the new global index design by PHOENIX-5156 essentially 
> introduced two coprocessors, IndexRegionObserver and GlobalIndexChecker. 
> IndexRegionObserver is the counterpart of the existing Indexer coprocessor 
> that the previous global indexing feature uses. It implements the indexing 
> write path. GlobalIndexChecker implements the read verification and read 
> repair that happens on the read path. One of the main objectives of the 
> design behind new global indexing was to leverage as much existing indexing 
> code as possible. This objective has been achieved greatly as the entire 
> index table update generation code implemented by various classes (including 
> PhoenixIndexBuilder, CachedLocalTable, NonTxIndexBuilder, IndexUpdateManager, 
>  LocalTableState, ScannerBuilder, IndexMemStore and PhoenixIndexCodec) is 
> leveraged as it is mainly. This objective has served us well to deliver the 
> new indexing feature quickly. The leveraged code is very complex, over 
> engineered, and inefficient, and is not bug free. It is very hard to 
> maintain. It is time to replace the complex set of classes with something 
> drastically simpler and more efficient for the new design.



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

Reply via email to