We have observed, TDM job is failing sometime during TESTMATCH with error "Test Name cannot be null Test Match build version i" (JB151047.error file). This is issue is not traceable through the TestMatch log files. While I verified the log in DEBUG mode, I could see the error but not able to identify for what reason that error is occurring.
2020-01-10 17:24:24.670 UTC [DEBUG] [https-jsse-nio-8443-exec-28] --- [U:Administrator][M:PUT][P:/api/ca/v1/jobs/151047] c.c.t.j.c.JobEngineServiceController: Updating status for requestId 151047 : JobStatusRequest [status=Failed, statusMessage=Job Execution Failed. Please refer the log, artifactLocation=E:\Prod_E\ZRD\Logs\CA\CA Test Data Manager Portal\\jobs\LEGACY\PJ151047.zip]
Can you please let us know why this type of issue occurring?
The problem is due to the source data contains an empty TEST_NAME value, so when we go to build the internal FNV_X_Y TCDC table, used to insert the value into the target database, we throw the error, This can be seen in the JB<JobNumber>.log (for this example the JB151047.log), and the JB<JobNumber>_Log.log (JB151047_Log.log).
For example, JB151047_Log.log:
...
2020-01-10 11:24:18 - TestMatchProcessor:CreateTMCTableInDatabase query
CREATE UNIQUE INDEX FNV_10156_7848_u ON FNV_10156_7848 (
test_name ,
test_is_the_sameas ) to be run
2020-01-10 11:24:18 - Program: >> InsertDataInRemoteTable
2020-01-10 11:24:18 - InsertDataInRemoteTable: sourceTable = FNV_10156_7848 targetTable = FNV_10156_7848 >> CheckTestNameUniqueness
2020-01-10 11:24:18 - CheckTestNameUniqueness: Test Name uniqueness check started
2020-01-10 11:24:18 - SELECT COUNT(*), TEST_NAME FROM FNV_10156_7848 GROUP BY TEST_NAME HAVING COUNT(*) > 1
2020-01-10 11:24:18 - InsertDataInRemoteTable: start select all query ...
2020-01-10 11:24:18 - SELECT * FROM FNV_10156_7848
And in the JB151047.log:
INSERT INTO FNV_10156_7848 (
...)
Test Name cannot be null
at TestMatch.TestMatchProcessor.InsertDataInRemoteTable(String sourceTable, String targetTable, Boolean isFromRepoToRemote)
at TestMatch.Program.Main(String[] args)
Ending Test Match at: 2020-01-10 11:24:24.547 Central Standard Time
Run time: 0 days, 0 hours, 0 minutes, 6 seconds
Release : 4.7.02
Component : CA Test Data Manager Portal
Please review the source table and verify the TEST_NAME column is not empty/Null. You may find that the problem is random, and the testers have little or no control over the generation of the source data. If that is the case, Engineering decided to change the logic for TestMatch, so that we filter out, or skip over, any data where the TEST_NAME column is empty/Null.
The new code is found in the TestMatch-4.8.100.49.zip patch.
To install the patch:
1. Unzip the files in a temporary directory of your choice
2. Copy the extracted files into the TestMatch folder, located under the GTDatamaker folder to replace the old files with the new files.