Hi,
Sometimes when I bring up my cluster, I see that some instances throw the
IllegalStateException when I perform a writeTransaction to a container
within a list where the key for the list is of type "inet:host".  Is this a
bug or am I doing something wrong? I feel it is a bug because this works
most of the times, but 1/10 runs I get this error for my periodic write
operation?


*Exact call:*
            modification.merge(logicalDatastoreType, iid, data, true);

*iid:*
InstanceIdentifier{targetType=interface
org.opendaylight.yang.gen.v1.urn.acme.system.compute.rev160510.compute.element.state.State,
path=[
org.opendaylight.yang.gen.v1.urn.acme.system.rev160510.System,
org.opendaylight.yang.gen.v1.urn.acme.system.compute.rev160510.SystemComputes,
org.opendaylight.yang.gen.v1.urn.acme.system.compute.rev160510.system.ComputeElements,
org.opendaylight.yang.gen.v1.urn.acme.system.compute.rev160510.compute.elements.grouping.ComputeElement[key=ComputeElementKey
[_host=Host [_domainName=DomainName [_value=172.17.5.237]]]],
org.opendaylight.yang.gen.v1.urn.acme.system.compute.rev160510.compute.element.state.State]}


*data:*
State [_cpuInfo=CpuInfo [_processorCount=6, _usage=1.28, augmentation=[]],
_memInfo=MemInfo [_memFree=1206198272, _memTotal=12302811136,
augmentation=[]], augmentation=[]]

*Full stacktrace:*
java.lang.IllegalStateException: Unable to load codec for class
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Host
        at
org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecForBindingClass(BindingCodecContext.java:306)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodec(BindingCodecContext.java:291)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodec(BindingCodecContext.java:274)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getLeafNodesUsingReflection(BindingCodecContext.java:262)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getLeafNodes(BindingCodecContext.java:229)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.<init>(DataObjectCodecContext.java:84)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.ListNodeCodecContext.<init>(ListNodeCodecContext.java:22)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.KeyedListNodeCodecContext.<init>(KeyedListNodeCodecContext.java:29)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.DataContainerCodecPrototype.createInstance(DataContainerCodecPrototype.java:129)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.DataContainerCodecPrototype.get(DataContainerCodecPrototype.java:112)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.bindingPathArgumentChild(DataObjectCodecContext.java:184)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:127)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.newWriter(BindingCodecContext.java:104)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toNormalizedNode(BindingNormalizedNodeCodecRegistry.java:102)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalizedNode(BindingToNormalizedNodeCodec.java:132)[163:org.opendaylight.controller.sal-binding-broker-impl:1.4.2.Boron-SR2]
        at
org.opendaylight.controller.md.sal.binding.impl.AbstractWriteTransaction.merge(AbstractWriteTransaction.java:53)[163:org.opendaylight.controller.sal-binding-broker-impl:1.4.2.Boron-SR2]
        at
org.acme.utils.transaction.GenericTransactionUtils.writeData(GenericTransactionUtils.java:40)[301:org.acme.utils.transaction:0.1.0.SNAPSHOT]
        at
org.acme.utils.transaction.GenericTransactionUtils.writeData(GenericTransactionUtils.java:28)[301:org.acme.utils.transaction:0.1.0.SNAPSHOT]
        at
org.acme.infra.ha.manager.impl.InstancePropertyMonitor.updateComputeElementInfo(InstancePropertyMonitor.java:246)[295:org.acme.infra.hamgr.impl:0.1.0.SNAPSHOT]
        at
org.acme.infra.ha.manager.impl.InstancePropertyMonitor.access$300(InstancePropertyMonitor.java:61)[295:org.acme.infra.hamgr.impl:0.1.0.SNAPSHOT]
        at
org.acme.infra.ha.manager.impl.InstancePropertyMonitor$2.run(InstancePropertyMonitor.java:106)[295:org.acme.infra.hamgr.impl:0.1.0.SNAPSHOT]
        at java.util.TimerThread.mainLoop(Timer.java:555)[:1.8.0_111]
        at java.util.TimerThread.run(Timer.java:505)[:1.8.0_111]
Caused by: java.lang.IllegalStateException: Unable to load codec for class
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress
        at
org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecForBindingClass(BindingCodecContext.java:306)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodec(BindingCodecContext.java:291)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.UnionTypeCodec.lambda$loader$0(UnionTypeCodec.java:35)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecForBindingClass(BindingCodecContext.java:304)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        ... 22 more
Caused by: java.lang.IllegalStateException: Failed to access constructor
for class
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address
in type class
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress
        at
org.opendaylight.yangtools.binding.data.codec.impl.UnionValueOptionContext.<init>(UnionValueOptionContext.java:43)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.UnionTypeCodec.lambda$loader$0(UnionTypeCodec.java:36)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        at
org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecForBindingClass(BindingCodecContext.java:304)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        ... 25 more
Caused by: java.lang.IllegalAccessException: no such constructor:
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress.<init>(Ipv4Address)void/newInvokeSpecial
        at
java.lang.invoke.MemberName.makeAccessException(MemberName.java:867)[:1.8.0_111]
        at
java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1003)[:1.8.0_111]
        at
java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:1381)[:1.8.0_111]
        at
java.lang.invoke.MethodHandles$Lookup.findConstructor(MethodHandles.java:919)[:1.8.0_111]
        at
org.opendaylight.yangtools.binding.data.codec.impl.UnionValueOptionContext.<init>(UnionValueOptionContext.java:40)[91:org.opendaylight.mdsal.binding-dom-codec:0.9.2.Boron-SR2]
        ... 27 more
Caused by: java.lang.LinkageError: loader constraint violation: when
resolving method
"org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress.<init>(Lorg/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/inet/types/rev130715/Ipv4Address;)V"
the class loader (instance of <bootloader>) of the current class,
java/lang/Object, and the class loader (instance of
org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) for the method's
defining class,
org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/inet/types/rev130715/IpAddress,
have different Class objects for the type
org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/inet/types/rev130715/Ipv4Address
used in the signature
        at java.lang.invoke.MethodHandleNatives.resolve(Native
Method)[:1.8.0_111]
        at
java.lang.invoke.MemberName$Factory.resolve(MemberName.java:975)[:1.8.0_111]
        at
java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1000)[:1.8.0_111]
        ... 30 more
_______________________________________________
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev

Reply via email to