{"action":"created","issue":{"url":"https://api.github.com/repos/nodejs/node/issues/24318","repository_url":"https://api.github.com/repos/nodejs/node","labels_url":"https://api.github.com/repos/nodejs/node/issues/24318/labels{/name}","comments_url":"https://api.github.com/repos/nodejs/node/issues/24318/comments","events_url":"https://api.github.com/repos/nodejs/node/issues/24318/events","html_url":"https://github.com/nodejs/node/pull/24318","id":379741117,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMwMTA3MjQ1","number":24318,"title":"lib: fix - invalid timer priority queue order","user":{"login":"mareksrom","id":7746331,"node_id":"MDQ6VXNlcjc3NDYzMzE=","avatar_url":"https://avatars1.githubusercontent.com/u/7746331?v=4","gravatar_id":"","url":"https://api.github.com/users/mareksrom","html_url":"https://github.com/mareksrom","followers_url":"https://api.github.com/users/mareksrom/followers","following_url":"https://api.github.com/users/mareksrom/following{/other_user}","gists_url":"https://api.github.com/users/mareksrom/gists{/gist_id}","starred_url":"https://api.github.com/users/mareksrom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mareksrom/subscriptions","organizations_url":"https://api.github.com/users/mareksrom/orgs","repos_url":"https://api.github.com/users/mareksrom/repos","events_url":"https://api.github.com/users/mareksrom/events{/privacy}","received_events_url":"https://api.github.com/users/mareksrom/received_events","type":"User","site_admin":false},"labels":[{"id":155435976,"node_id":"MDU6TGFiZWwxNTU0MzU5NzY=","url":"https://api.github.com/repos/nodejs/node/labels/timers","name":"timers","color":"f7c6c7","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-11-12T11:46:47Z","updated_at":"2018-11-12T14:17:06Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/nodejs/node/pulls/24318","html_url":"https://github.com/nodejs/node/pull/24318","diff_url":"https://github.com/nodejs/node/pull/24318.diff","patch_url":"https://github.com/nodejs/node/pull/24318.patch"},"body":"- in lib/timers.js PriorityQueue.percolateDown cannot be used for rescheduling list,\r\n  because it does not work in all cases\r\n  - updated item does not have to be root of the heap when new timers are created\r\n    in runNextTicks and then percolateDown does not solve all binary heap\r\n    inconsistencies\r\n  - old behavior could cause infinite loop timers in some cases\r\n\r\n- added PriorityQueue.updateAt and PriorityQueue.update methods\r\n  - simple implementation by remove & insert, could be improved...\r\n  - rescheduling list uses updateAt method\r\n\r\n<!--\r\nThank you for your pull request. Please provide a description above and review\r\nthe requirements below.\r\n\r\nBug fixes and new features should include tests and possibly benchmarks.\r\n\r\nContributors guide: https://github.com/nodejs/node/blob/master/CONTRIBUTING.md\r\n-->\r\n\r\n##### Checklist\r\n<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->\r\n\r\n- [ ] `make -j4 test` (UNIX), or `vcbuild test` (Windows) passes\r\n- [ ] tests and/or benchmarks are included\r\n- [ ] documentation is changed or added\r\n- [ ] commit message follows [commit guidelines](https://github.com/nodejs/node/blob/master/doc/guides/contributing/pull-requests.md#commit-message-guidelines)\r\n"},"comment":{"url":"https://api.github.com/repos/nodejs/node/issues/comments/437896926","html_url":"https://github.com/nodejs/node/pull/24318#issuecomment-437896926","issue_url":"https://api.github.com/repos/nodejs/node/issues/24318","id":437896926,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNzg5NjkyNg==","user":{"login":"mareksrom","id":7746331,"node_id":"MDQ6VXNlcjc3NDYzMzE=","avatar_url":"https://avatars1.githubusercontent.com/u/7746331?v=4","gravatar_id":"","url":"https://api.github.com/users/mareksrom","html_url":"https://github.com/mareksrom","followers_url":"https://api.github.com/users/mareksrom/followers","following_url":"https://api.github.com/users/mareksrom/following{/other_user}","gists_url":"https://api.github.com/users/mareksrom/gists{/gist_id}","starred_url":"https://api.github.com/users/mareksrom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mareksrom/subscriptions","organizations_url":"https://api.github.com/users/mareksrom/orgs","repos_url":"https://api.github.com/users/mareksrom/repos","events_url":"https://api.github.com/users/mareksrom/events{/privacy}","received_events_url":"https://api.github.com/users/mareksrom/received_events","type":"User","site_admin":false},"created_at":"2018-11-12T14:17:06Z","updated_at":"2018-11-12T14:17:06Z","author_association":"NONE","body":"Thanks for info, I’ll check the priority queue for your test case..."}}
{"actor":{"display_login":"mareksrom"}}