[ 
https://issues.apache.org/jira/browse/PHOENIX-3336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Houliang Qi updated PHOENIX-3336:
---------------------------------
    Description: 
When using phoenix local secondary index, two clients concurrent upsert data to 
the same row key, while using the index column to retrieve data, it gets the 
wrong results.

Just like the attachments, I create one table called orders_5, and create one 
local index on table orders_5, called clerk_5; then I use two clients to upsert 
data to the same row key of  table orders_5, and you will see that, the local 
index clerk_5 have some stale record (maybe its OK for eventual consistency),  
however, when you use the previous value to retrieve the record, you can still 
get the result, even more serious, the result is wrong, namely it not the 
record which you have insert before, and also not the record in the primary 
table(in the case ,is the table orders_5)


  was:when using phoenix local secondary index, two clients concurrent upsert 
data to the same row key, while using the index column to retrieve data, it 
gets the wrong results.


> get the wrong results when using the local secondary index
> ----------------------------------------------------------
>
>                 Key: PHOENIX-3336
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3336
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.8.0
>         Environment: hbase-1.1.2
>            Reporter: Houliang Qi
>              Labels: phoenix, secondaryIndex
>         Attachments: wrong-index.png
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> When using phoenix local secondary index, two clients concurrent upsert data 
> to the same row key, while using the index column to retrieve data, it gets 
> the wrong results.
> Just like the attachments, I create one table called orders_5, and create one 
> local index on table orders_5, called clerk_5; then I use two clients to 
> upsert data to the same row key of  table orders_5, and you will see that, 
> the local index clerk_5 have some stale record (maybe its OK for eventual 
> consistency),  however, when you use the previous value to retrieve the 
> record, you can still get the result, even more serious, the result is wrong, 
> namely it not the record which you have insert before, and also not the 
> record in the primary table(in the case ,is the table orders_5)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to