[CONTROLLER-1435] config-pusher error in config-manager-facade-xml "Optimistic lock failed. Expected parent version 143, was 135" Created: 27/Oct/15  Updated: 19/Oct/17  Resolved: 19/Nov/15

Status: Resolved
Project: controller
Component/s: config
Affects Version/s: Beryllium
Fix Version/s: None

Type: Bug
Reporter: Jamo Luhrsen Assignee: Unassigned
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 4537

 Description   

This error is seen in the karaf.log output we get in the aborted CSIT job(s), like this one:
https://jenkins.opendaylight.org/releng/view/openflowplugin/job/openflowplugin-csit-1node-flow-services-all-beryllium

it's aborting because the string "server is unhealthy". this error may have nothing to do with that as it
happens well before that message is seen. I felt we needed to track this separately.

2015-10-27 21:02:19,188 | ERROR | config-pusher | TransactionProvider | 91 - org.opendaylight.controller.config-manager-facade-xml - 0.4.0.SNAPSHOT | Exception while commit of org.opendaylight.controller:TransactionName=ConfigTransaction-135-136,type=ConfigTransaction, aborting transaction
org.opendaylight.controller.config.api.ConflictingVersionException: Optimistic lock failed. Expected parent version 143, was 135
at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.commitConfig(ConfigRegistryImpl.java:215)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_85]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_85]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_85]
at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_85]
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75)[:1.7.0_85]
at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_85]
at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_85]
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279)[:1.7.0_85]
at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193)[:1.7.0_85]
at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175)[:1.7.0_85]
at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117)[:1.7.0_85]
at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54)[:1.7.0_85]
at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)[:1.7.0_85]
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)[:1.7.0_85]
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)[:1.7.0_85]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)[:1.7.0_85]
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)[:1.7.0_85]
at com.sun.jmx.mbeanserver.MXBeanProxy$InvokeHandler.invoke(MXBeanProxy.java:150)[:1.7.0_85]
at com.sun.jmx.mbeanserver.MXBeanProxy.invoke(MXBeanProxy.java:167)[:1.7.0_85]
at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:258)[:1.7.0_85]
at com.sun.proxy.$Proxy20.commitConfig(Unknown Source)[81:org.opendaylight.controller.config-api:0.4.0.SNAPSHOT]
at org.opendaylight.controller.config.util.ConfigRegistryJMXClient.commitConfig(ConfigRegistryJMXClient.java:110)[85:org.opendaylight.controller.config-util:0.4.0.SNAPSHOT]
at org.opendaylight.controller.config.facade.xml.transactions.TransactionProvider.commitTransaction(TransactionProvider.java:145)[91:org.opendaylight.controller.config-manager-facade-xml:0.4.0.SNAPSHOT]
at org.opendaylight.controller.config.facade.xml.ConfigSubsystemFacade.commitSilentTransaction(ConfigSubsystemFacade.java:138)[91:org.opendaylight.controller.config-manager-facade-xml:0.4.0.SNAPSHOT]
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.pushConfig(ConfigPusherImpl.java:292)[93:org.opendaylight.controller.config-persister-impl:0.4.0.SNAPSHOT]
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.pushConfigWithConflictingVersionRetries(ConfigPusherImpl.java:144)[93:org.opendaylight.controller.config-persister-impl:0.4.0.SNAPSHOT]
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.internalPushConfigs(ConfigPusherImpl.java:114)[93:org.opendaylight.controller.config-persister-impl:0.4.0.SNAPSHOT]
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.processSingle(ConfigPusherImpl.java:81)[93:org.opendaylight.controller.config-persister-impl:0.4.0.SNAPSHOT]
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.process(ConfigPusherImpl.java:74)[93:org.opendaylight.controller.config-persister-impl:0.4.0.SNAPSHOT]
at org.opendaylight.controller.config.persist.impl.osgi.ConfigPersisterActivator$2.run(ConfigPersisterActivator.java:131)[93:org.opendaylight.controller.config-persister-impl:0.4.0.SNAPSHOT]
at java.lang.Thread.run(Thread.java:745)[:1.7.0_85]



 Comments   
Comment by Tony Tkacik [ 28/Oct/15 ]

config-pusher error in config-manager-facade-xml "Optimistic lock failed. Expected parent version 143, was 135" -

Is innocent and it reports only that during pushing config additional ModuleFactories (applications) were installed and config-pusher needs to rebase transaction.

The server is unhealthy is reported and caused by already mentioned issue in unimgr:

2015-10-28 07:20:03,003 | INFO | pool-58-thread-3 | SxpNode | 402 - org.opendaylight.sxp.core - 1.2.0.SNAPSHOT | [127.0.0.1] Open connections [X/O/All="0/0/0"]
2015-10-28 07:20:04,594 | ERROR | config-pusher | ConfigTransactionControllerImpl | 89 - org.opendaylight.controller.config-manager - 0.4.0.SNAPSHOT | Commit failed on ModuleIdentifier

{factoryName='unimgr', instanceName='unimgr-default'}

in transaction TransactionIdentifier

{name='ConfigTransaction-266-268'}

java.lang.UnsupportedOperationException
at org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.impl.rev150622.VcpeModule.createInstance(VcpeModule.java:19)
at org.opendaylight.controller.config.spi.AbstractModule.getInstance(AbstractModule.java:81)
at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_85]
at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_85]
at org.opendaylight.controller.config.manager.impl.dependencyresolver.DependencyResolverManager$ModuleInvocationHandler.handleInvocation(DependencyResolverManager.java:150)
at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
at com.sun.proxy.$Proxy67.getInstance(Unknown Source)
at org.opendaylight.controller.config.manager.impl.ConfigTransactionControllerImpl.secondPhaseCommit(ConfigTransactionControllerImpl.java:421)
at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.secondPhaseCommit(ConfigRegistryImpl.java:280)

Comment by Tony Tkacik [ 19/Nov/15 ]

config-pusher error in config-manager-facade-xml "Optimistic lock failed. Expected parent version 143, was 135" -

Is innocent and it reports only that during pushing config additional ModuleFactories (applications) were installed and config-pusher needs to rebase transaction.

Generated at Wed Feb 07 19:55:32 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.