Details
-
Bug
-
Status: Resolved
-
Resolution: Cannot Reproduce
-
None
-
None
-
Operating System: All
Platform: All
-
9047
Description
=====SUMMARY=====
Restconf quite often fails to insert a new augmented node to MD-SAL and instead throws a "Data already exists for path" error, even though there is nothing present in given topology.
{
"errors": {
"error": [
{
"error-type": "protocol",
"error-tag": "data-exists",
"error-message": "Data already exists for path: /(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[
]"
}
]
}
}
=====STEPS=====
This can be easily observed on the SXP project given these steps:
1. Install odl-sxp-controller feature to provide the sxp yang augmentation
2. Write an sxp-augmented node to the DS using
POST http://localhost:8181/restconf/config/network-topology:network-topology/topology/sxp/
3. DELETE the "sxp" topology with the node
DELETE http://localhost:8181/restconf/config/network-topology:network-topology/topology/sxp/
4. Create a new empty "sxp" topology with:
POST http://localhost:8181/restconf/config/network-topology:network-topology/
Payload:
<topology xmlns="urn:TBD:params:xml:ns:yang:network-topology">
<topology-id>sxp</topology-id>
</topology>
5. Try to write the node from step 2 again. This in most cases produces the error.
If the above steps do not produce an error (rarely, but may happen), repeat steps 3 to 5.
=====ADDITIONAL INFO=====
- This bug seems to happen only when using HTTP/1.1. We have not been able to reproduce it with HTTP/1.0
- The error keeps appearing on subsequent tries to write the node and suddenly disappears on Xth try. Sometimes on the 3rd, sometimes on the fifth... Until it eventually passes and the node gets written to the MD-SAL.
- The example node payload and TRACE logs from entire system are in the attachments