I've noticed a couple issues with connectivity on the device hive. In particular there are cases where the library fails to rebuild connection with the server after network interrupts.
If the server goes down, I've noticed the device hive library(web socket mode, java server side) has an approximately 10% chance of not catching the network disruption and hanging in an 'zombie' state. I believe* this occurs if the disruption occurs when there is a packet transmission, and the application loop is never called again.
My current work around was to implement a watchdog timer of sorts using linux's timer_create, and exiting the application forcefully. We use a wrapper script around the application, so the app is restarted... but we cannot rely on state being stored in memory if the application can hang at any time.
*(not 100% sure on the underlying cause, but it looks like some time of blocking request)
I've noticed a couple issues with connectivity on the device hive. In particular there are cases where the library fails to rebuild connection with the server after network interrupts.
My current work around was to implement a watchdog timer of sorts using linux's timer_create, and exiting the application forcefully. We use a wrapper script around the application, so the app is restarted... but we cannot rely on state being stored in memory if the application can hang at any time.
*(not 100% sure on the underlying cause, but it looks like some time of blocking request)