[ https://issues.apache.org/jira/browse/ACCUMULO-1755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15169625#comment-15169625 ]
ASF GitHub Bot commented on ACCUMULO-1755: ------------------------------------------ Github user keith-turner commented on a diff in the pull request: https://github.com/apache/accumulo/pull/75#discussion_r54290231 --- Diff: core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java --- @@ -629,6 +630,7 @@ public void run() { private static final int MUTATION_BATCH_SIZE = 1 << 17; private final ExecutorService sendThreadPool; + private final ExecutorService queueThreadPool = new SimpleThreadPool(1, "QueueMutations"); --- End diff -- I think a name with mutations and binning or binner in it would be more useful. > BatchWriter blocks all addMutation calls while binning mutations > ---------------------------------------------------------------- > > Key: ACCUMULO-1755 > URL: https://issues.apache.org/jira/browse/ACCUMULO-1755 > Project: Accumulo > Issue Type: Improvement > Components: client > Reporter: Adam Fuchs > Assignee: Dave Marion > Fix For: 1.8.0 > > Time Spent: 20m > Remaining Estimate: 0h > > Through code inspection, we found that the BatchWriter bins mutations inside > of a synchronized block that covers calls to addMutation. Binning potentially > involves lookups of tablet metadata and processes a fair amount of > information. We will get better parallelism if we can either unlock the lock > while binning, dedicate another thread to do the binning, or use one of the > send threads to do the binning. > This has not been verified empirically yet, so there is not yet any profiling > info to indicate the level of improvement that we should expect. Profiling > and repeatable demonstration of this performance bottleneck should be the > first step on this ticket. -- This message was sent by Atlassian JIRA (v6.3.4#6332)