Question

The error described here ocurred with Orion Context Broker v. 0.11.0

When I use the updateContext operations with simple requests (containing few contextElements/contextAttributes), there is never a problem and the updateContext operation always succeeds.

However, when I increase the complexity of the requests (adding more contextElements), the orion context broker simply crashes and the request fails.

I have included a request on pastebin, which consequently fails every time for me:

updateContextRequest

Within the request there are 5 contextElements, each with a number of contextAttributes and it has a total size of 35.1 kB. According to the documentation provided on the FIWARE WIKI, the maximum request size is 1MB, which is still far below the size of this request.

I've found that if I send 5 individual requests (containing only a single contextElement from the udpateRequest provided above), then every request will succeed without fault.

Was it helpful?

Solution

We have digged into the problem and it seems to be a bug in the Orion Context Broker code (see https://github.com/telefonicaid/fiware-orion/issues/333). We plan to fix it for the next version (Orion 0.12.0, to be released shortly).

I'd recomend you to subscribe to that issue in GitHub, as we will close the issue as soon as this bug fixed.

Edit: Orion 0.12.0 (which solvews this problem) has been released, so the recomendation it to upgrade to this one.

OTHER TIPS

After a little more digging, the crash seems to be inside the rapidxml library that we use for parsing XML. If possible, while we get this sorted, I would propose for you to split messages as much as possible to minimize payload.

[ It crashes in the Timestamp metadata (2014-04-23T12:43:44.254Z) of the attribute WallPlugPowerConsumption (81.259) and if I cut the message just before this attribute, the request works. ]

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top