Spectrum Report Manager stops synching with Archive Manager due to java.lang.ClassCastException

Document ID : KB000021297
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

In few occasions where the SRM database tables are created automatically by patch installations the Mysql registry table under the reporting directory will not get updated with the OneClick hostname which leads to a synchronization break with the Archive Managers DDM database and the SRM database.

Solution:

The solution is to re-enable the synchronization by following these steps.

Error in stdout.log:

servers.java.lang.ClassCastException: java.lang.String cannot be cast to
java.util.List.

Steps to Follow:

  1. Query the registry table of the reporting directory from the Mysql database:
           mysql> select * from registry\G;
    *************************** 1. row ***************************
                           reg_user: System
                            SRGLink:
                OneClickServerEntry: nog-specweb
                      SRMPollPeriod: 24
                   SRMPollStartTime: 0
                     SRMPollEndTime: 24
                    IFIdleThreshold: 0
                        ServersList:  
                 CrystalInstallRoot:
                 CrystalCommonFiles:
                        CrystalHome:
                    CrystalPassword:

  2. From the above output make sure the ServerList is shown as empty. This column should actually hold the OneClick server hostname.

  3. Update the ServerList field with the OneClick hostname using this command:

         mysql> update registry set ServerList='[OneClick Host Name]' - This will update the ServersList field in the registry table.

  4. Now re-initialize the SRM database using the below command (From $SPECROOT/bin), this will leave the last 45 days of data:

         ./RpMgrInitializeLandscape.bat root root -initHist 45 -all

  5. Now logon to the OneClick Home Page -> Administration -> Report Manager -> Admin Tools -> SpectroSERVER Status -> Last event processed column. This should show you the timestamp of the latest synchronization after sometime.

    Now the synchronization between the DDM database and the SRM database will work properly.