Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id EC0C4200BB9 for ; Mon, 7 Nov 2016 23:59:50 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id EABA9160AEC; Mon, 7 Nov 2016 22:59:50 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 3E146160AE0 for ; Mon, 7 Nov 2016 23:59:50 +0100 (CET) Received: (qmail 4797 invoked by uid 500); 7 Nov 2016 22:59:49 -0000 Mailing-List: contact dev-help@tephra.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tephra.incubator.apache.org Delivered-To: mailing list dev@tephra.incubator.apache.org Received: (qmail 4772 invoked by uid 99); 7 Nov 2016 22:59:49 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 Nov 2016 22:59:49 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 6AF01C0C69 for ; Mon, 7 Nov 2016 22:59:48 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -7.019 X-Spam-Level: X-Spam-Status: No, score=-7.019 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id FWdkykXtPx_B for ; Mon, 7 Nov 2016 22:59:46 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id E7D5D5F202 for ; Mon, 7 Nov 2016 22:59:45 +0000 (UTC) Received: (qmail 4729 invoked by uid 99); 7 Nov 2016 22:59:45 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 Nov 2016 22:59:45 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 07CC8E1772; Mon, 7 Nov 2016 22:59:45 +0000 (UTC) From: poornachandra To: dev@tephra.incubator.apache.org Reply-To: dev@tephra.incubator.apache.org References: In-Reply-To: Subject: [GitHub] incubator-tephra pull request #19: TEPHRA-35 Save compaction state for pruni... Content-Type: text/plain Message-Id: <20161107225945.07CC8E1772@git1-us-west.apache.org> Date: Mon, 7 Nov 2016 22:59:44 +0000 (UTC) archived-at: Mon, 07 Nov 2016 22:59:51 -0000 Github user poornachandra commented on a diff in the pull request: https://github.com/apache/incubator-tephra/pull/19#discussion_r86889731 --- Diff: tephra-core/src/main/java/org/apache/tephra/util/TxUtils.java --- @@ -149,4 +149,15 @@ private static long getMaxTTL(Map ttlByFamily) { public static boolean isPreExistingVersion(long version) { return version < MAX_NON_TX_TIMESTAMP; } + + /** + * Returns the maximum transaction that can be removed from the invalid list for the state represented by the given + * transaction. + */ + public static long getPruneUpperBound(Transaction tx) { + long maxInvalidTx = + tx.getInvalids().length > 0 ? tx.getInvalids()[tx.getInvalids().length - 1] : Transaction.NO_TX_IN_PROGRESS; + long firstInProgress = tx.getFirstInProgress(); + return Math.min(maxInvalidTx, firstInProgress - 1); --- End diff -- Good catch, updated the code to use the current read pointer in such a case --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastructure@apache.org or file a JIRA ticket with INFRA. ---