-
Type: Bug
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: 5.8, 5.9.4
-
Fix Version/s: None
-
Component/s: Elasticsearch
-
Tags:
-
Upgrade notes:
When launching full ES indexation with real-world data, all the database content is browsed and the VCS cache is overused, as a result, the Garbage Collector has to full GC all the time. This significantly slowdown the indexation.
Here is how looks like the gc.log:
646.173: [Full GC [PSYoungGen: 505856K->65251K(598016K)] [ParOldGen: 1397675K->1397623K(1397760K)] 1903531K->1462875K(1995776K) [PSPermGen: 129054K->129054K(139776K)], 4.4218370 secs] [Times: user=14.72 sys=0.00, real=4.42 secs] 652.256: [Full GC [PSYoungGen: 505856K->113632K(598016K)] [ParOldGen: 1397623K->1397559K(1397760K)] 1903479K->1511192K(1995776K) [PSPermGen: 129063K->129063K(138240K)], 4.0342710 secs] [Times: user=14.32 sys=0.00, real=4.04 secs] 658.167: [Full GC [PSYoungGen: 505856K->78078K(598016K)] [ParOldGen: 1397559K->1397397K(1397760K)] 1903415K->1475475K(1995776K) [PSPermGen: 129063K->128604K(136192K)], 4.6278360 secs] [Times: user=14.93 sys=0.00, real=4.62 secs] 664.528: [Full GC [PSYoungGen: 505856K->86608K(598016K)] [ParOldGen: 1397397K->1397267K(1397760K)] 1903253K->1483875K(1995776K) [PSPermGen: 128613K->128613K(135168K)], 4.6996920 secs] [Times: user=17.17 sys=0.01, real=4.70 secs] 670.903: [Full GC [PSYoungGen: 505856K->97029K(598016K)] [ParOldGen: 1397267K->1397722K(1397760K)] 1903123K->1494752K(1995776K) [PSPermGen: 128613K->128613K(134144K)], 4.1210080 secs] [Times: user=15.16 sys=0.02, real=4.13 secs] 676.806: [Full GC [PSYoungGen: 505856K->108978K(598016K)] [ParOldGen: 1397722K->1397613K(1397760K)] 1903578K->1506592K(1995776K) [PSPermGen: 128615K->128615K(133120K)], 3.9363180 secs] [Times: user=13.53 sys=0.01, real=3.93 secs] 682.294: [Full GC [PSYoungGen: 505856K->108807K(598016K)] [ParOldGen: 1397613K->1397517K(1397760K)] 1903469K->1506325K(1995776K) [PSPermGen: 128615K->128615K(132608K)], 3.3656530 secs] [Times: user=12.21 sys=0.00, real=3.36 secs] 687.652: [Full GC [PSYoungGen: 505856K->103465K(598016K)] [ParOldGen: 1397517K->1397386K(1397760K)] 1903373K->1500851K(1995776K) [PSPermGen: 128616K->128588K(131584K)], 3.5368910 secs] [Times: user=12.55 sys=0.00, real=3.53 secs]
A workaround is to temporary disable softref by uncommnenting:
#JAVA_OPTS=$JAVA_OPTS -XX:SoftRefLRUPolicyMSPerMB=0
in nuxeo.conf.
Also still in nuxeo conf, setting vcs max pool size could help:
nuxeo.vcs.max-pool-size=10
But ideally, if really neede, we would like to be able to do that dynamically before Full ES Indexing.
Note that this workaround might just not be needed with sufficient HEAP size (>4g?)