Apache Ignite: Possible too long JVM pause: 714 milliseconds

10/15/2019

I have a setup of Apache Ignite server and having SpringBoot application as client in a Kubernetes cluster.

During performance test, I start to notice that the below log showing up frequently in SpringBoot application:

org.apache.ignite.internal.IgniteKernal: Possible too long JVM pause: 714 milliseconds

According to this post, this is due to "JVM is experiencing long garbage collection pauses", but Infrastructure team has confirmed to me that we have included +UseG1GC and +DisableExplicitGC in the Server JVM option and this line of log only show in SpringBoot application.

Please help on this following questions:

  1. Is the GC happening in the Client(SpringBoot application) or Server node?
  2. What will be that impact of long GC pause?
  3. What should I do to prevent the impact?
  4. Do I have to configure the JVM option in SpringBoot application as well?
-- ho wing kent
garbage-collection
ignite
jvm
kubernetes
spring-boot

1 Answer

10/15/2019

Is the GC happening in the Client(SpringBoot application) or Server node?

GC error will be logged to the log of the node which suffers problems.

What will be that impact of long GC pause?

Such pauses decreases overall performance. Also if pause will be longer than failureDetectionTimeout node will be disconnected from cluster.

What should I do to prevent the impact?

General advises are collected here - https://apacheignite.readme.io/docs/jvm-and-system-tuning. Also you can enable GC logs to have full picture of what happens.

Do I have to configure the JVM option in SpringBoot application as well?

Looks like that you should, because you have problems with client's node.

-- Evgeniy
Source: StackOverflow