phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <>
Subject [jira] [Updated] (PHOENIX-4089) Prevent index from getting out of sync with data table under high concurrency
Date Thu, 17 Aug 2017 02:22:01 GMT


James Taylor updated PHOENIX-4089:
    Attachment: PHOENIX-4089_v4.patch

Fixed test issue and removed unnecessary code. The code added for calling buildIndex from
the UpsertCompiler is not correct and not really a good idea. We'd have to add such code after
all DML statements and they'd potentially all be partially building the index. That's what
our catchup query in MetaDataClient.buildIndex() is for. It was only not working before because
we were building the index synchronously in the coprocessor call and thus not giving our catchup
query a chance to work. Please review, [~tdsilva].

> Prevent index from getting out of sync with data table under high concurrency
> -----------------------------------------------------------------------------
>                 Key: PHOENIX-4089
>                 URL:
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: James Taylor
>             Fix For: 4.12.0
>         Attachments: PHOENIX-4089_4.x-HBase-0.98.patch, PHOENIX-4089_4.x-HBase-0.98_v2.patch,
PHOENIX-4089_v1.patch, PHOENIX_4089_v2.patch, PHOENIX_4089_v3.patch, PHOENIX-4089_v4.patch
> Under high concurrency, we're still seeing the index get out of sync with the data table.
It seems that the particular case is when the same Put occurs with the same time stamp from
different clients, based on the locking we do, Phoenix thinks a different Put was the last
one than HBase does, leading to inconsistencies.
> The solution is to timestamp the cells on the server-side after the lock has been taken.
The new concurrent unit test passes 50x with this in place, while it otherwise fails 1/10
of the time (or more on HBase 1.3).

This message was sent by Atlassian JIRA

View raw message