accumulo-notifications 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] (ACCUMULO-4112) Poor performance due to MinC start/stop updates are always hsync'd
Date Wed, 09 Mar 2016 04:46:40 GMT

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

ASF GitHub Bot commented on ACCUMULO-4112:
------------------------------------------

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

    https://github.com/apache/accumulo/pull/79#discussion_r55471617
  
    --- Diff: server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java ---
    @@ -2966,13 +2966,26 @@ public Void run() {
         }
       }
     
    +  private Durability getMincEventDurability(KeyExtent extent) {
    +    TableConfiguration conf;
    +    if (extent.isMeta() || extent.isRootTablet()) {
    --- End diff --
    
    This check is a bit confusing. To me it reads "If the extent is for the metadata table
or the root tablet, use the root tablet's configuration. Otherwise, use the metadata configuration."
Is there some other setting for user tables that's more appropriate? 
    
    `KeyExtent#isMeta` already returns whether or not it's for the metadata table or the root
tablet, so the `|| extent.isRootTablet()` is redundant. However, I think refactoring `KeyExtent#isMeta`
is more appropriate to make it more clear about what it is checking.


> Poor performance due to MinC start/stop updates are always hsync'd
> ------------------------------------------------------------------
>
>                 Key: ACCUMULO-4112
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4112
>             Project: Accumulo
>          Issue Type: Bug
>          Components: tserver
>         Environment: Fluo testing on a 20-node cluster
>            Reporter: Eric Newton
>            Assignee: Keith Turner
>            Priority: Critical
>             Fix For: 1.7.2, 1.8.0
>
>         Attachments: HSyncOverheadExperiment.png, MinCFlushPerfTest.java, Sync-Flush-Log-Performance.png
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> [~kturner] writes:
> {quote}
> I was running a Fluo test with 1.8.0-SNAP on my workstation.  My Fluo table had a ton
of tablets.   I was seeing terrible performance.   I started looking at the tserver and noticed
it was always calling hsync.  I tracked down the problem to the fact that when minc start
and stop events are written to the log they are always written w/ sync level.   My poor little
tserver was constantly minor compacting (probably had around 600 tablets that were all being
written to).  
> I changed the test config to create like 15 tablets and the performance was much better.
 All cores were 100% utilized, which was not the case when hsync was always called.
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message