[CONTROLLER-1363] instance-identifier parsing error Created: 09/Jun/15  Updated: 14/Nov/17  Resolved: 16/Jun/15

Status: Resolved
Project: controller
Component/s: restconf
Affects Version/s: Lithium
Fix Version/s: None

Type: Bug
Reporter: Jozef Gloncak Assignee: Jan Hajnar
Resolution: Done 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: 3645

 Description   

Precondition:

  • instance-identifier contains predicate which isn't of type of string but e. g. uint8.

Consequence:

  • instance-identifier isn't parsed and error is returned as HTTP response

Responses

  • if instance-identifier contained number then response
    {"errors":{"error":[ {"error-type":"protocol","error-tag":"malformed-message","error-message":"Error parsing input: null"}

    ]}}
    was obtained

  • if instance identifier contained number as string (in quotes) then response
    {"errors":
    Unknown macro: {"error"}

    }

Log also contained:
2015-06-09 13:49:23,479 | ERROR | tp1735397359-609 | ContainerResponse | 238 - com.sun.jersey.jersey-server - 1.17.0 | The RuntimeException could not be mapped to a respon
java.lang.ClassCastException: Cannot cast java.lang.String to java.lang.Short
at java.lang.invoke.MethodHandleImpl.newClassCastException(MethodHandleImpl.java:361)[:1.8.0_45]
at java.lang.invoke.MethodHandleImpl.castReference(MethodHandleImpl.java:356)[:1.8.0_45]
at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.deserialize(IdentifiableItemCodec.java:108)
at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.deserialize(IdentifiableItemCodec.java:31)
at org.opendaylight.yangtools.binding.data.codec.impl.KeyedListNodeCodecContext.getBindingPathArgument(KeyedListNodeCodecContext.java:73)
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:169)
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.deserialize(InstanceIdentifierCodec.java:36)
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.deserialize(InstanceIdentifierCodec.java:19)
at org.opendaylight.yangtools.binding.data.codec.impl.CompositeValueCodec.deserialize(CompositeValueCodec.java:27)
at org.opendaylight.yangtools.binding.data.codec.impl.LeafNodeCodecContext.deserializeObject(LeafNodeCodecContext.java:112)
at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.getBindingChildValue(DataObjectCodecContext.java:270)
at org.opendaylight.yangtools.binding.data.codec.impl.LazyDataObject.getBindingData(LazyDataObject.java:122)
at org.opendaylight.yangtools.binding.data.codec.impl.LazyDataObject.invoke(LazyDataObject.java:69)
at com.sun.proxy.$Proxy119.getFlowRef(Unknown Source)



 Comments   
Comment by Jan Hajnar [ 16/Jun/15 ]

patch:
https://git.opendaylight.org/gerrit/#/c/22668/

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