Knowledge Base

cancel
Showing results for 
Search instead for 
Did you mean: 

How to resolve EUM Processor unable to start in a HA Controller setup

The following error is seen inside the EUM Processor log file when the EUM Processor is not able to start:

 

| Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source. 
| at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1422) 
| at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:606) 
| at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:526) 
| at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:756) 
| at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:683) 
| ... 14 more 
| 
+---------------------------------------------------------------------------------------

28 Aug 2017 14:12:02.746 +0200 main SqlAppStore ERROR 
| Exception caught while querying application store: 
| SQL: select * from applications where is_active=? and is_enabled=? 
| Params: [N, Y] 
| java.sql.SQLException: Connections could not be acquired from the underlying database! 
| at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:118) 
| at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:690) 
| at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140) 
| at com.appdynamics.eumcloud.data.sql.SqlDBManager.getConnection(SqlDBManager.java:69)
| at com.appdynamics.eumcloud.data.sql.SqlAppStore.runQuery(SqlAppStore.java:345) 
| at com.appdynamics.eumcloud.data.sql.SqlAppStore.findInactiveApps(SqlAppStore.java:161) 
| at com.appdynamics.eumcloud.data.cache.AccountAppCache.refreshInactiveAccounts(AccountAppCache.java:225) 
| at com.appdynamics.eumcloud.data.cache.AccountAppCache.initialize(AccountAppCache.java:194) 
| at com.appdynamics.eum.processor.utils.EUMProcessorHelper.setupAuthenticator(EUMProcessorHelper.java:89) 
| at com.appdynamics.eum.processor.EUMProcessorServerApplication.run(EUMProcessorServerApplication.java:160) 
| at com.appdynamics.eum.processor.EUMProcessorServerApplication.run(EUMProcessorServerApplication.java:111) 
| at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:42) 
| at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:76) 
| at io.dropwizard.cli.Cli.run(Cli.java:70) 
| at io.dropwizard.Application.run(Application.java:72) 
| at com.appdynamics.eumcloud.EUMProcessorServer.main(EUMProcessorServer.java:40) 
| Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source. 
| at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1422) 
| at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:606) 
| at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:526) 
| at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:756) 
| at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:683) 
| ... 14 more 
| 
+---------------------------------------------------------------------------------------

 

This issue can happen in High Availability (HA) Controller setups, where the dbHosts property value under the #Database connection info section within the EUM properties file is pointing to the PASSIVE host of HA Controller setup.

 

In order to have an active connection to the eum_db schema within the Controller database, make sure to point this property value to an ACTIVE host.

 

Example: onprem.dbHost=<POINT_THIS_TO_THE_ACTIVE_CONTROLLER_HOST>

 

 

Note: In HA setups, the host can change dynamically, so in order to make sure that the EUM Processor remains up without manually changing the property value inside the the properties file, a Load Balancer can be put in place between the Controller and the EUM Processor which would help route connection from EUM Processor to active Controller host. 

 

Version history
Revision #:
2 of 2
Last update:
‎08-31-2017 10:55 AM
Updated by:
 
0 Kudos