payload: {"action":"opened","issue":{"url":"https://api.github.com/repos/nodeshift/opossum/issues/276","repository_url":"https://api.github.com/repos/nodeshift/opossum","labels_url":"https://api.github.com/repos/nodeshift/opossum/issues/276/labels{/name}","comments_url":"https://api.github.com/repos/nodeshift/opossum/issues/276/comments","events_url":"https://api.github.com/repos/nodeshift/opossum/issues/276/events","html_url":"https://github.com/nodeshift/opossum/issues/276","id":412593499,"node_id":"MDU6SXNzdWU0MTI1OTM0OTk=","number":276,"title":"Circuit gets stuck in halfOpen and blocks all calls","user":{"login":"brbradford","id":3494339,"node_id":"MDQ6VXNlcjM0OTQzMzk=","avatar_url":"https://avatars3.githubusercontent.com/u/3494339?v=4","gravatar_id":"","url":"https://api.github.com/users/brbradford","html_url":"https://github.com/brbradford","followers_url":"https://api.github.com/users/brbradford/followers","following_url":"https://api.github.com/users/brbradford/following{/other_user}","gists_url":"https://api.github.com/users/brbradford/gists{/gist_id}","starred_url":"https://api.github.com/users/brbradford/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brbradford/subscriptions","organizations_url":"https://api.github.com/users/brbradford/orgs","repos_url":"https://api.github.com/users/brbradford/repos","events_url":"https://api.github.com/users/brbradford/events{/privacy}","received_events_url":"https://api.github.com/users/brbradford/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-02-20T19:36:21Z","updated_at":"2019-02-20T19:36:21Z","closed_at":null,"author_association":"NONE","body":"I believe this line change has introduced a bug: **if (stats.fires < circuit.volumeThreshold) return;**\r\nSteps to duplicate...\r\n1. Set volumeThreshold to something.\r\n2. Cause the circuit to open because of failures.\r\n3. After the circuit goes to halfOpen, and after time has passed so that stats.fires is back below volumeThreshold...\r\n4. Fire again with a call that will fail.\r\n5. pendingClose gets set to false, this line causes an early return and keeps the circuit in halfOpen.\r\n6. The circuit is now stuck in halfOpen forever and all calls get blocked.\r\n\r\nIt seems like you shouldn't return early here if the circuit is halfOpen."}}
other: {"actor":{"display_login":"brbradford"}}