CAST Engineering Dashboard - Application - Duplicate Application - Multiple display of the list of applications in the left menu

Problem

 List of applications and modules in the left menu is displayed multiple times in all pages. See the below screenshot:


Description
  1. Check if this is not due to the following corruption SQL Queries - Common SQL Queries - Corruptions - Corruptions on application - How to get the list applications and their modules that have different names across the Triplet, If not then go to the next step, else,there is no workaround, this corruption was never been reproduced and can be due to a wrong manipulation. You need to rebuild the analyzed application from scratch
  2. If this is not due to the above corruption, then the list of applications and modules in the left menu is displayed multiple times because there is a corruption in the CB. There is duplicate values in the DSS_links table.

On management base, we can see that there is only one system:

select ps.*, pa.*
  from cms_objectlinks ol
  join cms_portf_system ps
    on ps.object_id = ol.caller_id
  join cms_portf_application  pa
    on pa.object_id = ol.callee_id



returns 3 applications on System1:

  • 18713;'2014-11-16 18:26:14';'System1';18715;13317;'2015-07-29 09:13:50';'App1';'S:\SOURCES\App1';20936;'2015-05-22 10:52:35';21385;''
  • 18713;'2014-11-16 18:26:14';'System1';18715;13382;'2015-07-29 09:13:50';'App2';'S:\SOURCES\App2';20919;'2015-05-12 11:50:02';
  • 18714;'' 18713;'2014-11-16 18:26:14';System1';18715;13386;'2015-07-29 09:13:50';'App3';'S:\SOURCES\App3';21018;'2015-07-23 11:41:09';18714;''


The result of below query ran on Central repository shows that there are duplicates in the central base. there are two systems with same name but different id

select *
 from DSS_links dl
 join DSS_OBJECTS dos
 on dos.OBJECT_ID = dl.NEXT_OBJECT_ID 
 and dos.OBJECT_TYPE_ID = -102 
 join DSS_OBJECTS system
 on system.OBJECT_ID = dl.PREVIOUS_OBJECT_ID



Returns same 3 applications but on 2 system of the same name 'System1' but different ID (2 and 696701)

  • 2;5;1;5;-102;'App2';'';'App2';2;-101;'System1';'';'My System'
  • 696701;5;1;5;-102;'App2';'';App2';696701;-101;'System1';'';'My System'
  • 2;51;1;51;-102;'App3';'';'App3';2;-101;'System1';'';'My System'
  • 696701;51;1;51;-102;'App3';'';'App3';696701;-101;'System1';'';'My System'
  • 2;3;1;3;-102;'App2';'';'App2';2;-101;'System1';'';'My System'
  • 696701;3;1;3;-102;'App2';'';'App2';696701;-101;'System1';'';'My System'
Observed in CAST AIP
Release
Yes/No
8.3.x(tick)
Observed on RDBMS
RDBMS
Yes/No
CSS(tick)
Action Plan
  1. Identify the oldest system (smallest system  id)
  2. Then delete it by running the below script on Central repository. Do a backup of you central base before running this query 

    delete from DSS_LINKS
    where PREVIOUS_OBJECT_ID = <smallestSystemIDFromQueryAbove>
     
    delete from DSS_LINKS
    where NEXT_OBJECT_ID = <smallestSystemIDFromQueryAbove>
     
    delete from DSS_OBJECTS
     where OBJECT_ID = <smallestSystemIDFromQueryAbove>

    In the example given we have  ID 2 and 696701 for system -> 2 is the smallest one. To be deleted

  3. Then Do a refresh of the dashboard. You should get no duplicate after that:

  4. A snapshot consolidation of the latest snapshot may be required in some cases after running the queries above.

Note/Comment


Related pages