close

Filter

loading table of contents...

Release Notes / Version 10.2101

Table Of Contents

Garbage Collector changed to UseParallelGC, Image Transformation: default permits reduced to 1/4 of heap size

We observed Out Of Memory exceptions in CAEs with small heap configurations (around 1.2 GB). We presume this is due to some bugs in the new garbage collector called G1 (Garbage First) which is the default algorithm for server configurations since JDK 9, e.g. https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8192647 .

Therefore, we decided to reduce the default configuration for image transformation permits (com.coremedia.transform.throttle.permits) from 1/2 to 1/4 of the maximal java heap size.

This reduces the pressure on the garbage collector. It should not reduce the performance of image transformations in general, but if a lot of CPU cores are available and/or a lot of your images are huge, you might consider increasing this setting.

See also: ThrottlingBlobTransformer configuration in the CAE Developer Manual.

The default Garbage Collector is changed to UseParallelGC for Chef and Docker Deployment. To change the garbage collector:

  • for the Docker setup the new coremedia/java-application-base:2.1.7 image contains an environment variable toggle JAVA_GC_PARALLEL that is false by default.

  • for the Chef setup, a node attribute has been added.

default['blueprint']['spring-boot']['java_opts']['use_parallel_gc'] = '-XX:+UseParallelGC'

The change to the docker setup is non breaking unless the JAVA_OPTS environment variable has been used to set a different garbage collector.

Note: The default Garbage Collector has only changed for CMCC Versions > 1910, so it is non breaking for 1910. For 1910.2 the GC can be configured as described above.

(CMS-16168)

Search Results

Table Of Contents