In this series of simulating and troubleshooting performance problems in Kotlin, let’s discuss how to simulate StackOverflow errors. StackOverflow error is a runtime error, which is thrown when a thread's stack size exceeds its allocated memory limit. Video: To see the visual walk-through of this post, click below: https://youtu.be/dP-pPahkuLM Sample Program Here is a sample... Continue Reading →
Simulating & troubleshooting Thread leak in Kotlin
In this series of simulating and troubleshooting performance problems in Kotlin, let’s discuss how to simulate thread leaks. ‘java.lang.OutOfMemoryError: unable to create new native thread’ will be thrown, when more threads are created than the memory capacity of the device. This error will disrupt the application’s availability. Video: To see the visual walk-through of this post,... Continue Reading →
Simulating & troubleshooting BLOCKED threads in Kotlin
In this series of simulating and troubleshooting performance problems in Kotlin, let’s discuss how to make threads go into BLOCKED state. A thread will enter into a BLOCKED state when it couldn’t acquire a lock on an object because another thread already holds the lock on the same object and doesn’t release it. Video: To... Continue Reading →
Simulating & troubleshooting CPU spike in Kotlin
In this series of simulating and troubleshooting performance problems in Kotlin articles, let’s discuss how to simulate CPU consumption to spike up to 100% on a host (or container). CPU consumption will spike up whenever a thread goes on an infinite loop. Kotlin CPU Spike Program Here is a sample kotlin program, which generates the... Continue Reading →
Chaos Engineering – Metaspace OutOfMemoryError
JVM memory has following regions: Fig: JVM memory regions a. Young Generation b. Old Generation c. Metaspace d. Others region When you encounter 'java.lang.OutOfMemoryError: Metaspace' it indicates that the Metaspace region in the JVM memory is getting saturated. Metaspace is the region where metadata details that are required to execute your application are stored. In... Continue Reading →
Chaos Engineering – Heavy I/O
Coming soon!
Chaos Engineering – Blocked Threads
In the series of chaos engineering articles, we have been learning to simulate various performance problems. In this post, let's discuss how to make threads go into BLOCKED state. Sample Program Here is a sample program from open source BuggyApp application, which would make threads go into BLOCKED state. A thread will enter into a... Continue Reading →
Chaos Engineering – Stackoverflow Error
In the series of chaos engineering articles, we have been learning to simulate various performance problems. In this post, let’s discuss how to simulate the ‘StackOverflow errors. StackOverflow error is a runtime error, which is thrown when a thread's stack size exceeds its allocated memory limit. Sample Program Here is a sample program from the... Continue Reading →
Chaos Engineering – Thread Leak
In the series of chaos engineering articles, we have been learning to simulate various performance problems. In this post, let's discuss how to simulate thread leaks. 'java.lang.OutOfMemoryError: unable to create new native thread' will be thrown when more threads are created than the memory capacity of the device. When this error is thrown, it will... Continue Reading →
Chaos Engineering – Java heap space
Coming soon!