[
https://issues.apache.org/jira/browse/PHOENIX-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16960134#comment-16960134
]
Hudson commented on PHOENIX-5539:
---------------------------------
FAILURE: Integrated in Jenkins build PreCommit-PHOENIX-Build #3071 (See
[https://builds.apache.org/job/PreCommit-PHOENIX-Build/3071/])
PHOENIX-5539 Full row index write at the last write phase for mutable (kadir:
rev e5373e5d6e109cce577381e3672218a2eb978641)
* (edit)
phoenix-core/src/main/java/org/apache/phoenix/hbase/index/IndexRegionObserver.java
* (edit)
phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexCheckerIT.java
> Full row index write at the last write phase for mutable global indexes
> -----------------------------------------------------------------------
>
> Key: PHOENIX-5539
> URL: https://issues.apache.org/jira/browse/PHOENIX-5539
> Project: Phoenix
> Issue Type: Improvement
> Affects Versions: 5.0.0, 4.15.0
> Reporter: Kadir OZDEMIR
> Assignee: Kadir OZDEMIR
> Priority: Major
> Attachments: PHOENIX-5539.master.001.patch,
> PHOENIX-5539.master.002.patch, PHOENIX-5539.master.003.patch,
> PHOENIX-5539.master.004.patch
>
> Time Spent: 2h 20m
> Remaining Estimate: 0h
>
> In the original design for consistent indexes, we do three phase write. In
> the first phase, we write full index rows with unverified status, then we
> write data table rows, and finally we overwrite the index row status on the
> rows written at the first phase and set it to unverified.
> Instead of writing full index row in the first phase, we can do full index
> row write at the last phase. So, in the first phase, we can just write
> unverified status for the index row. In the last row, we can do full row
> index write at the last phase.
> This change does not impact the correctness of the design but improves
> overall design in terms of efficiency. In the presence of concurrent writes,
> we skip the last write phase. These writes leave the index writes in
> unverified status. Similarly, if the first or second phase write fails, we do
> not proceed with the third phase.
> Since with this change, we will be writing only the empty column with the
> unverified status value (i.e., 2) for index tables in these failure cases,
> the storage usage will be improved as we will write less index data. This
> change also opens up the solution domain for some problems, e.g., handling
> replication lag issues (please see PHOENIX-5527).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)