Skip to content
Ameen Abozaid
Planned lessonMID-008-L08

Demo: thread starvation in a live service

  • Lesson 8 of 8
  • Mid-level
On This Lesson 3 topics

This lesson is planned. The outline below lists the topics it will cover. The full lesson has not been published yet.

In this lesson

diagnose a hung endpoint with thread dumps; prepares MID-008-LAB1.

Draft outline details

Step by step

  1. Under load Shop slows then stops responding; CPU is low.
  2. Take three thread dumps; most request threads are WAITING in Future.get or BLOCKED on one lock.
  3. Find the owner thread and the code path holding the lock while doing remote I/O.
  4. Planned mistake: restart the service and move on. Fix: save the dumps first; they are the evidence.
  5. Move the remote call outside the critical section (or increase isolation with a separate pool); repeat the load test.
  6. Confirm with a fresh dump and JFR lock-contention events that waiting is gone.

Practice

Apply this lesson with the module's lab, exercises and quiz.

Lab and exercises Quiz

Marking a lesson complete is optional and you can undo it any time. Your progress stays in this browser.

Type to search levels, phases, modules and lessons.