0

Parallell issues with Java software : useful links to troubleshoot

Java 8 Threads/Promises/CompletableFuture/ForkNodePool

I am writing a new release of my Spring CQRS Module(link1, link2), including a parallel execution feature.

However I am encountering several issues with the Java 8 promises aka CompletableFutures.

My issues are :

  • I am using a dedicated ForkNodePool but some promises are stilled created outside my pool
  • Some threads are slow to die (WAITING state is too long)
  • Completable.allOf is creating promises in the common ForkNodePool
  • I had an exceeded waiting thread exception

Here is two links that are helping me a lot to solve these problems :

  • Java Parallel Calamity : link
  • The Java Fork/Join Framework : link2

These two articles are well documented and explain into the details how Java/Threads/Java/JVM/Promises and parallel streams works.

2

Java developer testing toolbox

JBehave : code

An article dealing with Java application and testing frameworks and related libraries. Continue Reading