exception many times in APM log
search cancel

exception many times in APM log

book

Article ID: 190956

calendar_today

Updated On:

Products

CA Application Performance Management Agent (APM / Wily / Introscope) CA Application Performance Management (APM / Wily / Introscope) INTROSCOPE DX Application Performance Management

Issue/Introduction

We see this exception many times in IntroscopeEnterpriseManager.log. Is it possible that this type exception might be threatening the integrity of the database or case any issues? How to solve this issue?

[ERROR] [Thread-ModelSynchronization] [Manager.AppMap] Unable to process graph {"vertices":{"ATC:.....................................
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [INSERT INTO appmap_id_mappings (vertex_id, external_id, type, tenant_id, layer)  VALUES (?, ?, ?, ?, ?)]; ERROR: value too long for type character varying(2048); nested exception is org.postgresql.util.PSQLException: ERROR: value too long for type character varying(2048)
 at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:102)
 at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
 at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82)
 at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82)
 at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:655)
 at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:876)
 at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:900)
 at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:287)
 at com.wily.introscope.appmap.em.model.dao.impl.gmt.GMTNamedParameterJdbcTemplate.update(GMTNamedParameterJdbcTemplate.java:250)
 at com.wily.introscope.appmap.em.model.dao.impl.CollectorOperationsDaoImpl.createMappingTransactional(CollectorOperationsDaoImpl.java:799)
 at com.wily.introscope.appmap.em.model.dao.impl.SubtransactionsDaoImpl.createMappingTransactional(SubtransactionsDaoImpl.java:61)
 at sun.reflect.GeneratedMethodAccessor454.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
 at com.sun.proxy.$Proxy120.createMappingTransactional(Unknown Source)
 at com.wily.introscope.appmap.em.model.dao.impl.CollectorOperationsDaoImpl.getOrCreateMapping(CollectorOperationsDaoImpl.java:656)
 at com.wily.introscope.appmap.em.model.dao.impl.CollectorOperationsDaoImpl.getOrCreateMappingOneByOne(CollectorOperationsDaoImpl.java:716)
 at com.wily.introscope.appmap.em.model.dao.impl.CollectorOperationsDaoImpl.createBulkMapping(CollectorOperationsDaoImpl.java:694)
 at com.wily.introscope.appmap.em.model.dao.impl.CollectorOperationsDaoImpl.getOrCreateMapping(CollectorOperationsDaoImpl.java:683)
 at sun.reflect.GeneratedMethodAccessor436.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
 at com.sun.proxy.$Proxy141.getOrCreateMapping(Unknown Source)
 at sun.reflect.GeneratedMethodAccessor436.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
 at com.sun.proxy.$Proxy142.getOrCreateMapping(Unknown Source)
 at com.wily.introscope.appmap.em.ontology.AppMapModelImpl.processGraph(AppMapModelImpl.java:1592)
 at com.wily.introscope.appmap.em.ontology.OntologyModelBean.processGraph(OntologyModelBean.java:204)
 at com.wily.introscope.appmap.em.ontology.ModelSynchronization.run(ModelSynchronization.java:341)
 at java.lang.Thread.run(Thread.java:745)
Caused by: org.postgresql.util.PSQLException: ERROR: value too long for type character varying(2048)
 at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
 at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886)
 at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
 at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)
 at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
 at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:363)
 at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
 at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
 at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:883)
 at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:876)
 at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:639)
 ... 38 more

Environment

Release : 10.7.0

Component : APM EM

Resolution

Stop EM.

Make a back up of APM DB.

Run the following two SQL queries against the APM DB to increase the character limit to 4096:

ALTER TABLE appmap_attribs ALTER COLUMN value TYPE varchar(4096);

ALTER TABLE appmap_id_mappings ALTER COLUMN external_id TYPE varchar(4096);

Start EM.