dhis -2.37,tomcat-9 :-Xms12000m,-Xmx12000m,
I do events import from a background task, every 5s import 20 events bulkily.
I use the post api :…api/36/events?orgUnitIdScheme=name&async=false :
{“events”:[
{event},{event},…
]}
I have about 10k orgs. and the program assigned to all the orgs.
at first ,it’s ok ,few times later, there is no response for dhis2. and api calling timeout, got read timed out error. and can’t open login page in browser,
the catalina.out has no info ,some time say heap memory out of .
- ERROR 2021-09-14T00:51:08,898 Unexpected exception occurred invoking async method: public void org.hisp.dhis.programrule.engine.ProgramRuleEngineListener.onDataValueChange(org.hisp.dhis.programrule.engine.DataValueUpdatedEvent) (SimpleAsyncUncaughtExceptionHandler.java [taskScheduler-12])
java.lang.OutOfMemoryError: Java heap space
at java.lang.StringUTF16.compress(StringUTF16.java:160) ~[?:?]
at java.lang.String.(String.java:3214) ~[?:?]
at java.lang.String.(String.java:276) ~[?:?]
at com.fasterxml.jackson.core.util.TextBuffer.contentsAsString(TextBuffer.java:453) ~[jackson-core-2.12.1.jar:2.12.1]
at com.fasterxml.jackson.core.io.SegmentedStringWriter.getAndClear(SegmentedStringWriter.java:85) ~[jackson-core-2.12.1.jar:2.12.1]
at com.fasterxml.jackson.databind.ObjectWriter.writeValueAsString(ObjectWriter.java:1091) ~[jackson-databind-2.12.1.jar:2.12.1]
at org.hisp.dhis.hibernate.jsonb.type.JsonEventDataValueSetBinaryType.convertObjectToJson(JsonEventDataValueSetBinaryType.java:101) ~[dhis-support-hibernate-2.37-SNAPSHOT.jar:?]
at org.hisp.dhis.hibernate.jsonb.type.JsonEventDataValueSetBinaryType.deepCopy(JsonEventDataValueSetBinaryType.java:75) ~[dhis-support-hibernate-2.37-SNAPSHOT.jar:?]
at org.hibernate.type.CustomType.deepCopy(CustomType.java:190) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.type.TypeHelper.deepCopy(TypeHelper.java:55) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntityFromEntityEntryLoadedState(TwoPhaseLoad.java:369) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:183) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:151) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.performTwoPhaseLoad(AbstractRowReader.java:247) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.finishUp(AbstractRowReader.java:208) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.loader.plan.exec.process.internal.ResultSetProcessorImpl.extractResults(ResultSetProcessorImpl.java:96) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:105) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.initialize(AbstractLoadPlanBasedCollectionInitializer.java:87) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:710) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.event.internal.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:76) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.internal.SessionImpl$$Lambda$703/0x0000000840e37840.accept(Unknown Source) ~[?:?]
at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:93) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.internal.SessionImpl.initializeCollection(SessionImpl.java:2163) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.collection.internal.AbstractPersistentCollection$4.doWork(AbstractPersistentCollection.java:589) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:264) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:585) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:149) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.collection.internal.PersistentSet.iterator(PersistentSet.java:188) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at java.util.Spliterators$IteratorSpliterator.estimateSize(Spliterators.java:1821) ~[?:?]
at java.util.Spliterator.getExactSizeIfKnown(Spliterator.java:408) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?] - ERROR 2021-09-14T00:51:08,891 Unexpected exception occurred invoking async method: public void org.hisp.dhis.programrule.engine.ProgramRuleEngineListener.onEventCompletion(org.hisp.dhis.programrule.engine.StageCompletionEvaluationEvent) (SimpleAsyncUncaughtExceptionHandler.java [taskScheduler-8])
java.lang.OutOfMemoryError: Java heap space
at java.util.LinkedHashMap.newNode(LinkedHashMap.java:256) ~[?:?]
at java.util.HashMap.putVal(HashMap.java:626) ~[?:?]
at java.util.HashMap.put(HashMap.java:607) ~[?:?]
at org.hibernate.internal.util.collections.IdentityMap.put(IdentityMap.java:110) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.engine.internal.StatefulPersistenceContext.addCollection(StatefulPersistenceContext.java:915) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.engine.internal.StatefulPersistenceContext.addUninitializedCollection(StatefulPersistenceContext.java:886) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.type.CollectionType.getCollection(CollectionType.java:831) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.type.CollectionType.resolveKey(CollectionType.java:505) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.type.CollectionType.resolve(CollectionType.java:498) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntityEntryLoadedState(TwoPhaseLoad.java:249) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:182) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:151) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.performTwoPhaseLoad(AbstractRowReader.java:247) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.finishUp(AbstractRowReader.java:208) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.loader.plan.exec.process.internal.ResultSetProcessorImpl.extractResults(ResultSetProcessorImpl.java:96) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:105) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.initialize(AbstractLoadPlanBasedCollectionInitializer.java:87) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:710) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.event.internal.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:76) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.internal.SessionImpl$$Lambda$703/0x0000000840e37840.accept(Unknown Source) ~[?:?]
at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:93) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.internal.SessionImpl.initializeCollection(SessionImpl.java:2163) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.collection.internal.AbstractPersistentCollection$4.doWork(AbstractPersistentCollection.java:589) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:264) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:585) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:149) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.collection.internal.PersistentSet.iterator(PersistentSet.java:188) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at java.util.Spliterators$IteratorSpliterator.estimateSize(Spliterators.java:1821) ~[?:?]
at java.util.Spliterator.getExactSizeIfKnown(Spliterator.java:408) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]