TDM Portal: Click on Environments Gives Error : Could not perform the action because of an internal server problem.

book

Article ID: 206672

calendar_today

Updated On:

Products

CA Test Data Manager (Data Finder / Grid Tools)

Issue/Introduction

After upgrading TDM Portal from TDM 4.9 to TDM 4.9.1 we aren't able to access any of our environments that have been created in Portal. When clicking on the Environments link, we see an error pop up stating

"Could not preform the action because of an internal server problem. Refer to logs, for more information.

The Server replied: Server encountered an error processing the request. See server logs for more details"

 

Cause

The most common cause for this error is:

  1. The orientDB service has been shutdown or stopped
  2. A misconfiguration in the orientDB database connection
  3. corruption with the orientDB database.

To determine the root cause:

  1. Review the orientDB log, which is located by default at %ProgramData%\CA\CA Test Data Manager Portal\orientDB\log\orientdbStartup.txt
  2. Review the TDM Portal logs, which are located by default at %ProgramData%\CA\CA Test Data Manager Portal\logs
    • TDMDataReservation.log
    • TDMFindReserve.log

Environment

Release : 4.9

Component : CA Test Data Manager

Resolution

While troubleshoot the issue we noticed that the orientDB service fails to stay running, which could be the result of a misconfiguration or database corruption.

 

When using TDM Portal, the Data reservations for Find & Reserve are held in the orientDB database, so looking in the orientdbStartup.txt, and the TDMDataReservation.log and TDMFindReserve.log, should help determine the cause of the problem. 

In this example we see from the TDMFidReserve.log The FindReserveDataMigration is failing due to an internal server error: 500

2021-01-14 20:54:29.466 UTC [ERROR] [Thread-35                ] --- [U:][M:][P:]                  c.c.t.f.FindReserveDataMigration:  Failed to perform find reserve data migration
org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 

 

Looking at the TDMDataReservation.log we see the connection to the ReservationDB, on port 2424 is being refused by the orientDB.

2021-01-14 20:47:14.711 UTC [ERROR] [https-openssl-nio-8443-exec-2] --- [U:Administrator][M:GET][P:/api/ca/v1/environments]              c.c.t.c.e.h.GlobalExceptionConvertor:  HTTP Error - INTERNAL SERVER ERROR: Exception: Error in creating or accessing the database
java.net.ConnectException: Connection refused: connect

...

Wrapped by: com.orientechnologies.common.io.OIOException: Error on connecting to :2424/ReservationDB

 

Looking at the orientdbStartup.txt (which I failed to capture for an example) we noticed that the database listener shows to running on a different port than 2424. Instead the orientDB application is listening on port 2480, while TDM Portal is attempting to make the connection of port 2424. This is a clear indication that someone has made modifications to the orientDB configuration, causing the connection to the database to fail.

 

The oreintDB configuration is controlled by the C:\Program Files\CA\CA Test Data Manager Portal\orientdb|config|orientdb-server-config.xml (default location). In this xml file look for the <listeners> tag to see how the ports are configured. By default, the listener port for binary connections should be set to port 2424, while the http connections use port 2480. In this example, both listener ports were set up to listen on port 2480, and causing the database connection to fail.

 

Additional Information

As a best practice, Broadcom always recommends backing up your TDM Portal installation directory before running your upgrade. The main reason for this is to keep a working backup of your TDM Portal configuration files, as well as a copy of your orientDB configuration files and oreintDB database.

NOTE: When troubleshooting this type of issue in your own environment, you may find the orientDB service is running, but the orientdbStartup.txt shows the login attempt is failing. Looking through the orientdb-server-config.xml file, under the <users> tag you'll find the orientdb application stores the password as an encrypted value. This is also true if you look in the TDM Protal's application.properties file. However, the two encryption methods are different, so you cannot recover one by finding the encrypted value in the other file. Therefore, it's important to make note of the orientDB username and password that was set up at the time the application was installed. If the configuration is ever changed, and the encrypted password value is not correct, you will not be able to recover the orientDB password. Your only option will be to uninstall TDM Portal, which also uninstalls the orientDB database, and do a fresh installation.

For more information on upgrading TDM see: