org.springframework.dao.DataIntegrityViolationException: could not insert: [org.opennms.netmgt.model.CdpLink]; SQL [insert into cdpLink (cdpCacheAddress, cdpCacheAddressType, cdpCacheDeviceId, cdpCacheDevicePlatform, cdpCacheDevicePort, cdpCacheIfIndex, cdpCacheVersion, cdpInterfaceName, cdpLinkCreateTime, cdpLinkLastPollTime, nodeId, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; nested exception is org.hibernate.exception.DataException: could not insert: [org.opennms.netmgt.model.CdpLink] at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:648) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411) at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374) at org.springframework.orm.hibernate3.HibernateTemplate.flush(HibernateTemplate.java:881) at org.opennms.netmgt.dao.hibernate.AbstractDaoHibernate.flush(AbstractDaoHibernate.java:93) at org.opennms.netmgt.enlinkd.EnhancedLinkdServiceImpl$1.doInsert(EnhancedLinkdServiceImpl.java:241) at org.opennms.netmgt.enlinkd.EnhancedLinkdServiceImpl$1.doInsert(EnhancedLinkdServiceImpl.java:218) at org.opennms.netmgt.dao.support.UpsertTemplate.insert(UpsertTemplate.java:191) at org.opennms.netmgt.dao.support.UpsertTemplate.doUpsert(UpsertTemplate.java:174) at org.opennms.netmgt.dao.support.UpsertTemplate.access$000(UpsertTemplate.java:123) at org.opennms.netmgt.dao.support.UpsertTemplate$1.doInTransaction(UpsertTemplate.java:147) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:131) at org.opennms.netmgt.dao.support.UpsertTemplate.execute(UpsertTemplate.java:143) at org.opennms.netmgt.enlinkd.EnhancedLinkdServiceImpl.saveCdpLink(EnhancedLinkdServiceImpl.java:218) at org.opennms.netmgt.enlinkd.EnhancedLinkdServiceImpl.store(EnhancedLinkdServiceImpl.java:213) at org.opennms.netmgt.enlinkd.EnhancedLinkdServiceImpl$$FastClassByCGLIB$$fe4d2451.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:627) at org.opennms.netmgt.enlinkd.EnhancedLinkdServiceImpl$$EnhancerByCGLIB$$96ccf8d6.store(<generated>) at org.opennms.netmgt.enlinkd.NodeDiscoveryCdp$1.processCdpCacheRow(NodeDiscoveryCdp.java:115) at org.opennms.netmgt.enlinkd.snmp.CdpCacheTableTracker.rowCompleted(CdpCacheTableTracker.java:235) at org.opennms.netmgt.snmp.SnmpTableResult.handleCompleteRows(SnmpTableResult.java:99) at org.opennms.netmgt.snmp.SnmpTableResult.storeResult(SnmpTableResult.java:75) at org.opennms.netmgt.snmp.TableTracker.storeResult(TableTracker.java:106) at org.opennms.netmgt.snmp.CollectionTracker.storeResult(CollectionTracker.java:77) at org.opennms.netmgt.snmp.ColumnTracker$1.processResponse(ColumnTracker.java:100) at org.opennms.netmgt.snmp.TableTracker$CombinedColumnResponseProcessor.processResponse(TableTracker.java:170) at org.opennms.netmgt.snmp.AggregateTracker$ChildTrackerResponseProcessor.processResponse(AggregateTracker.java:165) at org.opennms.netmgt.snmp.SnmpWalker.processResponse(SnmpWalker.java:201) at org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker.access$700(Snmp4JWalker.java:48) at org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker$Snmp4JResponseListener.processResponse(Snmp4JWalker.java:151) at org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker$Snmp4JResponseListener.onResponse(Snmp4JWalker.java:180) at org.snmp4j.Snmp.processPdu(Snmp.java:1272) at org.snmp4j.MessageDispatcherImpl.fireProcessPdu(MessageDispatcherImpl.java:616) at org.snmp4j.MessageDispatcherImpl.dispatchMessage(MessageDispatcherImpl.java:287) at org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:347) at org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:309) at org.snmp4j.transport.AbstractTransportMapping.fireProcessMessage(AbstractTransportMapping.java:83) at org.snmp4j.transport.DefaultUdpTransportMapping$ListenThread.run(DefaultUdpTransportMapping.java:372) at java.lang.Thread.run(Thread.java:744) Caused by: org.hibernate.exception.DataException: could not insert: [org.opennms.netmgt.model.CdpLink] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:102) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2455) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2875) at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:184) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216) at org.springframework.orm.hibernate3.HibernateTemplate$28.doInHibernate(HibernateTemplate.java:883) at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406) ... 38 more Caused by: org.postgresql.util.PSQLException: ERROR: value too long for type character varying(255) at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:560) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:363) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105) at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:46) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2435)
Acceptance / Success Criteria
None
Lucidchart Diagrams
Activity
Antonio Russo September 27, 2014 at 5:05 AM
Resolved in space/14.1 branch:
commit d98e9ed15e54a9af198c13ff3f17642d9ce34fc7 Author: Antonio <rssntn67@yahoo.it> Date: Sat Sep 27 11:03:01 2014 +0200
Fix for issue : PSQLException in EnhancedLinkd Cdp discovery
Change the datatype of cdplink.cdpcacheversion to text.
MacBook-Pro-di-Antonio-Russo:opennms antonio$ git push Counting objects: 181, done. Delta compression using up to 4 threads. Compressing objects: 100% (23/23), done. Writing objects: 100% (25/25), 3.02 KiB | 0 bytes/s, done. Total 25 (delta 8), reused 0 (delta 0) To git@github.com:OpenNMS/opennms.git 2229031..d98e9ed space/14.1 -> space/14.1
org.springframework.dao.DataIntegrityViolationException: could not insert: [org.opennms.netmgt.model.CdpLink]; SQL [insert into cdpLink (cdpCacheAddress, cdpCacheAddressType, cdpCacheDeviceId, cdpCacheDevicePlatform, cdpCacheDevicePort, cdpCacheIfIndex, cdpCacheVersion, cdpInterfaceName, cdpLinkCreateTime, cdpLinkLastPollTime, nodeId, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; nested exception is org.hibernate.exception.DataException: could not insert: [org.opennms.netmgt.model.CdpLink]
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:648)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.flush(HibernateTemplate.java:881)
at org.opennms.netmgt.dao.hibernate.AbstractDaoHibernate.flush(AbstractDaoHibernate.java:93)
at org.opennms.netmgt.enlinkd.EnhancedLinkdServiceImpl$1.doInsert(EnhancedLinkdServiceImpl.java:241)
at org.opennms.netmgt.enlinkd.EnhancedLinkdServiceImpl$1.doInsert(EnhancedLinkdServiceImpl.java:218)
at org.opennms.netmgt.dao.support.UpsertTemplate.insert(UpsertTemplate.java:191)
at org.opennms.netmgt.dao.support.UpsertTemplate.doUpsert(UpsertTemplate.java:174)
at org.opennms.netmgt.dao.support.UpsertTemplate.access$000(UpsertTemplate.java:123)
at org.opennms.netmgt.dao.support.UpsertTemplate$1.doInTransaction(UpsertTemplate.java:147)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:131)
at org.opennms.netmgt.dao.support.UpsertTemplate.execute(UpsertTemplate.java:143)
at org.opennms.netmgt.enlinkd.EnhancedLinkdServiceImpl.saveCdpLink(EnhancedLinkdServiceImpl.java:218)
at org.opennms.netmgt.enlinkd.EnhancedLinkdServiceImpl.store(EnhancedLinkdServiceImpl.java:213)
at org.opennms.netmgt.enlinkd.EnhancedLinkdServiceImpl$$FastClassByCGLIB$$fe4d2451.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:627)
at org.opennms.netmgt.enlinkd.EnhancedLinkdServiceImpl$$EnhancerByCGLIB$$96ccf8d6.store(<generated>)
at org.opennms.netmgt.enlinkd.NodeDiscoveryCdp$1.processCdpCacheRow(NodeDiscoveryCdp.java:115)
at org.opennms.netmgt.enlinkd.snmp.CdpCacheTableTracker.rowCompleted(CdpCacheTableTracker.java:235)
at org.opennms.netmgt.snmp.SnmpTableResult.handleCompleteRows(SnmpTableResult.java:99)
at org.opennms.netmgt.snmp.SnmpTableResult.storeResult(SnmpTableResult.java:75)
at org.opennms.netmgt.snmp.TableTracker.storeResult(TableTracker.java:106)
at org.opennms.netmgt.snmp.CollectionTracker.storeResult(CollectionTracker.java:77)
at org.opennms.netmgt.snmp.ColumnTracker$1.processResponse(ColumnTracker.java:100)
at org.opennms.netmgt.snmp.TableTracker$CombinedColumnResponseProcessor.processResponse(TableTracker.java:170)
at org.opennms.netmgt.snmp.AggregateTracker$ChildTrackerResponseProcessor.processResponse(AggregateTracker.java:165)
at org.opennms.netmgt.snmp.SnmpWalker.processResponse(SnmpWalker.java:201)
at org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker.access$700(Snmp4JWalker.java:48)
at org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker$Snmp4JResponseListener.processResponse(Snmp4JWalker.java:151)
at org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker$Snmp4JResponseListener.onResponse(Snmp4JWalker.java:180)
at org.snmp4j.Snmp.processPdu(Snmp.java:1272)
at org.snmp4j.MessageDispatcherImpl.fireProcessPdu(MessageDispatcherImpl.java:616)
at org.snmp4j.MessageDispatcherImpl.dispatchMessage(MessageDispatcherImpl.java:287)
at org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:347)
at org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:309)
at org.snmp4j.transport.AbstractTransportMapping.fireProcessMessage(AbstractTransportMapping.java:83)
at org.snmp4j.transport.DefaultUdpTransportMapping$ListenThread.run(DefaultUdpTransportMapping.java:372)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.hibernate.exception.DataException: could not insert: [org.opennms.netmgt.model.CdpLink]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:102)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2455)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2875)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:184)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)
at org.springframework.orm.hibernate3.HibernateTemplate$28.doInHibernate(HibernateTemplate.java:883)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
... 38 more
Caused by: org.postgresql.util.PSQLException: ERROR: value too long for type character varying(255)
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:560)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:363)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:46)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2435)