APOLLO & ECW/JP2 Discussions

Wondering how others have configured their ERDAS APOLLO server or what data they are crawling? The ERDAS APOLLO Discussion board is a place to find information, share ideas and more. Join the community, connect, contribute and share.
Showing results for 
Search instead for 
Do you mean 
Reply
Super Contributor
Posts: 419
Registered: ‎10-12-2015
Accepted Solution

Apollo catalog generating thumbnails - max pool size was reached

  • Apollo config db (catalog) held in SQL Server
  • Source feature data held in SQL Server
  • in Data Manager I right click aggregate with SQL Server feature data and choose 'Generate Thumbnails'

In TOMCAT-server.log I end up with:

 

2017-06-30 17:57:23,593 ERROR (quartzSchedulerFactory_Worker-2)[com.erdas.apollo.dmbl.tasks.GenerateThumbnailTask] Error during Thumbnail Generation Task for dbGIS. WMS GetMap request failed. Exception: An error occurred.[An unexpected error occurred. Original message: 'One or more errors occurred.'[An unexpected error occurred. Original message: 'The feature description does not represent a simple query chain.'[An unexpected error occurred. Original message: 'Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.']]]
2017-06-30 17:57:23,593 ERROR (quartzSchedulerFactory_Worker-2)[com.erdas.apollo.job.TaskContext] Error during Thumbnail Generation Task for dbGIS. WMS GetMap request failed. Check the APOLLO Server WMS Service's operational state.
context: MSSql://dbGIS?aggregate
com.ionicsoft.api.wms.WMSException: An error occurred.[An unexpected error occurred. Original message: 'One or more errors occurred.'[An unexpected error occurred. Original message: 'The feature description does not represent a simple query chain.'[An unexpected error occurred. Original message: 'Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.']]]
at com.ionicsoft.wmtmap.client.remote.MapServerImpl.checkErrorResult(MapServerImpl.java:1070)
at com.ionicsoft.wmtmap.client.remote.MapServerImpl.processRequest(MapServerImpl.java:507)
at com.ionicsoft.wmtmap.client.remote.MapServerImpl.processRequest(MapServerImpl.java:412)
at com.ionicsoft.wmtmap.client.common.BaseMapServer.GetMap(BaseMapServer.java:289)
at com.erdas.apollo.dmbl.tasks.GenerateThumbnailTask.doExecute(GenerateThumbnailTask.java:259)
at com.erdas.apollo.job.Task.execute(Task.java:104)
at com.erdas.apollo.job.CompositeTask.doExecute(CompositeTask.java:65)
at com.erdas.apollo.job.Task.execute(Task.java:104)
at com.erdas.apollo.dmbl.provisioning.ProvisioningServiceImpl.runThumbnailTask(ProvisioningServiceImpl.java:809)
at com.erdas.apollo.dmbl.provisioning.ProvisioningServiceImpl.access$900(ProvisioningServiceImpl.java:90)
at com.erdas.apollo.dmbl.provisioning.ProvisioningServiceImpl$5.beginVisit(ProvisioningServiceImpl.java:753)
at com.erdas.apollo.dmbl.provisioning.ProvisioningServiceImpl$5.beginVisit(ProvisioningServiceImpl.java:748)
at com.erdas.apollo.common.TreeVisitor.doTraverse(TreeVisitor.java:65)
at com.erdas.apollo.common.TreeVisitor.traverse(TreeVisitor.java:52)
at com.erdas.apollo.dmbl.provisioning.ProvisioningServiceImpl.generateThumbnailsIterative(ProvisioningServiceImpl.java:772)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
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:281)
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.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy78.generateThumbnailsIterative(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.erdas.apollo.dmbl.scheduling.job.ApolloServiceRunnerJob.doExecute(ApolloServiceRunnerJob.java:452)
at com.erdas.apollo.dmbl.scheduling.job.ApolloServiceRunnerJob$1.perform(ApolloServiceRunnerJob.java:125)
at com.erdas.rsp.babel.util.tx.SimpleTransactionManagerImpl.performInASeparateTransaction(SimpleTransactionManagerImpl.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
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:281)
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.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy57.performInASeparateTransaction(Unknown Source)
at com.erdas.apollo.dmbl.scheduling.job.ApolloServiceRunnerJob.execute(ApolloServiceRunnerJob.java:120)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
2017-06-30 17:57:23,593 ERROR (quartzSchedulerFactory_Worker-2)[com.erdas.apollo.dmbl.tasks.GenerateThumbnailTask] Error during Thumbnail Generation Task for dbGIS. WMS GetMap request failed.
com.erdas.apollo.exception.ApolloException: Error during Thumbnail Generation Task for dbGIS. WMS GetMap request failed.
at com.erdas.apollo.dmbl.tasks.GenerateThumbnailTask.doExecute(GenerateThumbnailTask.java:272)
at com.erdas.apollo.job.Task.execute(Task.java:104)
at com.erdas.apollo.job.CompositeTask.doExecute(CompositeTask.java:65)
at com.erdas.apollo.job.Task.execute(Task.java:104)
at com.erdas.apollo.dmbl.provisioning.ProvisioningServiceImpl.runThumbnailTask(ProvisioningServiceImpl.java:809)
at com.erdas.apollo.dmbl.provisioning.ProvisioningServiceImpl.access$900(ProvisioningServiceImpl.java:90)
at com.erdas.apollo.dmbl.provisioning.ProvisioningServiceImpl$5.beginVisit(ProvisioningServiceImpl.java:753)
at com.erdas.apollo.dmbl.provisioning.ProvisioningServiceImpl$5.beginVisit(ProvisioningServiceImpl.java:748)
at com.erdas.apollo.common.TreeVisitor.doTraverse(TreeVisitor.java:65)
at com.erdas.apollo.common.TreeVisitor.traverse(TreeVisitor.java:52)
at com.erdas.apollo.dmbl.provisioning.ProvisioningServiceImpl.generateThumbnailsIterative(ProvisioningServiceImpl.java:772)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
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:281)
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.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy78.generateThumbnailsIterative(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.erdas.apollo.dmbl.scheduling.job.ApolloServiceRunnerJob.doExecute(ApolloServiceRunnerJob.java:452)
at com.erdas.apollo.dmbl.scheduling.job.ApolloServiceRunnerJob$1.perform(ApolloServiceRunnerJob.java:125)
at com.erdas.rsp.babel.util.tx.SimpleTransactionManagerImpl.performInASeparateTransaction(SimpleTransactionManagerImpl.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
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:281)
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.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy57.performInASeparateTransaction(Unknown Source)
at com.erdas.apollo.dmbl.scheduling.job.ApolloServiceRunnerJob.execute(ApolloServiceRunnerJob.java:120)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)

 

I can generate individual thumbnails, fails when I try to do aggregate worth.

 

I've tried various parameters for 'optimization' (not really sure here).

 

D:\Program Files\Hexagon\ERDAS APOLLO\webapps\erdas-apollo\WEB-INF\applicationContext.xml

Added parameters:

<bean id="dataSource"
class="com.zaxxer.hikari.HikariDataSource"
destroy-method="close">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="jdbcUrl" value="jdbc:sqlserver://Apollo:1433;instanceName=;DatabaseName=GISApollo;sendStringParametersAsUnicode=false"/>
<property name="username" value="Admin"/>
<property name="password" value="xxxxxxxxx"/>
<property name="autoCommit" value="false"/>
<property name="maximumPoolSize" value="100"/>
<property name="minimumIdle" value="10"/>
<!-- <property name="initialSize" value="20"/>
<property name="maxActive" value="50"/>-->
</bean>

 

If I uncomment initialSize or maxActive Apollo fails to start correctly. I have tried various values for maximumPoolSize and minimimumIdle including commenting them out.

 

For data manager I tried:

  1. configuration>Performance
    1. Change 32-bit RDS java tune up parameters modify -Xmx128m to 1024m
    2. Change 64-bit RDS java tune up parameters modify -Xmx128m to 4096m
    3. Change Maximum Decoder Processes to max of 2xnumber of cores
      1. Dev,Test,UAT: 8

I also set back to 128m with no success.

 

Not sure what to try next.

 

thanks

Technical Evangelist
Posts: 860
Registered: ‎07-30-2015

Re: Apollo catalog generating thumbnails - max pool size was reached

This is known issue for APOLLO server with SQL Server as catalog, the following defect request has been submitted.

CR 1-CQ512R Generating pyramids in data manager locks catalog [MS SQL Server]

 

This issue may be resolved in Apollo 2016.3