{"push_id":1349022063,"size":5,"distinct_size":3,"ref":"refs/heads/kevsmith/relay-disconnects","head":"276a0bc33cf24e0672f854dbcc8662d90be43c56","before":"23eb6de6329a0387b82efb117f1c4da105bb57ac","commits":[{"sha":"c4b91636dd9be0048089af3c6a138ea7dbb3a32e","author":{"name":"Christos Trochalakis","email":"2dc648e6d0ef73488a2455ff59c8a45b2aa6fb19@ideopolis.gr"},"message":"Exit with a specific exit code when a restart is required\n\nSince f0e0b852 we `Exit()` when the relay is disconnected from Cog as a\ntrigger to the supervisor that the process has to be restarted.\n\nIn order for the supervisor to distinguish between generic errors and\nrestart requests a new exit code is introduced. This fits well with\nSystemd's `RestartForceExitStatus=` directive.","distinct":false,"url":"https://api.github.com/repos/operable/go-relay/commits/c4b91636dd9be0048089af3c6a138ea7dbb3a32e"},{"sha":"c9595ca6f2edd061e11d3edae3cf50769f6a7a6e","author":{"name":"Mark Imbriaco","email":"fd1ed290c28236090ee5c195ebfc58186b22ec62@imbriaco.com"},"message":"Merge pull request #46 from skroutz/restart-exit-code\n\nExit with a specific exit code when a restart is required","distinct":false,"url":"https://api.github.com/repos/operable/go-relay/commits/c9595ca6f2edd061e11d3edae3cf50769f6a7a6e"},{"sha":"16ae30611b11f8b7aa22904609a51e4fecf102b9","author":{"name":"Kevin Smith","email":"4f8256ed59811c7dd7ca32acad9a4d5484fc1d6c@operable.io"},"message":"Handle disconnections gracefully\n\nThis commit restores Relay's previous reconnect-with-backoff behaviour\nwhen disconnected from Cog's message bus. The previous incarnation had a\nrace bug in the reconnect logic which could cause Cog and Relay to\nbecome out of sync wrt which bundles were installed on the affected\nRelay.\n\nThe new version of the behavior fixes the race condition by having two\ninternal goroutines, Relay startup logic and the bundle announcer, share\na single connection. This shouldn't impact performance but does simplify\nstate management during reconnects.\n\n- Changed relay and announcer goroutines to share a single MQTT\n  connection. This simplifies state management wrt bundle announcements\n  and acks on reconnect.\n- Added more logging around disconnects to better identify disconnect causes.","distinct":true,"url":"https://api.github.com/repos/operable/go-relay/commits/16ae30611b11f8b7aa22904609a51e4fecf102b9"},{"sha":"21202d49a12de86f9c3ac606eed15112af156035","author":{"name":"Kevin Smith","email":"4f8256ed59811c7dd7ca32acad9a4d5484fc1d6c@operable.io"},"message":"Removed inaccurate code comment","distinct":true,"url":"https://api.github.com/repos/operable/go-relay/commits/21202d49a12de86f9c3ac606eed15112af156035"},{"sha":"276a0bc33cf24e0672f854dbcc8662d90be43c56","author":{"name":"Kevin Smith","email":"4f8256ed59811c7dd7ca32acad9a4d5484fc1d6c@operable.io"},"message":"Use \"namespaced\" relay id","distinct":true,"url":"https://api.github.com/repos/operable/go-relay/commits/276a0bc33cf24e0672f854dbcc8662d90be43c56"}]}
{"actor":{"display_login":"kevsmith"}}