tephra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TEPHRA-235) Flushes and compactions can remove committed data
Date Wed, 21 Jun 2017 20:57:00 GMT

    [ 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)

Mime
View raw message