{"action":"created","issue":{"url":"https://api.github.com/repos/gambol99/go-marathon/issues/212","repository_url":"https://api.github.com/repos/gambol99/go-marathon","labels_url":"https://api.github.com/repos/gambol99/go-marathon/issues/212/labels{/name}","comments_url":"https://api.github.com/repos/gambol99/go-marathon/issues/212/comments","events_url":"https://api.github.com/repos/gambol99/go-marathon/issues/212/events","html_url":"https://github.com/gambol99/go-marathon/issues/212","id":180951923,"number":212,"title":"Failover to other nodes in a Marathon cluster not working during event subscription","user":{"login":"sybrandy","id":1188879,"avatar_url":"https://avatars1.githubusercontent.com/u/1188879?v=3","gravatar_id":"","url":"https://api.github.com/users/sybrandy","html_url":"https://github.com/sybrandy","followers_url":"https://api.github.com/users/sybrandy/followers","following_url":"https://api.github.com/users/sybrandy/following{/other_user}","gists_url":"https://api.github.com/users/sybrandy/gists{/gist_id}","starred_url":"https://api.github.com/users/sybrandy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sybrandy/subscriptions","organizations_url":"https://api.github.com/users/sybrandy/orgs","repos_url":"https://api.github.com/users/sybrandy/repos","events_url":"https://api.github.com/users/sybrandy/events{/privacy}","received_events_url":"https://api.github.com/users/sybrandy/received_events","type":"User","site_admin":false},"labels":[{"id":176060323,"url":"https://api.github.com/repos/gambol99/go-marathon/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2016-10-04T17:13:51Z","updated_at":"2017-04-03T22:21:34Z","closed_at":null,"body":"So, we recently had an issue where one of our Marathon nodes was \"up\", but inaccessible.  Unfortunately, our code thought Marathon was down and crashed.  Looking at the logs, it looks like the AddEventListener attempted to connect to the same node several times (we use a retrier) instead of trying different nodes.  It would be better if it would attempt to connect to a different node.  A few thoughts:\n1. GetMember is refactored so that it round-robins through all of the nodes regardless of whether or not the node is up or down.\n2. Refactor the subscription code so that if there is an error connecting, it marks the node as down after N attempts.\n3. Combine both solutions to round-robin requests between nodes and mark nodes as down if there are multiple failures when attempting to connect to them.\n\nRight now, I have to remove the node from the config until the node comes back up.\n"},"comment":{"url":"https://api.github.com/repos/gambol99/go-marathon/issues/comments/291291271","html_url":"https://github.com/gambol99/go-marathon/issues/212#issuecomment-291291271","issue_url":"https://api.github.com/repos/gambol99/go-marathon/issues/212","id":291291271,"user":{"login":"timoreimann","id":694826,"avatar_url":"https://avatars2.githubusercontent.com/u/694826?v=3","gravatar_id":"","url":"https://api.github.com/users/timoreimann","html_url":"https://github.com/timoreimann","followers_url":"https://api.github.com/users/timoreimann/followers","following_url":"https://api.github.com/users/timoreimann/following{/other_user}","gists_url":"https://api.github.com/users/timoreimann/gists{/gist_id}","starred_url":"https://api.github.com/users/timoreimann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timoreimann/subscriptions","organizations_url":"https://api.github.com/users/timoreimann/orgs","repos_url":"https://api.github.com/users/timoreimann/repos","events_url":"https://api.github.com/users/timoreimann/events{/privacy}","received_events_url":"https://api.github.com/users/timoreimann/received_events","type":"User","site_admin":false},"created_at":"2017-04-03T22:21:34Z","updated_at":"2017-04-03T22:21:34Z","body":"Hey @gambol99, it's been a while we touched on this issue.\r\n\r\nDo you still plan on providing a fix for this?"}}
{"actor":{"display_login":"timoreimann"}}