phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Houliang Qi (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PHOENIX-3336) get the wrong results when using the local secondary index
Date Wed, 18 Jan 2017 12:04:26 GMT

     [ 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 the other client 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.

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)



> 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: create_table_orders.sql, readme.txt, sample_1.csv, sample_2.csv,
wrong-index-2.png
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> When using phoenix local secondary index, two clients concurrent upsert data to the same
row key, while the other client 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)

Mime
View raw message