JBOSS Shunning, Unloading Class SUN.REFLECT

A major shipping/logistics company faced issues with their Java 6 JBoss Cluster on RedHat Linux, where instances frequently dropped from the cluster due to long pauses during Full Garbage Collection. This led users to repeatedly sign out and log in. Increasing the Permanent Generation space resolved the issue, restoring normal functionality.

Java Batch Optimization

A major North American shipping monopoly experienced lengthy batch job processing times after migrating to Java, impacting operations in China and US online transactions. Engaged to resolve these issues, I successfully reduced the processing time from 16:04 hours to 3:14 hours within two months, even while accommodating new requirements and increased traffic.

Chaos Engineering – Network Lag

The article discusses the impact of network delays on application performance and presents a method to simulate network lag using BuggyApp as a proxy server. It provides a sample program to introduce delays in server responses and explains manual and automated approaches to diagnose network issues. The article highlights the importance of addressing network performance problems in chaos engineering.

Diagnosing Disk Space Issues in Dell Boomi

This article discusses intentionally filling up disk space to test system stability. A script fills disk space by writing data to a file. The Boomi process runs successfully, but the operating system reports a critical disk space shortage, prompting system warnings. It also highlights how the issue was identified and emphasizes the importance of monitoring the system.

How Much Memory Does Your Java Object Occupy?

This article talks about how the JVM stores objects in memory. It explains how alignment, padding, and memory usage are related. It also talks about how the alignment can be adjusted and those changes affect the performance, highlighting how managing memory and object sizes can be tricky.

Troubleshooting Spring Boot DB Connection Leaks

This article talks about a common problem with Spring Boot applications: database connection leaks. These leaks happen when connections aren't closed properly, which can slow down the system or even cause it to crash. The article sheds some light on how one can find and fix these leaks by looking at errors and network metrics and also suggests solutions like try-with-resources and connection pools to stop leaks from happening in the first place.

Troubleshooting Spring Boot StackOverflowError

This post discusses diagnosing and troubleshooting StackOverflowError in Spring Boot applications, which occurs when thread stack size exceeds memory limits due to infinite recursion or excessive stack calls. It demonstrates simulating this error using BuggyAPI and employs the yCrash tool for analysis, providing resolutions such as proper termination in recursive methods and increasing stack memory.

Troubleshooting Spring Boot Thread Leaks

Spring Boot is a framework for creating Java web applications, but it can experience thread leaks, leading to performance issues. A thread leak occurs when threads retain references after execution, causing resource exhaustion. Proper thread management, including termination, use of thread pools, and handling exceptions, is crucial for preventing leaks and ensuring system stability.