Kadir OZDEMIR updated PHOENIX-5709:
    Attachment: PHOENIX-5709.4.x-HBase-1.3.004.patch

> 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.4.x-HBase-1.3.003.patch, 
> PHOENIX-5709.4.x-HBase-1.3.004.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, 
> PHOENIX-5709.master.008.patch, PHOENIX-5709.master.009.patch
>          Time Spent: 6h 50m
>  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

Reply via email to