Java debugging at scale: when rare events become commonplace
This story of debugging an intermittent problem with Jira Cloud sheds light on the nature of problem solving in a large and complex software system.
Salient points from this post:
- Problem solving can be a very iterative process, asking questions whose answers which lead to new questions is part and parcel of the process.
- Debugging some things will take iterations of logging in production. With large and complex systems, one can’t always reason about the system’s behavior. Sometimes you will need to add code to determine what is happening in production.
- Debug the happy path to find the initial symptoms but remember that doing this is just the first step on a long journey.
- Dead ends are also information. They make you backtrack and re-examine what you know.
Read the entire story to understand the step-by-step process of digging deeper into the problem that led to effective debugging.
9 mins read