I'm seeing an issue where a Mesh Proxy node temporarily stops relaying mesh packets to other nodes. The problem seems to persist for roughly an hour at a time. In other words, a packet received via the Proxy GATT service, destined for a unicast address not belonging to the current node, does NOT get sent out as a relay packet. Instrumenting the application showed that the device was not relaying packets because the relay packet buffer was already full.
We are using version 4.1 of the Mesh SDK. The release notes for 4.2 reference a bug fix for a timer issue (MBTLE-3811). Can Nordic please provide additional information on the following topics:
a) What were the observed symptoms of this bug? Was it ever observed to cause problems with packet relaying?
b) What were the specific changes (i.e. the code diff) required to fix it?
Our theory is that perhaps this timer bug is causing the relay advertiser to not properly clear its queue, and therefore prevents it from relaying any packets until the timer overflows. It looks like the timer overflows roughly every hour, so this would line up with the behavior that we're seeing.