[ 
https://issues.apache.org/jira/browse/PHOENIX-2446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15098768#comment-15098768
 ] 

James Taylor commented on PHOENIX-2446:
---------------------------------------

That's good information. So how can we guarantee that the mvcc gets advanced 
before the UPSERT SELECT runs? Would a flush do that or would it not see the 
data yet either potentially because the mvcc hasn't been advanced? Is a sleep 
our only option, and if so would a very minimal sleep (1-5 seconds) do the 
trick? Of course there's always stuff that can delay the advance of the mvcc.

[~lhofhansl] - any advice for us here? FWIW, we've take a different approach 
for transactional tables, leveraging the transaction manager where we can 
detect this situation reliably.

> Immutable index - Index vs base table row count does not match when index is 
> created during data load
> -----------------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-2446
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2446
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.6.0
>            Reporter: Mujtaba Chohan
>            Assignee: Thomas D'Silva
>             Fix For: 4.7.0
>
>         Attachments: PHOENIX-2446-wip.patch, PHOENIX-2446.patch, server.log
>
>
> I'll add more details later but here's the scenario that consistently 
> produces wrong row count for index table vs base table for immutable async 
> index.
> 1. Start data upsert
> 2. Create async index
> 3. Trigger M/R index build
> 4. Keep data upsert going in background during step 2,3 and a while after M/R 
> index finishes.
> 5. End data upsert. 
> Now count with index enabled vs count with hint to not use index is off by a 
> large factor. Will get a cleaner repro for this issue soon.



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

Reply via email to