cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Deepanshu.Grover
AppDynamics Team (Retired)
Why am I seeing : 
"EUM Account <EUM_ACCOUNT_NAME>with key<EUM_ACCOUNT_KEY>could not be provisioned in the EUM PROCESSOR"?

Symptoms

When trying to re-provision the on-premise EUM license, the above error message is seen.

./bin/provision-license <path_to_license_file> 

 

Complete Stacktrace:

Provisioning license from license file

Unable to add global account names to accounts table for eum_account:<EUM_ACCOUNT_NAME>

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:529)

        at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)

        at com.appdynamics.eumcloud.data.sql.SqlDBManager.getConnection(SqlDBManager.java:69)

        at com.appdynamics.eumcloud.OnPremLicenseProvisioner.getGlobalAccountNameFromControllerDb(OnPremLicenseProvisioner.java:127)

        at com.appdynamics.eumcloud.OnPremLicenseProvisioner.provisionFromLicenseFile(OnPremLicenseProvisioner.java:157)

        at com.appdynamics.eumcloud.OnPremLicenseProvisioner.main(OnPremLicenseProvisioner.java:50)

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:1319)

        at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)

        at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)

        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)

        ... 5 more

AccountRegistrationResult:

isValid:false, isAlreadyRegistered:true, description:Account <EUM_ACCOUNT_NAME> already registered,

EUM Account <EUM_ACCOUNT_NAME> with key <EUM_ACCOUNT_KEY>  could not be provisioned in the EUM PROCESSOR, error : Account <EUM_ACCOUNT_NAME> already registered

Diagnosis

This issue occurs as the EUM account name present in the new on-premise license file is already present inside the EUM DB.

 

Solution

To resolve this issue, please follow the following steps:

 

  1. Make a copy of your license file in <EUEM>/eum-processor/bin
  2. Make sure your <EUEM>/eum-processor/eum.properties has your controller root password for the value of onprem.controllerDbPassword
  3. Navigate to <controller>/bin and enter ./controller.sh login-db
  4. Enter use eum_db;
  5. Enter delete from accounts
  6. Enter exit
  7. From the eum-processor directory, run the following script:
    • On Linux: 
      ./bin/provision-license <path_to_license_file> 
    • On Windows:
      bin\provision-license.bat <path_to_license_file>
  8. Restart EUM processor: from <EUEM>/eum-processor enter .bin/eum.sh stop and .bin/eum.sh start
  9. Disable and re-enable EUM from Instrumentation/Configuration/End User Monitoring

Once this is done, the updated license should reflect under License page and EUM data should start flowing again.

Version history
Last update:
‎08-14-2019 12:56 PM
Updated by: