Demo: thread starvation in a live service
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
- Under load Shop slows then stops responding; CPU is low.
- Take three thread dumps; most request threads are WAITING in
Future.getor BLOCKED on one lock. - Find the owner thread and the code path holding the lock while doing remote I/O.
- Planned mistake: restart the service and move on. Fix: save the dumps first; they are the evidence.
- Move the remote call outside the critical section (or increase isolation with a separate pool); repeat the load test.
- 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.
Marking a lesson complete is optional and you can undo it any time. Your progress stays in this browser.