{"action":"created","issue":{"url":"https://api.github.com/repos/Particular/NServiceBus/issues/2602","labels_url":"https://api.github.com/repos/Particular/NServiceBus/issues/2602/labels{/name}","comments_url":"https://api.github.com/repos/Particular/NServiceBus/issues/2602/comments","events_url":"https://api.github.com/repos/Particular/NServiceBus/issues/2602/events","html_url":"https://github.com/Particular/NServiceBus/issues/2602","id":51966815,"number":2602,"title":"Master election for timeoutmanager when scaled out","user":{"login":"yvesgoeleven","id":471354,"avatar_url":"https://avatars.githubusercontent.com/u/471354?v=3","gravatar_id":"","url":"https://api.github.com/users/yvesgoeleven","html_url":"https://github.com/yvesgoeleven","followers_url":"https://api.github.com/users/yvesgoeleven/followers","following_url":"https://api.github.com/users/yvesgoeleven/following{/other_user}","gists_url":"https://api.github.com/users/yvesgoeleven/gists{/gist_id}","starred_url":"https://api.github.com/users/yvesgoeleven/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yvesgoeleven/subscriptions","organizations_url":"https://api.github.com/users/yvesgoeleven/orgs","repos_url":"https://api.github.com/users/yvesgoeleven/repos","events_url":"https://api.github.com/users/yvesgoeleven/events{/privacy}","received_events_url":"https://api.github.com/users/yvesgoeleven/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Particular/NServiceBus/labels/Type:%20Feature","name":"Type: Feature","color":"02e10c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2014-12-15T09:52:40Z","updated_at":"2015-12-16T09:16:47Z","closed_at":null,"body":"When running multiple instances of an endpoint, multiple embedded timeout managers are running as well. This will cause timeouts to trigger on all of these at the same time, resulting in multiple messages being sent.\r\n \r\nWe should add a concept to the core that elects the master timeout manager and only send from that one, and probably add a specific implementation for certain environments (in azure one would typically use blob storage leases in order to implement this)"},"comment":{"url":"https://api.github.com/repos/Particular/NServiceBus/issues/comments/165042847","html_url":"https://github.com/Particular/NServiceBus/issues/2602#issuecomment-165042847","issue_url":"https://api.github.com/repos/Particular/NServiceBus/issues/2602","id":165042847,"user":{"login":"SzymonPobiega","id":163318,"avatar_url":"https://avatars.githubusercontent.com/u/163318?v=3","gravatar_id":"","url":"https://api.github.com/users/SzymonPobiega","html_url":"https://github.com/SzymonPobiega","followers_url":"https://api.github.com/users/SzymonPobiega/followers","following_url":"https://api.github.com/users/SzymonPobiega/following{/other_user}","gists_url":"https://api.github.com/users/SzymonPobiega/gists{/gist_id}","starred_url":"https://api.github.com/users/SzymonPobiega/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SzymonPobiega/subscriptions","organizations_url":"https://api.github.com/users/SzymonPobiega/orgs","repos_url":"https://api.github.com/users/SzymonPobiega/repos","events_url":"https://api.github.com/users/SzymonPobiega/events{/privacy}","received_events_url":"https://api.github.com/users/SzymonPobiega/received_events","type":"User","site_admin":false},"created_at":"2015-12-16T09:16:47Z","updated_at":"2015-12-16T09:16:47Z","body":"BTW, @janovesk found that Consul can provide a reliable master election for any services that use Consul for service discovery."}}