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

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

Github user poornachandra commented on a diff in the pull request:

    https://github.com/apache/incubator-tephra/pull/44#discussion_r123363497
  
    --- Diff: 
tephra-core/src/test/java/org/apache/tephra/snapshot/SnapshotCodecTest.java ---
    @@ -375,4 +386,17 @@ private void 
assertTransactionVisibilityStateEquals(TransactionVisibilityState e
         Assert.assertEquals(expected.getInProgress(), input.getInProgress());
         Assert.assertEquals(expected.getInvalid(), input.getInvalid());
       }
    +
    +  private TransactionSnapshot assertSorted(TransactionSnapshot txSnapshot) 
{
    +    Collection<Long> invalidTxList = txSnapshot.getInvalid();
    +    if (invalidTxList.isEmpty()) {
    +      return txSnapshot;
    +    }
    +    Long previousLong = Iterables.get(invalidTxList, 0);
    +    for (Long aLong : invalidTxList) {
    +      Assert.assertTrue(aLong >= previousLong);
    --- End diff --
    
    Would be good to say sort error here


> Flushes and compactions can remove committed data
> -------------------------------------------------
>
>                 Key: TEPHRA-235
>                 URL: https://issues.apache.org/jira/browse/TEPHRA-235
>             Project: Tephra
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.11.0-incubating, 0.12.0-incubating
>            Reporter: Poorna Chandra
>            Assignee: Poorna Chandra
>            Priority: Blocker
>             Fix For: 0.13.0-incubating
>
>
> Transaction co-processor uses the transaction snapshot generated by the 
> Transaction Manager to remove deleted and invalid cells during HBase 
> compactions and flushes. The co-processor expects the invalid list in the 
> transaction snapshot to be sorted. However, the invalid list is not sorted 
> during a snapshot creation in the Transaction Manager. This leads to invalid 
> transactions becoming visible during compactions, and thus committed 
> transactions with write pointers smaller than the invalid transaction will 
> get removed.
> We missed this piece when fixing TEPHRA-223.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to