Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-268

ConflictingVersionException is not propagated from config manager JMX client

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • config
    • None
    • Operating System: All
      Platform: All

    • 654
    • High

    Description

      Config pusher catches ConflictingVersionException but IllegalStateException is thrown

      2014-04-02 17:38:34.501 CEST [config-pusher] ERROR o.o.c.n.c.t.TransactionProvider - Exception while commit of org.opendaylight.controller:TransactionName=ConfigTransaction-24-26,type=ConfigTransaction, aborting transaction
      org.opendaylight.controller.config.api.ConflictingVersionException: Optimistic lock failed. Expected parent version 27, was 24
      at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.commitConfig(ConfigRegistryImpl.java:206) ~[na:na]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_51]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_51]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_51]
      at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_51]
      at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) ~[na:1.7.0_51]
      at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) ~[na:na]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_51]
      at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_51]
      at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) ~[na:1.7.0_51]
      at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193) ~[na:1.7.0_51]
      at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175) ~[na:1.7.0_51]
      at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117) ~[na:1.7.0_51]
      at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54) ~[na:1.7.0_51]
      at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) ~[na:1.7.0_51]
      at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) ~[na:1.7.0_51]
      at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) ~[na:1.7.0_51]
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) ~[na:1.7.0_51]
      at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) ~[na:1.7.0_51]
      at com.sun.jmx.mbeanserver.MXBeanProxy$InvokeHandler.invoke(MXBeanProxy.java:150) ~[na:1.7.0_51]
      at com.sun.jmx.mbeanserver.MXBeanProxy.invoke(MXBeanProxy.java:167) ~[na:1.7.0_51]
      at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:252) ~[na:1.7.0_51]
      at com.sun.proxy.$Proxy16.commitConfig(Unknown Source) ~[na:na]
      at org.opendaylight.controller.config.util.ConfigRegistryJMXClient.commitConfig(ConfigRegistryJMXClient.java:84) ~[bundlefile:na]
      at org.opendaylight.controller.netconf.confignetconfconnector.transactions.TransactionProvider.commitTransaction(TransactionProvider.java:102) ~[bundlefile:na]
      at org.opendaylight.controller.netconf.confignetconfconnector.operations.Commit.handleWithNoSubsequentOperations(Commit.java:58) [bundlefile:na]
      at org.opendaylight.controller.netconf.util.mapping.AbstractLastNetconfOperation.handle(AbstractLastNetconfOperation.java:31) [bundlefile:na]
      at org.opendaylight.controller.netconf.util.mapping.AbstractNetconfOperation.handle(AbstractNetconfOperation.java:94) [bundlefile:na]
      at org.opendaylight.controller.netconf.persist.impl.ConfigPusher.sendRequestGetResponseCheckIsOK(ConfigPusher.java:227) [bundlefile:na]
      at org.opendaylight.controller.netconf.persist.impl.ConfigPusher.pushConfig(ConfigPusher.java:186) [bundlefile:na]
      at org.opendaylight.controller.netconf.persist.impl.ConfigPusher.pushConfigWithConflictingVersionRetries(ConfigPusher.java:86) [bundlefile:na]
      at org.opendaylight.controller.netconf.persist.impl.ConfigPusher.pushConfigs(ConfigPusher.java:67) [bundlefile:na]
      at org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPersisterActivator$1$1.run(ConfigPersisterActivator.java:74) [bundlefile:na]
      at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
      Exception in thread "config-pusher" java.lang.IllegalStateException: Failed to send commit for configuration ConfigSnapshot

      {configSnapshot='<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config"><module><type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl">prefix:schema-service-singleton</type><name>yang-schema-service</name> </module><module><type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl">prefix:hash-map-data-store</type><name>hash-map-data-store</name> </module><module><type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl">prefix:dom-broker-impl</type><name>dom-broker</name><data-store xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl"><type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:dom-data-store</type><name>hash-map-data-store</name> </data-store> </module><module><type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl">prefix:binding-broker-impl</type><name>binding-broker-impl</name><notification-service xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl"><type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-notification-service</type><name>binding-notification-broker</name> </notification-service><data-broker xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl"><type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-data-broker</type><name>binding-data-broker</name> </data-broker> </module><module><type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl">prefix:runtime-generated-mapping</type><name>runtime-mapping-singleton</name> </module><module><type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl">prefix:binding-notification-broker</type><name>binding-notification-broker</name> </module><module><type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl">prefix:binding-data-broker</type><name>binding-data-broker</name><dom-broker xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl"><type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:dom-broker-osgi-registry</type><name>dom-broker</name> </dom-broker><mapping-service xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl"><type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl">binding:binding-dom-mapping-service</type><name>runtime-mapping-singleton</name> </mapping-service> </module> </modules><services xmlns="urn:opendaylight:params:xml:ns:yang:controller:config"><service><type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:schema-service</type><instance><name>yang-schema-service</name><provider>/modules/module[type='schema-service-singleton'][name='yang-schema-service']</provider> </instance> </service><service><type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-notification-service</type><instance><name>binding-notification-broker</name><provider>/modules/module[type='binding-notification-broker'][name='binding-notification-broker']</provider> </instance> </service><service><type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:dom-data-store</type><instance><name>hash-map-data-store</name><provider>/modules/module[type='hash-map-data-store'][name='hash-map-data-store']</provider> </instance> </service><service><type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-broker-osgi-registry</type><instance><name>binding-osgi-broker</name><provider>/modules/module[type='binding-broker-impl'][name='binding-broker-impl']</provider> </instance> </service><service><type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-rpc-registry</type><instance><name>binding-rpc-broker</name><provider>/modules/module[type='binding-broker-impl'][name='binding-broker-impl']</provider> </instance> </service><service><type xmlns:binding-impl="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl">binding-impl:binding-dom-mapping-service</type><instance><name>runtime-mapping-singleton</name><provider>/modules/module[type='runtime-generated-mapping'][name='runtime-mapping-singleton']</provider> </instance> </service><service><type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:dom-broker-osgi-registry</type><instance><name>dom-broker</name><provider>/modules/module[type='dom-broker-impl'][name='dom-broker']</provider> </instance> </service><service><type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-data-broker</type><instance><name>binding-data-broker</name><provider>/modules/module[type='binding-data-broker'][name='binding-data-broker']</provider> </instance> </service> </services> </data> ', capabilities=[urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl?module=opendaylight-sal-binding-broker-impl&revision=2013-10-28, urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding?module=opendaylight-md-sal-binding&revision=2013-10-28, urn:opendaylight:params:xml:ns:yang:controller:md:sal:common?module=opendaylight-md-sal-common&revision=2013-10-28, urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl?module=opendaylight-sal-dom-broker-impl&revision=2013-10-28, urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom?module=opendaylight-md-sal-dom&revision=2013-10-28, urn:opendaylight:params:xml:ns:yang:controller:netty:eventexecutor?module=netty-event-executor&revision=2013-11-12, urn:opendaylight:params:xml:ns:yang:controller:threadpool?module=threadpool&revision=2013-04-09]}

      at org.opendaylight.controller.netconf.persist.impl.ConfigPusher.sendRequestGetResponseCheckIsOK(ConfigPusher.java:229)
      at org.opendaylight.controller.netconf.persist.impl.ConfigPusher.pushConfig(ConfigPusher.java:186)
      at org.opendaylight.controller.netconf.persist.impl.ConfigPusher.pushConfigWithConflictingVersionRetries(ConfigPusher.java:86)
      at org.opendaylight.controller.netconf.persist.impl.ConfigPusher.pushConfigs(ConfigPusher.java:67)
      at org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPersisterActivator$1$1.run(ConfigPersisterActivator.java:74)
      at java.lang.Thread.run(Thread.java:744)
      Caused by: NetconfDocumentedException{message=Optimistic lock failed. Expected parent version 27, was 24, errorType=application, errorTag=operation_failed, errorSeverity=error, errorInfo={operation_failed=Optimistic lock failed}}
      at org.opendaylight.controller.netconf.api.NetconfDocumentedException.wrap(NetconfDocumentedException.java:103)
      at org.opendaylight.controller.netconf.confignetconfconnector.operations.Commit.handleWithNoSubsequentOperations(Commit.java:71)
      at org.opendaylight.controller.netconf.util.mapping.AbstractLastNetconfOperation.handle(AbstractLastNetconfOperation.java:31)
      at org.opendaylight.controller.netconf.util.mapping.AbstractNetconfOperation.handle(AbstractNetconfOperation.java:94)
      at org.opendaylight.controller.netconf.persist.impl.ConfigPusher.sendRequestGetResponseCheckIsOK(ConfigPusher.java:227)
      ... 5 more
      Caused by: org.opendaylight.controller.config.api.ConflictingVersionException: Optimistic lock failed. Expected parent version 27, was 24
      at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.commitConfig(ConfigRegistryImpl.java:206)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75)
      at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279)
      at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193)
      at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175)
      at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117)
      at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54)
      at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
      at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
      at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
      at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
      at com.sun.jmx.mbeanserver.MXBeanProxy$InvokeHandler.invoke(MXBeanProxy.java:150)
      at com.sun.jmx.mbeanserver.MXBeanProxy.invoke(MXBeanProxy.java:167)
      at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:252)
      at com.sun.proxy.$Proxy16.commitConfig(Unknown Source)
      at org.opendaylight.controller.config.util.ConfigRegistryJMXClient.commitConfig(ConfigRegistryJMXClient.java:84)
      at org.opendaylight.controller.netconf.confignetconfconnector.transactions.TransactionProvider.commitTransaction(TransactionProvider.java:102)
      at org.opendaylight.controller.netconf.confignetconfconnector.operations.Commit.handleWithNoSubsequentOperations(Commit.java:58)
      ... 8 more

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            tolvecky@cisco.com Tomas Olvecky
            tolvecky@cisco.com Tomas Olvecky
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: