Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-1682

Lock contention on table locations cache in Java client

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.0.0
    • 1.1.0
    • client, perf
    • None

    Description

      Running YCSB with 16 threads, I see a lot of contention on the table locations cache:

      "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)
      

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

      Attachments

        Activity

          People

            jdcryans Jean-Daniel Cryans
            tlipcon Todd Lipcon
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: