[Solved] Updated to 1.6 and Unimus doesn't start

Unimus support forum
pdheinrichs
Posts: 1
Joined: Tue Mar 27, 2018 7:21 pm

Tue Mar 27, 2018 7:29 pm

I am also having issues starting unimus after 1.6.0 but my issue doesn't seem to be related to above.

Currently running on Centos 6 with 2-core, 4GB Ram with less than 100 devices, i ran the install.sh script as listed and the UI is stuck on the 'unimus is starting' page and the logs show the following


Edit: Resolved following https://wiki.unimus.net/display/UNPUB/C ... mory+usage

Thanks anyway

Code: Select all

2018-03-27 15:12:50.780  INFO 3180 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.boot.step.DatabaseUpdate         : Database schema updated successfully
2018-03-27 15:12:51.705  INFO 3180 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.EncryptionKeyValidation   : Validating database encryption key
2018-03-27 15:12:51.888  INFO 3180 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.DatabaseDataValidation    : Validating database data integrity
2018-03-27 15:12:52.020  INFO 3180 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.InternalInitialization    : Initializing internal services
2018-03-27 15:12:52.058  INFO 3180 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.patch.BackupsLineEndingsPatch  : Running backup line endings fix patch
2018-03-27 15:12:58.687 ERROR 3180 --- [SimpleAsyncTaskExecutor-1] .a.i.SimpleAsyncUncaughtExceptionHandler : Unexpected error occurred invoking async method 'public void net.unimus.system.bootstrap.boot.Boot.boot()'.

java.lang.OutOfMemoryError: Java heap space
	at java.lang.reflect.Array.newArray(Native Method)
	at java.lang.reflect.Array.newInstance(Unknown Source)
	at org.hibernate.type.descriptor.java.ArrayMutabilityPlan.deepCopyNotNull(ArrayMutabilityPlan.java:26)
	at org.hibernate.type.descriptor.java.MutableMutabilityPlan.deepCopy(MutableMutabilityPlan.java:35)
	at org.hibernate.type.AbstractStandardBasicType.deepCopy(AbstractStandardBasicType.java:283)
	at org.hibernate.type.AbstractStandardBasicType.deepCopy(AbstractStandardBasicType.java:279)
	at org.hibernate.type.TypeHelper.deepCopy(TypeHelper.java:51)
	at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:256)
	at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:128)
	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1133)
	at org.hibernate.loader.Loader.processResultSet(Loader.java:992)
	at org.hibernate.loader.Loader.doQuery(Loader.java:930)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:336)
	at org.hibernate.loader.Loader.doList(Loader.java:2617)
	at org.hibernate.loader.Loader.doList(Loader.java:2600)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2429)
	at org.hibernate.loader.Loader.list(Loader.java:2424)
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:501)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:371)
	at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:216)
	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1326)
	at org.hibernate.internal.QueryImpl.list(QueryImpl.java:87)
	at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:606)
	at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:483)
	at org.hibernate.jpa.criteria.compile.CriteriaQueryTypeQueryAdapter.getResultList(CriteriaQueryTypeQueryAdapter.java:50)
	at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:123)
	at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:87)
	at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:116)
	at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:106)
	at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:499)
	at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:477)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)


User avatar
Tomas
Posts: 1206
Joined: Sat Jun 25, 2016 12:33 pm

Tue Mar 27, 2018 7:44 pm

Just some more details on this:

Due to the new backup handling (store only unique, filter duplicates) there is a migration process during startup.
If you had a lot of backups present in your deploy, it's indeed possible for Unimus to run out of memory during this migration step.

Glad to hear simply increasing available memory solved this.
normalcy
Posts: 15
Joined: Thu Nov 16, 2017 2:19 am

Wed Mar 28, 2018 1:00 am

Hi Tomas, also getting the out of memory errors.

I've edited /etc/default/unimus and raised it to -Xms2G -Xmx3G and still getting issues.

Any way to gauge how much memory it will need?

Code: Select all

2018-03-28 10:56:20.568  WARN 32159 --- [localhost-startStop-2] .s.c.a.CommonAnnotationBeanPostProcessor : Invocation of destroy method failed on bean with name 'viewCache': java.lang.NullPointerException
2018-03-28 10:56:26.895  INFO 32290 --- [main] net.unimus.Application                   : Starting Application v1.6.0 on unimus with PID 32290 (/opt/unimus/Unimus.jar started by root in /opt/unimus)
2018-03-28 10:56:26.904  INFO 32290 --- [main] net.unimus.Application                   : The following profiles are active: together,unix,jar
2018-03-28 10:56:38.701  INFO 32290 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8085 (http)
2018-03-28 10:56:42.030  INFO 32290 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8085 (http)
2018-03-28 10:56:42.036  INFO 32290 --- [main] net.unimus.Application                   : Started Application in 19.831 seconds (JVM running for 21.018)
2018-03-28 10:56:42.273  INFO 32290 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.LoggingPathAccessibility  : Checking logging subsystem
2018-03-28 10:56:42.285  INFO 32290 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.DatabaseConnectionCheck   : Testing database connection
2018-03-28 10:56:43.200  INFO 32290 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.DatabaseConnectionCheck   : Database connection test passed
2018-03-28 10:56:43.202  INFO 32290 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.boot.step.DatabaseUpdate         : Connecting to database (HSQL, jdbc:hsqldb:file:///etc/unimus/hsql/db)
2018-03-28 10:56:43.204  INFO 32290 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.boot.step.DatabaseUpdate         : Updating database schema
2018-03-28 10:56:44.468  INFO 32290 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.boot.step.DatabaseUpdate         : Database schema updated successfully
2018-03-28 10:56:45.056  INFO 32290 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.EncryptionKeyValidation   : Validating database encryption key
2018-03-28 10:56:45.132  INFO 32290 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.DatabaseDataValidation    : Validating database data integrity
2018-03-28 10:56:45.250  INFO 32290 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.InternalInitialization    : Initializing internal services
2018-03-28 10:56:45.282  INFO 32290 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.patch.BackupsLineEndingsPatch  : Running backup line endings fix patch
2018-03-28 10:57:34.126 ERROR 32290 --- [SimpleAsyncTaskExecutor-1] .a.i.SimpleAsyncUncaughtExceptionHandler : Unexpected error occurred invoking async method 'public void net.unimus.system.bootstrap.boot.Boot.boot()'.

java.lang.OutOfMemoryError: Java heap space
        at java.lang.reflect.Array.newArray(Native Method)
        at java.lang.reflect.Array.newInstance(Array.java:75)
        at org.hibernate.type.descriptor.java.ArrayMutabilityPlan.deepCopyNotNull(ArrayMutabilityPlan.java:26)
        at org.hibernate.type.descriptor.java.MutableMutabilityPlan.deepCopy(MutableMutabilityPlan.java:35)
        at org.hibernate.type.AbstractStandardBasicType.deepCopy(AbstractStandardBasicType.java:283)
        at org.hibernate.type.AbstractStandardBasicType.deepCopy(AbstractStandardBasicType.java:279)
        at org.hibernate.type.TypeHelper.deepCopy(TypeHelper.java:51)
        at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:256)
        at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:128)
        at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1133)
        at org.hibernate.loader.Loader.processResultSet(Loader.java:992)
        at org.hibernate.loader.Loader.doQuery(Loader.java:930)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:336)
        at org.hibernate.loader.Loader.doList(Loader.java:2617)
        at org.hibernate.loader.Loader.doList(Loader.java:2600)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2429)
        at org.hibernate.loader.Loader.list(Loader.java:2424)
        at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:501)
        at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:371)
        at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:216)
        at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1326)
        at org.hibernate.internal.QueryImpl.list(QueryImpl.java:87)
        at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:606)
        at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:483)
        at org.hibernate.jpa.criteria.compile.CriteriaQueryTypeQueryAdapter.getResultList(CriteriaQueryTypeQueryAdapter.java:50)
        at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:123)
        at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:87)
        at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:116)
        at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:106)
        at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:499)
        at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:477)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
normalcy
Posts: 15
Joined: Thu Nov 16, 2017 2:19 am

Wed Mar 28, 2018 1:07 am

Up to 8GB assigned to the VM and -Xms2G -Xmx3G and still:

Code: Select all

2018-03-28 11:05:52.877  INFO 662 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.LoggingPathAccessibility  : Checking logging subsystem
2018-03-28 11:05:52.890  INFO 662 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.DatabaseConnectionCheck   : Testing database connection
2018-03-28 11:05:53.911  INFO 662 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.DatabaseConnectionCheck   : Database connection test passed
2018-03-28 11:05:53.912  INFO 662 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.boot.step.DatabaseUpdate         : Connecting to database (HSQL, jdbc:hsqldb:file:///etc/unimus/hsql/db)
2018-03-28 11:05:53.914  INFO 662 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.boot.step.DatabaseUpdate         : Updating database schema
2018-03-28 11:05:55.297  INFO 662 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.boot.step.DatabaseUpdate         : Database schema updated successfully
2018-03-28 11:05:55.900  INFO 662 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.EncryptionKeyValidation   : Validating database encryption key
2018-03-28 11:05:56.010  INFO 662 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.DatabaseDataValidation    : Validating database data integrity
2018-03-28 11:05:56.139  INFO 662 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.InternalInitialization    : Initializing internal services
2018-03-28 11:05:56.177  INFO 662 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.patch.BackupsLineEndingsPatch  : Running backup line endings fix patch
2018-03-28 11:06:50.937 ERROR 662 --- [SimpleAsyncTaskExecutor-1] .a.i.SimpleAsyncUncaughtExceptionHandler : Unexpected error occurred invoking async method 'public void net.unimus.system.bootstrap.boot.Boot.boot()'.

java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOf(Arrays.java:3332)
        at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
        at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448)
        at java.lang.StringBuilder.append(StringBuilder.java:136)
        at net.unimus.core.cli.util.BackupFormatter.trimEmptyLines(BackupFormatter.java:134)
        at net.unimus.system.bootstrap.boot.patch.BackupsLineEndingsPatch.patch(BackupsLineEndingsPatch.java:46)
        at net.unimus.system.bootstrap.boot.patch.DataPatcher.patch(DataPatcher.java:27)
        at net.unimus.system.bootstrap.boot.patch.DataPatcher$$FastClassBySpringCGLIB$$aa27c8e6.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)
        at net.unimus.system.bootstrap.boot.patch.DataPatcher$$EnhancerBySpringCGLIB$$7b0adf2b.patch(<generated>)
        at net.unimus.system.bootstrap.boot.step.InternalInitialization.run(InternalInitialization.java:50)
        at net.unimus.system.bootstrap.boot.Boot.boot(Boot.java:94)
        at net.unimus.system.bootstrap.boot.Boot$$FastClassBySpringCGLIB$$e357c3b1.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:115)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.lang.Thread.run(Thread.java:748)
User avatar
Tomas
Posts: 1206
Joined: Sat Jun 25, 2016 12:33 pm

Wed Mar 28, 2018 1:11 am

normalcy wrote:
Wed Mar 28, 2018 1:00 am
Hi Tomas, also getting the out of memory errors.

I've edited /etc/default/unimus and raised it to -Xms2G -Xmx3G and still getting issues.

Any way to gauge how much memory it will need?
We tested the migration with 17.000 backups (each backup about 200 lines of text) and it ran fine with default (-Xmx768M) settings.
I see both of you are running HSQL DB - our "big" test was on MySQL.

It's quite possible that the issue is related to HSQL.
We will go over the logs first thing tomorrow with the dev team and I will update this thread.
normalcy
Posts: 15
Joined: Thu Nov 16, 2017 2:19 am

Wed Mar 28, 2018 1:37 am

Thanks for the reply Tomas.

With 16GB of RAM and -Xms2G -Xmx6G it made it past the " Running backup line endings fix patch" and seemed to error on the "Running duplicate backup removal patch".

Here were a couple of stackoverflow links I found on memory issues with HSQL and TRUNCATE statements.
https://stackoverflow.com/questions/371 ... s#37138481
https://stackoverflow.com/questions/291 ... ime-hsqldb

When should you stop using the HSQL backend? I only have 15 devices although I take frequent backups and assumed that was small enough to use. The database sizes are:

Code: Select all

:/etc/unimus/hsql# ls -lh
total 2.2G
-rw-r--r-- 1 root root   16 Mar 28 11:32 db.lck
-rw-r--r-- 1 root root 2.2G Mar 28 11:27 db.lobs
-rw-r--r-- 1 root root  23K Mar 28 11:29 db.log
-rw-r--r-- 1 root root  101 Mar 28 11:24 db.properties
-rw-r--r-- 1 root root 2.5M Mar 28 11:24 db.script
drwxr-xr-x 2 root root 4.0K Nov 15 11:35 db.tmp

Code: Select all

2018-03-28 11:23:11.820  WARN 654 --- [localhost-startStop-2] .s.c.a.CommonAnnotationBeanPostProcessor : Invocation of destroy method failed on bean with name 'viewCache': java.lang.NullPointerException
2018-03-28 11:24:21.739  INFO 646 --- [main] net.unimus.Application                   : Starting Application v1.6.0 on unimus with PID 646 (/opt/unimus/Unimus.jar started by root in /opt/unimus)
2018-03-28 11:24:21.756  INFO 646 --- [main] net.unimus.Application                   : The following profiles are active: together,unix,jar
2018-03-28 11:24:35.874  INFO 646 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8085 (http)
2018-03-28 11:24:41.065  INFO 646 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8085 (http)
2018-03-28 11:24:41.099  INFO 646 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.LoggingPathAccessibility  : Checking logging subsystem
2018-03-28 11:24:41.217  INFO 646 --- [main] net.unimus.Application                   : Started Application in 27.486 seconds (JVM running for 31.712)
2018-03-28 11:24:41.231  INFO 646 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.DatabaseConnectionCheck   : Testing database connection
2018-03-28 11:24:42.413  INFO 646 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.DatabaseConnectionCheck   : Database connection test passed
2018-03-28 11:24:42.414  INFO 646 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.boot.step.DatabaseUpdate         : Connecting to database (HSQL, jdbc:hsqldb:file:///etc/unimus/hsql/db)
2018-03-28 11:24:42.417  INFO 646 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.boot.step.DatabaseUpdate         : Updating database schema
2018-03-28 11:24:45.092  INFO 646 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.boot.step.DatabaseUpdate         : Database schema updated successfully
2018-03-28 11:24:45.722  INFO 646 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.EncryptionKeyValidation   : Validating database encryption key
2018-03-28 11:24:45.826  INFO 646 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.DatabaseDataValidation    : Validating database data integrity
2018-03-28 11:24:45.955  INFO 646 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.step.InternalInitialization    : Initializing internal services
2018-03-28 11:24:45.990  INFO 646 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.patch.BackupsLineEndingsPatch  : Running backup line endings fix patch
2018-03-28 11:26:35.070  INFO 646 --- [SimpleAsyncTaskExecutor-1] n.u.s.b.b.patch.BackupsDuplicityPatch    : Running duplicate backup removal patch
2018-03-28 11:28:37.188 ERROR 646 --- [SimpleAsyncTaskExecutor-1] .a.i.SimpleAsyncUncaughtExceptionHandler : Unexpected error occurred invoking async method 'public void net.unimus.system.bootstrap.boot.Boot.boot()'.

java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOfRange(Arrays.java:3664)
        at java.lang.String.<init>(String.java:207)
        at java.lang.String.substring(String.java:1969)
        at net.unimus.business.backup.filters.text.TextBackupFilterHelper.filterFromLeadLines(TextBackupFilterHelper.java:14)
        at net.unimus.business.backup.filters.vendors.mikrotik.MikrotikBackupFilter.filterDynamicContent(MikrotikBackupFilter.java:30)
        at net.unimus.business.backup.comparator.TextBackupComparator.compare(TextBackupComparator.java:162)
        at net.unimus.business.backup.comparator.TextBackupComparator.compare(TextBackupComparator.java:150)
        at net.unimus.business.backup.comparator.BackupComparator.equalBackups(BackupComparator.java:46)
        at net.unimus.system.bootstrap.boot.patch.BackupsDuplicityPatch.patch(BackupsDuplicityPatch.java:58)
        at net.unimus.system.bootstrap.boot.patch.DataPatcher.patch(DataPatcher.java:27)
        at net.unimus.system.bootstrap.boot.patch.DataPatcher$$FastClassBySpringCGLIB$$aa27c8e6.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)
        at net.unimus.system.bootstrap.boot.patch.DataPatcher$$EnhancerBySpringCGLIB$$ad39d523.patch(<generated>)
        at net.unimus.system.bootstrap.boot.step.InternalInitialization.run(InternalInitialization.java:50)
        at net.unimus.system.bootstrap.boot.Boot.boot(Boot.java:94)
        at net.unimus.system.bootstrap.boot.Boot$$FastClassBySpringCGLIB$$e357c3b1.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:115)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.lang.Thread.run(Thread.java:748)
normalcy
Posts: 15
Joined: Thu Nov 16, 2017 2:19 am

Wed Mar 28, 2018 1:47 am

Ha, it worked after 32GB to the VM and -Xms2G -Xmx8G.

:lol:

I guess I better look at migrating to a real DB!
User avatar
Tomas
Posts: 1206
Joined: Sat Jun 25, 2016 12:33 pm

Wed Mar 28, 2018 1:50 am

normalcy wrote:
Wed Mar 28, 2018 1:37 am
When should you stop using the HSQL backend? I only have 15 devices although I take frequent backups and assumed that was small enough to use. The database sizes are:
With the new backup handling in 1.6.0 (the save-only-unique-backups), HSQL should be sufficient for even hundreds of devices even with frequent backups.

Our fault here for not testing a big migration job on HSQL as well as other DB types.
I assume fixing it should be easy - but will have to go over it with the dev team - since I am not the DB expert in our team :)
User avatar
Tomas
Posts: 1206
Joined: Sat Jun 25, 2016 12:33 pm

Wed Mar 28, 2018 12:58 pm

The high memory usage issue has been solved and 1.6.1 hotfix has been released.
As mentioned previously, this affected HSQL DB only.

We have tested the upgrade mechanism with 20.000 backups in HSQL (DB size was around 800 MB).
Upgrade completed fine even with -Xmx512M, but took over 10 minutes.
With -Xmx1G, upgrade took 6 minutes.

For comparison, same upgrade on MySQL took under 30 seconds.

Just a heads-up, that with big DB size on HSQL, this migration will take a bit of time.

As mentioned before, HSQL should behave much better after 1.6, due to the new backup storing mechanism.
Post Reply