RUM applications are missing after upgrade

  • KM02779554
  • 21-Apr-2017
  • 21-Apr-2017

Archived Content: This information is no longer maintained and is provided "as is" for your convenience.

Summary

After upgrade from any version prior BSM 9.26IP1 to BSM 9.26IP1 or 9.30 RUM configuration is missing from RUM applications

Error

Problem is seen in BSM servers that are upgraded from any prior version to BSM 9.26IP1 and above

After upgrade, users notice that RUM configuration from their RUM applications is missing

Other symptoms:

- Failed to get RUM Engine. System error occurred {0} pop-up when trying to access Admin - EUM - Setting tab - Real User Monitor settings or when trying to manually add an engine to a RUM application

- From RUM Engine can not syncronize BSM applications

- When tryiging to validate EUM/RUM model via JMX console show error:  Failed to activate EUM Model Validator

- On log HPBSM\log\map-app.log

2017-03-05 23:15:03,918 [ajp-/127.0.0.1:8009-2] (EumException.java:53) ERROR - Failed to get RUM configuration for Logical Application CIs. System error occurred:{0 com.mercury.am.eum.shared.management.exceptions.EumGeneralException: Failed to get RUM configuration for Logical Application CIs. System error occurred: {0}
at com.mercury.am.eum.shared.operations.Operation.execute(Operation.java:94)

- On HPBSM\log\eum.log

2017-03-05 19:00:10,065 [http-/127.0.0.1:8080-2] (SessionDimFS.java:152) ERROR - Failed to read RUM session properties.
com.mercury.am.eum.shared.management.exceptions.EumGeneralException: Failed to get RUM configuration for Logical Application CIs. System error occurred: {0}
at com.mercury.am.eum.shared.operations.Operation.execute(Operation.java:94)

-On HPBSM\log\map-app-msg.log

2017-03-21 06:08:58,094 [ajp-/127.0.0.1:8009-12] ERROR - Failed to convert jpa bean, type=RumAppConfigJpa

        java.lang.NullPointerException

           at com.mercury.am.eum.rum.model.types.RumAppConfigPropertyType.getInstance(RumAppConfigPropertyType.java:27)

           at com.mercury.am.eum.rum.model.jpa.RumAppConfigJpa.getAppConfigPropertyTypeEnum(RumAppConfigJpa.java:1314)

           at com.mercury.am.eum.rum.model.impl.RumAppConfigImpl.copyDataFromBean(RumAppConfigImpl.java:191)

           at com.mercury.am.eum.rum.model.dto.RumAppConfigDto.<init>(RumAppConfigDto.java:165)

Cause

If a RUM application was defined on a version before BSM 9.26IP1 , it is possible that it does not have a corresponding row on eumrum_properties table on management schema.

Starting from 9.26IP1 R&D started use this eumrum_properties table to keep additional configuration items (docker related). Before 9.26IP1 this was not a problem because they used this table to keep the data that was relevant only for mobile applications

Fix

How to fix:
1.Get the applications ids from eumrum_applications that doesnt have relevant rows in eumrum_properties
                SELECT app_tier_id FROM eumrum_applications
                EXCEPT
                SELECT parent_id FROM eumrum_properties
               
2. Will get the list of IDs
3. For each of IDs execute following command:
                INSERT INTO eumrum_properties (PARENT_ID, PARENT_TYPE, PARENT_CMDB_ID, CUSTOMER_ID, ENTITY_ID, PROPERTY_TYPE, PROPERTY_VALUE)
   VALUES (58, 'HTTP_WEB', 1, 1, 58, 'docker_set', 'false;exposed')
 
                (use ids from the list for highlighted items)

There is a tool created by R&D that automates this process. (FixQCCR1I120054UsingDbAccess_v1.1.zip)
How to run this fix?
1. Unzip the contents of FixQCCR1I120054UsingDbAccess_v1.1.zip to HPBSM\tools\FixQCCR1I120054UsingDbAccess on one of the BSM Gateway servers. You should see the two files HPBSM\tools\FixQCCR1I120054UsingDbAccess\FixQCCR1I120054UsingDbAccess.bat and
HPBSM\tools\FixQCCR1I120054UsingDbAccess\FixQCCR1I120054UsingDbAccess.jar
- Create folder FixQCCR1I120054UsingDbAccess it is not created after unzip and put the files in the folder
2. Double click on HPBSM\tools\FixQCCR1I120054UsingDbAccess\FixQCCR1I120054UsingDbAccess.bat
3. When prompted with "Proceed with running insert fix?", type "yes" and hit enter.
How does the fix work?
1. This fix first checks the BSM Management DB for instances of RUM applications that have missing entries within the EUMRUM_PROPERTIES table.
2. If there are any RUM applications that have missing entries, the fix backs up the current contents of the EUMRUM_PROPERTIES table in csv format to a file named <unix_timestamp>_EUMRUM_PROPERTIES_backup.csv
3. It then creates and executes insert statements for each of the missing RUM applications.
  
   All messages that are shown on the command window are also logged into the <unix_timestamp>_FixQCCR1I120054.log file