<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Answers to: Execution of recreate index ElasticSearch failed</title><link>https://answers.axonivy.com/questions/3934/execution-of-recreate-index-elasticsearch-failed</link><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Due I trigger recreate index by Admin UI, that let an error as below&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;13:20:07.134 ERROR [ch.ivyteam.ivy.job.internal] [ivy immediate job pool-thread-3] []
Execution of job BusinessDataSearchIndexRecreator failed
    java.lang.OutOfMemoryError: Requested array size exceeds VM limit
        at java.lang.StringCoding.encode(StringCoding.java:350)
        at java.lang.String.getBytes(String.java:941)
        at org.apache.http.entity.StringEntity.&amp;lt;init&amp;gt;(StringEntity.java:70)
        at org.apache.http.client.entity.EntityBuilder.build(EntityBuilder.java:314)
        at io.searchbox.client.http.JestHttpClient.constructHttpMethod(JestHttpClient.java:184)
        at io.searchbox.client.http.JestHttpClient.prepareRequest(JestHttpClient.java:115)
        at io.searchbox.client.http.JestHttpClient.execute(JestHttpClient.java:64)
        at io.searchbox.client.http.JestHttpClient.execute(JestHttpClient.java:60)
        at ch.ivyteam.ivy.business.data.store.search.internal.elasticsearch.JestOperation.tryToExecute(JestOperation.java:45)
        at ch.ivyteam.ivy.business.data.store.search.internal.elasticsearch.JestOperation.execute(JestOperation.java:36)
        at ch.ivyteam.ivy.business.data.store.search.internal.elasticsearch.JestIndexSynchronizer.execute(JestIndexSynchronizer.java:151)
        at ch.ivyteam.ivy.business.data.store.search.internal.elasticsearch.JestIndexSynchronizer.addDocuments(JestIndexSynchronizer.java:42)
        at ch.ivyteam.ivy.business.data.store.search.internal.ElasticBusinessDataSearchIndex.addAll(ElasticBusinessDataSearchIndex.java:20)
        at ch.ivyteam.ivy.business.data.store.search.internal.BusinessDataSearchIndexRecreator.updateIndex(BusinessDataSearchIndexRecreator.java:70)
        at ch.ivyteam.ivy.business.data.store.search.internal.BusinessDataSearchIndexRecreator.readDataAndUpdateIndex(BusinessDataSearchIndexRecreator.java:52)
        at ch.ivyteam.ivy.business.data.store.search.internal.BusinessDataSearchIndexRecreator.recreateIndex(BusinessDataSearchIndexRecreator.java:34)
        at ch.ivyteam.ivy.business.data.store.search.internal.BusinessDataSearchIndecesRecreator.recreateIndeces(BusinessDataSearchIndecesRecreator.java:80)
        at ch.ivyteam.ivy.business.data.store.search.internal.BusinessDataSearchIndecesRecreator.execute(BusinessDataSearchIndecesRecreator.java:50)
        at ch.ivyteam.ivy.job.internal.JobManager$1.call(JobManager.java:382)
        at ch.ivyteam.ivy.job.internal.JobManager$1.call(JobManager.java:1)
        at ch.ivyteam.util.callable.ExecutionContextContainer$ContainerExecutionContext.call(ExecutionContextContainer.java:92)
        at ch.ivyteam.ivy.security.internal.SecurityManager.executeInContext_aroundBody0(SecurityManager.java:1362)
        at ch.ivyteam.ivy.security.internal.SecurityManager.executeInContext_aroundBody1$advice(SecurityManager.java:41)
        at ch.ivyteam.ivy.security.internal.SecurityManager.executeInContext(SecurityManager.java:1)
        at ch.ivyteam.util.callable.ExecutionContextContainer$ContainerExecutionContext.call(ExecutionContextContainer.java:88)
        at ch.ivyteam.util.callable.ExecutionContextContainer.executeInContext(ExecutionContextContainer.java:27)
        at ch.ivyteam.ivy.job.internal.JobManager.execute(JobManager.java:376)
        at ch.ivyteam.ivy.job.internal.Job.run(Job.java:56)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We use an external elasticsearch and the jvm.options is:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch
-server
-Xss1m
-Djava.awt.headless=true
-Dfile.encoding=UTF-8
-Djna.nosys=true
-Djdk.io.permissionsUseCanonicalPath=true
-Dio.netty.noUnsafe=true
-Dio.netty.noKeySetOptimization=true
-Dio.netty.recycler.maxCapacityPerThread=0
-Dlog4j.shutdownHookEnabled=false
-Dlog4j2.disable.jmx=true
-Dlog4j.skipJansi=true
-XX:+HeapDumpOnOutOfMemoryError
-Xmx6144m
-Xms6144m
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Could anyone give us some hints?&lt;/p&gt;</description><atom:link href="https://answers.axonivy.com/questions/3934/execution-of-recreate-index-elasticsearch-failed" rel="self"></atom:link><language>en</language><lastBuildDate>Thu, 19 Sep 2019 12:08:02 -0400</lastBuildDate><item><title>Answer by Alex Suter</title><link>https://answers.axonivy.com/questions/3934/execution-of-recreate-index-elasticsearch-failed/4003</link><description>&lt;p&gt;If you have parent-childs relation whereas the childs references back to parent, this could bloat the json object.&lt;/p&gt;
&lt;p&gt;We have improved our json serializer to prevent such big objects in 7.4. But be aware and keep your business data structure clear and simple. &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alex Suter</dc:creator><pubDate>Thu, 19 Sep 2019 12:08:02 -0400</pubDate><guid>https://answers.axonivy.com/questions/3934/execution-of-recreate-index-elasticsearch-failed/4003</guid></item></channel></rss>