What’s the proper action plans to debug the dead lock issue if it’s in the PRODUCTION environment?

 

Questions


Note I am not asking the concept of dead lock. I am interested in what will you do if you meet this issue in your java application in the production cluster server and the debugging skills.

Question

  • The best practice of plans about analyze steps.

Assumption

  • you already know one server is hit by this problem.
  • OS is using Linux .

Goal

  • You want to know the root cause and fix it.

 

 

————————————————-

Answer

  1. Send server a SIGQUIT signal to force a stack dump. If you’re on Windows, you may be able to get a comparable dump using jconsole. Maybe. But life is a lot easier if you run servers on Linux.
  2. Inspect the stack dump to find the deadlock
  3. Knowing what it is, try to reproduce on test server
  4. When you can reproduce it, fix it, then test on test server

concurrency,debugging,java

Facebook Comments

Post a comment