Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8179476

Add Unparking Thread in Java Thread Park event

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Won't Fix
    • Icon: P4 P4
    • tbd
    • 7, 8, 9
    • hotspot
    • None
    • jfr

      In JRockit JFR we can see the Unparking Thread in the JFR for Thread Parked events

      In Hotspot JFR (we checked HotSpot(TM) 64-Bit Server VM (24.111-b33) for linux-amd64 JRE (1.7.0_111-b33)) I don't see the unparking thread.

      This results in a loss of ability to diagnose locking contentiion issues that involve locks from java.util.concurrent.locks package.

      In JRockit if a thread spent a lot of time blocked on a Thread Parked event, we can use the unparking thread information look at what the unparking thread was doing, and see if we can reduce duration of the operation the unparking thread was doing while holding the lock.

      Without the unparking thread information it would be difficult to find the thread that is holding the lock.

      Attached screenshot from JRockit JFR example. We use the unparking thread to figure out who was holding the lock and how to reduce the duration of that thread holding the lock.

      Sometimes during periods of heavy contention there will be a series of thread contending on the lock (e.g Thread 1 is unparked by Thread 2 which is unparked by thread 3 which in unparked by thread 4 etc.

      without the unparking thread info it is extremely difficult to find the thread holding the lock

            Unassigned Unassigned
            sto Samuel To
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: