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

ASF GitHub Bot commented on TEPHRA-223:
---------------------------------------

Github user poornachandra commented on the issue:

    https://github.com/apache/incubator-tephra/pull/37
  
    @chtyim I have addressed the comments, please take a look


> Transactions started after a snapshot restore can have incorrect invalid 
> transaction list
> -----------------------------------------------------------------------------------------
>
>                 Key: TEPHRA-223
>                 URL: https://issues.apache.org/jira/browse/TEPHRA-223
>             Project: Tephra
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.5.0, 0.6.5, 0.7.0, 0.8.0-incubating, 0.9.0-incubating, 
> 0.10.0-incubating
>            Reporter: Poorna Chandra
>            Assignee: Poorna Chandra
>             Fix For: 0.12.0-incubating
>
>
> Transaction Manager uses two datastructures to manage the invalid list - a 
> {{List}} and an {{array}}. All updates to invalid list happen to the 
> {{List}}, and the list is then sorted and copied over to the {{array}}. This 
> is an optimization done so as to not sort the invalid list every time a new 
> transaction is created.
> However during a snapshot restore after the Transaction Manager starts up, 
> the invalid list gets correctly restored to the {{List}} but does not get 
> copied over to the {{array}}. This will lead to transactions started right 
> after a snapshot restore to have empty invalid list. This will make invalid 
> data to become visible to those transactions.
> Since the {{List}} still contains the right invalid list, any update to the 
> invalid list - like invalidating a transaction,  will restore the {{array}} 
> back to a good state.
> Also compactions will still remove invalid data as expected since new 
> snapshots are searialized using the {{List}}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to