Unable to import Application from UAT to Prod

book

Article ID: 142872

calendar_today

Updated On:

Products

CA Release Automation - Release Operations Center (Nolio) CA Release Automation - DataManagement Server (Nolio)

Issue/Introduction

While trying to import an application from one of Release Automation instance to another bearing same RA version we get below error.

 "Fail to import application FinTreasury with data apps/188513000.dat"

 

Cause

From logs we found below error

nolio_dm_all.log

2019-12-11 12:04:05,687 [http-nio-8443-exec-26] ERROR (com.nolio.platform.server.dataservices.services.exportimport.model.importdata.ApplicationDataImporter:180) - Runtime exception caught while importing application java.lang.IllegalArgumentException: id to load is required for loading

nolio_export.log

2019-12-12 10:17:52,382 [http-nio-8080-exec-8] ERROR (com.nolio.releasecenter.designer.services.DesignerExportImportService:952) - error importing application Test-Application com.nolio.platform.server.dataservices.api.model.exportimport.model.importdata.ImportFailureException: Runtime issue encountered at com.nolio.platform.server.dataservices.services.exportimport.model.importdata.ApplicationDataImporter.importData(ApplicationDataImporter.java:181)

 

We found evidence of invalid data. It looks like the customer's database contains two components with the same name – TEST-COMPONENT – under the Test-Application app, which is illegal state for RA. In particular, the list of app's components contains TEST-COMPONENT with id 188537000, but the server type "DB-SERVER" references a component id 81139000 which is not in the list of exported components. We know 81139000 also has the name TEST-COMPONENT because of some redundant data in the exported file.

To validate further the below query can be executed against the RA DB from where the application was exported.

# To check which components are mapped to server type in an application

SELECT st.id as server_type_id, st.server_type_name, st.app_id, c.id as component_id, c.component_name

FROM server_types st LEFT JOIN server_type_comps stc ON stc.server_id = st.id

LEFT JOIN components c ON c.id = stc.component_id LEFT JOIN applications a on a.id = st.app_id

WHERE a.app_name = 'Test-Application' ;

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

# To check which components are mapped to the application

SELECT c.id as component_id, c.component_name, c.parent_component_id, c.uuid, c.version, c.app_id

FROM components as c LEFT JOIN applications a ON c.app_id = a.id

WHERE a.app_name = 'Test-Application' ;

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

# To check if the component is shared component or not. If component name listed and the version is not null it will be a shared component

SELECT st.id as server_type_id, st.server_type_name, st.app_id, c.id as component_id, c.component_name, c.version

FROM server_types st LEFT JOIN server_type_comps stc ON stc.server_id = st.id

LEFT JOIN components c ON c.id = stc.component_id LEFT JOIN applications a ON a.id = st.app_id

WHERE a.app_name = 'Test-Application';

Environment

Release : 6.6

Component : CA RELEASE AUTOMATION CORE

Resolution

Only and only if the component is not a shared component, do the following to resolve the issue.

  • UN-Map the TEST-COMPONENT component from the DB-Server, by uncheck and save the same.
  • Re-Map the TEST-COMPONENT component from the DB-Server, by checking and save the same.