Re: InvalidDataAccessApiUsageException: deleted object would be re-saved by cascade

Gerald Vogt <[email protected]>
Newsgroups gmane.network.opennms.general
Message-ID <[email protected]>
Hi Jonathan,

I have deleted the ICMP service (which was the only service on that IP 
address) from the interface and now the service and the interface have 
been deleted.

9/27/17 16:51:50 Warning  The ICMP service on interface x.x.x.x has been 
scheduled for deletion.
9/27/17 16:51:51 Warning  The ICMP service was deleted from interface 
x.x.x.x.
9/27/17 16:51:51 Minor 	Interface x.x.x.x deleted from node #1 with 
ifIndex N/A.

Thanks,

Gerald

On 27.09.17 11:58, Jonathan Heard wrote:
> Hi Gerald,
> 
>      I've not seen this before but I have a couple of ideas to try..
> 
> a) Try doing a forced rescan on the router node (view the node in 
> OpenNMS, then click 'Rescan' at the top), then re-try the delete
> I'm just wondering if this has any relationship to the interface still 
> being listed by SNMP when it scans the interface tables on the device
> 
> b) Try manually deleting each monitored service from the interface so it 
> has none, and then try deleting it.
> 
> I hope one of these ideas helps you.
> 
> Regards
> Jonathan
> 
> On 27/09/17 07:54, Gerald Vogt wrote:
>> Hi!
>>
>> I have removed an IP interface from one of our routers and now I tried 
>> to get to removed from opennms. However, I cannot delete the 
>> interface. If I delete the interface in the webui I don't get an error 
>> message but the interface won't get deleted.
>>
>> In provisiond.log I see the following exception whenever I try to 
>> delete the interface:
>>
>>> 2017-09-27 08:12:06,503 ERROR [Provisiond:EventListener-Thread] 
>>> o.o.n.p.s.Provisioner: Unexpected exception processing event: 
>>> uei.opennms.org/internal/capsd/deleteInterface
>>> org.springframework.dao.InvalidDataAccessApiUsageException: deleted 
>>> object would be re-saved by cascade (remove deleted object from 
>>> associations): [org.opennms.netmgt.model.OnmsIpInterface#220]; nested 
>>> exception is org.hibernate.ObjectDeletedException: deleted object 
>>> would be re-saved by cascade (remove deleted object from 
>>> associations): [org.opennms.netmgt.model.OnmsIpInterface#220]
>>>         at 
>>> org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:689) 
>>> ~[org.apache.servicemix.bundles.spring-orm-4.1.6.RELEASE_1.jar:?]
>>>         at 
>>> org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:414) 
>>> ~[org.apache.servicemix.bundles.spring-orm-4.1.6.RELEASE_1.jar:?]
>>>         at 
>>> org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:416) 
>>> ~[org.apache.servicemix.bundles.spring-orm-4.1.6.RELEASE_1.jar:?]
>>>         at 
>>> org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:379) 
>>> ~[org.apache.servicemix.bundles.spring-orm-4.1.6.RELEASE_1.jar:?]
>>>         at 
>>> org.springframework.orm.hibernate3.HibernateTemplate.flush(HibernateTemplate.java:938) 
>>> ~[org.apache.servicemix.bundles.spring-orm-4.1.6.RELEASE_1.jar:?]
>>>         at 
>>> org.opennms.netmgt.dao.hibernate.AbstractDaoHibernate.flush(AbstractDaoHibernate.java:94) 
>>> ~[opennms-dao-20.1.0.jar:?]
>>>         at 
>>> org.opennms.netmgt.provision.service.DefaultProvisionService.deleteInterface(DefaultProvisionService.java:331) 
>>> ~[opennms-provisiond-20.1.0.jar:?]
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
>>> Method) ~[?:1.8.0_112]
>>>         at 
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
>>> ~[?:1.8.0_112]
>>>         at 
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
>>> ~[?:1.8.0_112]
>>>         at java.lang.reflect.Method.invoke(Method.java:498) 
>>> ~[?:1.8.0_112]
>>>         at 
>>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) 
>>> ~[org.apache.servicemix.bundles.spring-aop-4.1.6.RELEASE_1.jar:?]
>>>         at 
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) 
>>> ~[org.apache.servicemix.bundles.spring-aop-4.1.6.RELEASE_1.jar:?]
>>>         at 
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) 
>>> ~[org.apache.servicemix.bundles.spring-aop-4.1.6.RELEASE_1.jar:?]
>>>         at 
>>> org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
>>> ~[org.apache.servicemix.bundles.spring-tx-4.1.6.RELEASE_1.jar:?]
>>>         at 
>>> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
>>> ~[org.apache.servicemix.bundles.spring-tx-4.1.6.RELEASE_1.jar:?]
>>>         at 
>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
>>> ~[org.apache.servicemix.bundles.spring-tx-4.1.6.RELEASE_1.jar:?]
>>>         at 
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
>>> ~[org.apache.servicemix.bundles.spring-aop-4.1.6.RELEASE_1.jar:?]
>>>         at 
>>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) 
>>> ~[org.apache.servicemix.bundles.spring-aop-4.1.6.RELEASE_1.jar:?]
>>>         at com.sun.proxy.$Proxy165.deleteInterface(Unknown Source) 
>>> ~[?:?]
>>>         at 
>>> org.opennms.netmgt.provision.service.Provisioner.doDeleteInterface(Provisioner.java:791) 
>>> ~[opennms-provisiond-20.1.0.jar:?]
>>>         at 
>>> org.opennms.netmgt.provision.service.Provisioner.handleDeleteInterface(Provisioner.java:784) 
>>> [opennms-provisiond-20.1.0.jar:?]
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
>>> Method) ~[?:1.8.0_112]
>>>         at 
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
>>> ~[?:1.8.0_112]
>>>         at 
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
>>> ~[?:1.8.0_112]
>>>         at java.lang.reflect.Method.invoke(Method.java:498) 
>>> ~[?:1.8.0_112]
>>>         at 
>>> org.opennms.netmgt.events.api.AnnotationBasedEventListenerAdapter.processEvent(AnnotationBasedEventListenerAdapter.java:220) 
>>> [org.opennms.features.events.api-20.1.0.jar:?]
>>>         at 
>>> org.opennms.netmgt.events.api.AnnotationBasedEventListenerAdapter$1.run(AnnotationBasedEventListenerAdapter.java:181) 
>>> [org.opennms.features.events.api-20.1.0.jar:?]
>>>         at 
>>> org.opennms.core.logging.Logging.withPrefix(Logging.java:71) 
>>> [org.opennms.core.logging-20.1.0.jar:?]
>>>         at 
>>> org.opennms.netmgt.events.api.AnnotationBasedEventListenerAdapter.onEvent(AnnotationBasedEventListenerAdapter.java:174) 
>>> [org.opennms.features.events.api-20.1.0.jar:?]
>>>         at 
>>> org.opennms.netmgt.eventd.EventIpcManagerDefaultImpl$EventListenerExecutor$2.run(EventIpcManagerDefaultImpl.java:183) 
>>> [org.opennms.features.events.daemon-20.1.0.jar:?]
>>>         at 
>>> java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1626) 
>>> [?:1.8.0_112]
>>>         at 
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
>>> [?:1.8.0_112]
>>>         at 
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
>>> [?:1.8.0_112]
>>>         at 
>>> org.opennms.core.concurrent.LogPreservingThreadFactory$2.run(LogPreservingThreadFactory.java:106) 
>>> [opennms-util-20.1.0.jar:?]
>>>         at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]
>>> Caused by: org.hibernate.ObjectDeletedException: deleted object would 
>>> be re-saved by cascade (remove deleted object from associations): 
>>> [org.opennms.netmgt.model.OnmsIpInterface#220]
>>>         at 
>>> org.hibernate.impl.SessionImpl.forceFlush(SessionImpl.java:1230) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:188) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:252) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:392) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:335) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:204) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:425) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:362) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:338) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:204) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at org.hibernate.engine.Cascade.cascade(Cascade.java:161) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:154) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:145) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216) 
>>> ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final]
>>>         at 
>>> org.springframework.orm.hibernate3.HibernateTemplate$27.doInHibernate(HibernateTemplate.java:941) 
>>> ~[org.apache.servicemix.bundles.spring-orm-4.1.6.RELEASE_1.jar:?]
>>>         at 
>>> org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411) 
>>> ~[org.apache.servicemix.bundles.spring-orm-4.1.6.RELEASE_1.jar:?]
>>>         ... 33 more
>>
>> What can I do to get rid of that interface?
>>
>> Thanks,
>>
>> Gerald
>>
>> ------------------------------------------------------------------------------ 
>>
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Please read the OpenNMS Mailing List FAQ:
>> http://www.opennms.org/index.php/Mailing_List_FAQ
>>
>> opennms-discuss mailing list
>>
>> To *unsubscribe* or change your subscription options, see the bottom 
>> of this page:
>> https://lists.sourceforge.net/lists/listinfo/opennms-discuss
> 
> 
> ------------------------------------------------------------------------------ 
> 
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Please read the OpenNMS Mailing List FAQ:
> http://www.opennms.org/index.php/Mailing_List_FAQ
> 
> opennms-discuss mailing list
> 
> To *unsubscribe* or change your subscription options, see the bottom of 
> this page:
> https://lists.sourceforge.net/lists/listinfo/opennms-discuss


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/index.php/Mailing_List_FAQ

opennms-discuss mailing list

To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-discuss
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.