You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2016/12/13 06:13:58 UTC

[jira] [Commented] (KUDU-1801) High lock contention on TableInfo objects

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

Todd Lipcon commented on KUDU-1801:
-----------------------------------

I separated out the GetTableSchema() issue mentioned in the description above into a new JIRA: KUDU-1807. The first part of the issue was fixed in d59a9653a46d40c868c78fac6502e9a24e253731 on the master branch. Debating whether to cherry-pick to branch-1.2.x.

> High lock contention on TableInfo objects
> -----------------------------------------
>
>                 Key: KUDU-1801
>                 URL: https://issues.apache.org/jira/browse/KUDU-1801
>             Project: Kudu
>          Issue Type: Bug
>          Components: master
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>
> In an Impala test on a 200-node cluster with 40 concurrent query streams, I see the master has high contention on TableInfo::lock_. Two issues seem to be at play:
> 1) we could easily swap it for a rwlock for a big win, since it's a read-mostly structure
> 2) GetTableSchema() calls IsCreateTableDone() which is O(n) in the number of tablets. For each tablet, we acquire its rwc lock, so the iteration isn't cheap. The table-wide "create table done" state seems quite cacheable.



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