Todd Lipcon created KUDU-1682:
---------------------------------

             Summary: Lock contention on table locations cache in Java client
                 Key: KUDU-1682
                 URL: https://issues.apache.org/jira/browse/KUDU-1682
             Project: Kudu
          Issue Type: Bug
          Components: client, perf
    Affects Versions: 1.0.0
            Reporter: Todd Lipcon


Running YCSB with 16 threads, I see a lot of contention on the table locations 
cache:
{code}
"Thread-15" #36 prio=5 os_prio=0 tid=0x00007f2300391000 nid=0xfb2 waiting for 
monitor entry [0x00007f229a452000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at 
org.apache.kudu.client.TableLocationsCache.get(TableLocationsCache.java:62)
        - locked <0x00000001da767c78> (a java.lang.Object)
        at 
org.apache.kudu.client.AsyncKuduClient.getTableLocationEntry(AsyncKuduClient.java:1429)
        at 
org.apache.kudu.client.AsyncKuduClient.loopLocateTable(AsyncKuduClient.java:1184)
        at 
org.apache.kudu.client.AsyncKuduClient.locateTable(AsyncKuduClient.java:1240)
        at 
org.apache.kudu.client.AsyncKuduClient.getTabletLocation(AsyncKuduClient.java:1449)
{code}

Since this changes rarely, we should make it a read-write lock.



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

Reply via email to