There's a flaw in the current OpenNab architecture : each burrow data is loaded at the beginning of an http request and saved at the end of the request.
However, 2 calls can occur simultaneously for the same burrow. For instance, a rabbit ping and an api call.
This could lead to unexpected behaviour if we fall into sequences such as :
1- api load burrow
2- ping load burrow
3- ping save burrow
4- api save burrow
The data saved in 3) would be lost.
This issue is tricky because it might not occur so often so we might not want to load *every* http request with the burden of a locking mechanism.
Log in to post a comment.