search cancel

TDM Portal - Error in the portal when setting up a WHERE clause for a masking function

book

Article ID: 201514

calendar_today

Updated On:

Products

CA Test Data Manager (Data Finder / Grid Tools)

Issue/Introduction

We try to set up a WHERE clause whose size exceeds the 254 possible characters in the field "GTREP". "GTREP_MASK_WHERE". "WHERE_CLAUSE" in the TDM repository


The error is in the log: C:\ProgramData\CA\CA Test Data Manager Portal\logs\TDMModelService.log

And contains, among other things, the following message:

2020-10-06 13:21:00.373 [WARN ] [https-openssl-nio-8443-exec-67] --- [U:DDY8522][M:POST][P:/api/ca/v1/datamodel/maskConfigurations]                      o.h.e.j.s.SqlExceptionHelper:  SQL Error: 12899, SQLState: 72000

2020-10-06 13:21:00.373 [ERROR] [https-openssl-nio-8443-exec-67] --- [U:DDY8522][M:POST][P:/api/ca/v1/datamodel/maskConfigurations]                      o.h.e.j.s.SqlExceptionHelper:  ORA-12899: value too large for column "GTREP"."GTREP_MASK_WHERE"."WHERE_CLAUSE" (actual: 787, maximum: 254)

 

2020-10-06 13:21:00.373 [ERROR] [https-openssl-nio-8443-exec-67] --- [U:DDY8522][M:POST][P:/api/ca/v1/datamodel/maskConfigurations]                 o.h.i.ExceptionMapperStandardImpl:  HHH000346: Error during managed flush [org.hibernate.exception.GenericJDBCException: could not execute statement]

2020-10-06 13:21:00.388 [ERROR] [https-openssl-nio-8443-exec-67] --- [U:DDY8522][M:POST][P:/api/ca/v1/datamodel/maskConfigurations]              c.c.t.c.e.h.GlobalExceptionConvertor:  HTTP Error - SERVICE UNAVAILABLE: could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement

oracle.jdbc.OracleDatabaseException: ORA-12899: value too large for column "GTREP"."GTREP_MASK_WHERE"."WHERE_CLAUSE" (actual: 787, maximum: 254)

 

               at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:513)

               ... 134 common frames omitted

Wrapped by: java.sql.SQLException: ORA-12899: value too large for column "GTREP"."GTREP_MASK_WHERE"."WHERE_CLAUSE" (actual: 787, maximum: 254)

 

               at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:509)

               at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461)

               at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104)

               at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:550)

               at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:268)

               at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:655)

               at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:270)

               at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:91)

               at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:970)

               at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1205)

               at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3666)

               at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1426)

               at oracle.jdbc.driver.OraclePreparedStatement.executeLargeUpdate(OraclePreparedStatement.java:3756)

               at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3736)

               at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1063)

               at sun.reflect.GeneratedMethodAccessor1495.invoke(Unknown Source)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:498)

               at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:114)

               at com.sun.proxy.$Proxy2793.executeUpdate(Unknown Source)

               at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:175)

               ... 114 common frames omitted

Wrapped by: org.hibernate.exception.GenericJDBCException: could not execute statement

Cause

There's a hard coded character limitation set on the 'Where_Clause' column of 256 characters. This will require an enhancement to expand the character limit for the column.

Environment

Release : 4.9

Component : CA Test Data Manager

Resolution

This enhancement has been provided in FastDataMasker-4.9.107.0 and TDMWeb-4.9.209.0.

Please download the latest FDM patch from below link. Install the patch and verify the issue.

https://support.broadcom.com/web/ecx/support-content-notification/-/external/content/release-announcements/Test-Data-Manager-TDM-Patches/16649