[
https://issues.apache.org/jira/browse/PHOENIX-5709?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kadir OZDEMIR updated PHOENIX-5709:
-----------------------------------
Summary: Base changes for simplifying index update generation code for
consistent global indexes (was: Simplify index update generation code for
consistent global indexes)
> Base changes for simplifying index update generation code for consistent
> global indexes
> ---------------------------------------------------------------------------------------
>
> Key: PHOENIX-5709
> URL: https://issues.apache.org/jira/browse/PHOENIX-5709
> Project: Phoenix
> Issue Type: Sub-task
> 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.4.x-HBase-1.3.005.patch,
> PHOENIX-5709.4.x-HBase-1.3.006.patch, PHOENIX-5709.4.x-HBase-1.3.007.patch,
> PHOENIX-5709.4.x-HBase-1.3.008.patch, PHOENIX-5709.4.x-HBase-1.3.009.patch,
> PHOENIX-5709.4.x-HBase-1.3.010.patch, PHOENIX-5709.4.x-HBase-1.3.011.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, PHOENIX-5709.master.010.patch,
> PHOENIX-5709.master.011.patch, PHOENIX-5709.master.012.patch,
> PHOENIX-5709.master.013.patch, PHOENIX-5709.master.014.patch,
> PHOENIX-5709.master.015.patch
>
> Time Spent: 10h 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)