Uploaded image for project: 'OpenDJ'
  1. OpenDJ
  2. OPENDJ-3291

PDB: TXN_UPDATE update thread CPU usage

    Details

      Description

      Each PDB backend gets a 'TXN_UPDATE' thread which seems to use a small but not insignificant amount of CPU constantly while it waits for tasks.

      With one PDB backend this might be difficult to notice, but as more PDB backends are added to the server the effect can become much more pronounced.

      For me the problem is also more pronounced when I run the server in a Linux VM on an OS X host, but it is definitely still there when running on bare metal OS X too.

      If I add 10 PDB backends (cache 2%) it is enough to get the fans on my macbook going with the server simply idling.

      A top shows:

        PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                           
       8370 root      20   0 5473m 953m  12m S  4.0 24.9   0:03.16 java                                                                                                                              
       8425 root      20   0 5473m 953m  12m S  4.0 24.9   0:03.12 java                                                                                                                              
       8480 root      20   0 5473m 953m  12m S  2.0 24.9   0:03.09 java                                                                                                                              
       8533 root      20   0 5473m 953m  12m S  2.0 24.9   0:00.48 java                                                                                                                              
       8535 root      20   0 5473m 953m  12m S  2.0 24.9   0:03.05 java                                                                                                                              
       8590 root      20   0 5473m 953m  12m S  2.0 24.9   0:03.08 java                                                                                                                              
       8701 root      20   0 5473m 953m  12m S  2.0 24.9   0:02.98 java                                                                                                                              
       8758 root      20   0 5473m 953m  12m S  2.0 24.9   0:00.07 java                                                                                                                              
       8811 root      20   0 5473m 953m  12m S  2.0 24.9   0:03.04 java                                                                                                                              
       8866 root      20   0 5473m 953m  12m S  2.0 24.9   0:03.00 java                                                                                                                              
       8919 root      20   0 5473m 953m  12m S  2.0 24.9   0:00.45 java                                                                                                                              
       8921 root      20   0 5473m 953m  12m S  2.0 24.9   0:03.01 java        
      

      And a typical TXN_UPDATE thread is always at:

      "TXN_UPDATE" prio=10 tid=0x00007f624c12b000 nid=0x22d9 in Object.wait() [0x00007f62cd0cf000]
         java.lang.Thread.State: TIMED_WAITING (on object monitor)
              at java.lang.Object.wait(Native Method)
              at com.persistit.IOTaskRunnable.run(IOTaskRunnable.java:173)
              - locked <0x00000000e28c75f0> (a com.persistit.TransactionIndex$ActiveTransactionCachePollTask)
              at java.lang.Thread.run(Thread.java:745)
      

        Attachments

          Activity

            People

            • Assignee:
              matthew Matthew Swift
              Reporter:
              ian.packer Ian Packer [X] (Inactive)
              Dev Assignee:
              Matthew Swift
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: