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-215) Share PruneUpperBoundWriter across all TransactionProcessors on the same region server
Date Thu, 09 Feb 2017 00:07:42 GMT

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

ASF GitHub Bot commented on TEPHRA-215:

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

    --- Diff: tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/txprune/PruneUpperBoundWriter.java
    @@ -18,56 +18,56 @@
     package org.apache.tephra.hbase.txprune;
    +import com.google.common.util.concurrent.AbstractIdleService;
     import org.apache.commons.logging.Log;
     import org.apache.commons.logging.LogFactory;
    -import org.apache.hadoop.hbase.TableName;
    -import org.apache.tephra.hbase.coprocessor.TransactionProcessor;
     import java.io.IOException;
    +import java.nio.ByteBuffer;
    +import java.util.Map;
    +import java.util.concurrent.ConcurrentSkipListMap;
     import java.util.concurrent.TimeUnit;
    -import java.util.concurrent.atomic.AtomicBoolean;
    -import java.util.concurrent.atomic.AtomicLong;
      * Thread that will write the the prune upper bound
    -public class PruneUpperBoundWriter {
    -  private static final Log LOG = LogFactory.getLog(TransactionProcessor.class);
    +public class PruneUpperBoundWriter extends AbstractIdleService {
    +  private static final Log LOG = LogFactory.getLog(PruneUpperBoundWriter.class);
    -  private final TableName pruneStateTable;
       private final DataJanitorState dataJanitorState;
    -  private final byte[] regionName;
    -  private final String regionNameAsString;
       private final long pruneFlushInterval;
    -  private final AtomicLong pruneUpperBound;
    -  private final AtomicBoolean shouldFlush;
    +  private final ConcurrentSkipListMap<ByteBuffer, Long> pruneEntries;
    --- End diff --
    Use `new ConcurrentSkipListMap(Bytes.BYTES_COMPARATOR)`

> Share PruneUpperBoundWriter across all TransactionProcessors on the same region server
> --------------------------------------------------------------------------------------
>                 Key: TEPHRA-215
>                 URL: https://issues.apache.org/jira/browse/TEPHRA-215
>             Project: Tephra
>          Issue Type: Improvement
>    Affects Versions: 0.11.0-incubating
>            Reporter: Gokul Gunasekaran
>            Assignee: Gokul Gunasekaran
>             Fix For: 0.11.0-incubating
> Currently we start one prune upperbound writer thread per TransactionProcessor coprocessor.
Instead we should be able to share only one thread that flushes writes to the prune state
table periodically.

This message was sent by Atlassian JIRA

View raw message