{"action":"created","issue":{"url":"https://api.github.com/repos/letsencrypt/boulder/issues/3410","repository_url":"https://api.github.com/repos/letsencrypt/boulder","labels_url":"https://api.github.com/repos/letsencrypt/boulder/issues/3410/labels{/name}","comments_url":"https://api.github.com/repos/letsencrypt/boulder/issues/3410/comments","events_url":"https://api.github.com/repos/letsencrypt/boulder/issues/3410/events","html_url":"https://github.com/letsencrypt/boulder/issues/3410","id":292857481,"number":3410,"title":"ACMEv2: Optimize pending order rate limit query","user":{"login":"cpu","id":292650,"avatar_url":"https://avatars1.githubusercontent.com/u/292650?v=4","gravatar_id":"","url":"https://api.github.com/users/cpu","html_url":"https://github.com/cpu","followers_url":"https://api.github.com/users/cpu/followers","following_url":"https://api.github.com/users/cpu/following{/other_user}","gists_url":"https://api.github.com/users/cpu/gists{/gist_id}","starred_url":"https://api.github.com/users/cpu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cpu/subscriptions","organizations_url":"https://api.github.com/users/cpu/orgs","repos_url":"https://api.github.com/users/cpu/repos","events_url":"https://api.github.com/users/cpu/events{/privacy}","received_events_url":"https://api.github.com/users/cpu/received_events","type":"User","site_admin":false},"labels":[{"id":401753908,"url":"https://api.github.com/repos/letsencrypt/boulder/labels/area/sa","name":"area/sa","color":"4B7C8C","default":false},{"id":401757198,"url":"https://api.github.com/repos/letsencrypt/boulder/labels/kind/cleanup","name":"kind/cleanup","color":"7F5195","default":false},{"id":401754182,"url":"https://api.github.com/repos/letsencrypt/boulder/labels/kind/performance","name":"kind/performance","color":"7F5195","default":false}],"state":"open","locked":false,"assignee":{"login":"cpu","id":292650,"avatar_url":"https://avatars1.githubusercontent.com/u/292650?v=4","gravatar_id":"","url":"https://api.github.com/users/cpu","html_url":"https://github.com/cpu","followers_url":"https://api.github.com/users/cpu/followers","following_url":"https://api.github.com/users/cpu/following{/other_user}","gists_url":"https://api.github.com/users/cpu/gists{/gist_id}","starred_url":"https://api.github.com/users/cpu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cpu/subscriptions","organizations_url":"https://api.github.com/users/cpu/orgs","repos_url":"https://api.github.com/users/cpu/repos","events_url":"https://api.github.com/users/cpu/events{/privacy}","received_events_url":"https://api.github.com/users/cpu/received_events","type":"User","site_admin":false},"assignees":[{"login":"cpu","id":292650,"avatar_url":"https://avatars1.githubusercontent.com/u/292650?v=4","gravatar_id":"","url":"https://api.github.com/users/cpu","html_url":"https://github.com/cpu","followers_url":"https://api.github.com/users/cpu/followers","following_url":"https://api.github.com/users/cpu/following{/other_user}","gists_url":"https://api.github.com/users/cpu/gists{/gist_id}","starred_url":"https://api.github.com/users/cpu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cpu/subscriptions","organizations_url":"https://api.github.com/users/cpu/orgs","repos_url":"https://api.github.com/users/cpu/repos","events_url":"https://api.github.com/users/cpu/events{/privacy}","received_events_url":"https://api.github.com/users/cpu/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/letsencrypt/boulder/milestones/119","html_url":"https://github.com/letsencrypt/boulder/milestone/119","labels_url":"https://api.github.com/repos/letsencrypt/boulder/milestones/119/labels","id":3093777,"number":119,"title":"Sprint 2018-02-06","description":"","creator":{"login":"cpu","id":292650,"avatar_url":"https://avatars1.githubusercontent.com/u/292650?v=4","gravatar_id":"","url":"https://api.github.com/users/cpu","html_url":"https://github.com/cpu","followers_url":"https://api.github.com/users/cpu/followers","following_url":"https://api.github.com/users/cpu/following{/other_user}","gists_url":"https://api.github.com/users/cpu/gists{/gist_id}","starred_url":"https://api.github.com/users/cpu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cpu/subscriptions","organizations_url":"https://api.github.com/users/cpu/orgs","repos_url":"https://api.github.com/users/cpu/repos","events_url":"https://api.github.com/users/cpu/events{/privacy}","received_events_url":"https://api.github.com/users/cpu/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":4,"state":"open","created_at":"2018-02-06T19:05:05Z","updated_at":"2018-02-08T23:35:12Z","due_on":"2018-02-13T08:00:00Z","closed_at":null},"comments":3,"created_at":"2018-01-30T16:52:56Z","updated_at":"2018-02-09T17:56:10Z","closed_at":null,"author_association":"MEMBER","body":"After https://github.com/letsencrypt/boulder/pull/3402 lands we're left calculating the pending order rate limit by fetching all unexpired orders for an account, and then fetching each associated authorization. We should batch the authorization lookup and try to ensure this rate limit implementation is optimized."},"comment":{"url":"https://api.github.com/repos/letsencrypt/boulder/issues/comments/364508931","html_url":"https://github.com/letsencrypt/boulder/issues/3410#issuecomment-364508931","issue_url":"https://api.github.com/repos/letsencrypt/boulder/issues/3410","id":364508931,"user":{"login":"jsha","id":220205,"avatar_url":"https://avatars1.githubusercontent.com/u/220205?v=4","gravatar_id":"","url":"https://api.github.com/users/jsha","html_url":"https://github.com/jsha","followers_url":"https://api.github.com/users/jsha/followers","following_url":"https://api.github.com/users/jsha/following{/other_user}","gists_url":"https://api.github.com/users/jsha/gists{/gist_id}","starred_url":"https://api.github.com/users/jsha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsha/subscriptions","organizations_url":"https://api.github.com/users/jsha/orgs","repos_url":"https://api.github.com/users/jsha/repos","events_url":"https://api.github.com/users/jsha/events{/privacy}","received_events_url":"https://api.github.com/users/jsha/received_events","type":"User","site_admin":false},"created_at":"2018-02-09T17:56:10Z","updated_at":"2018-02-09T17:56:10Z","author_association":"CONTRIBUTOR","body":"Let's consider it fine for now. It's kind of an accident of semantics that the pending authz limit can be fixed by deactivating authzs. Changing an authz to deactivated doesn't really save us any resources. It's been convenient for when people get stuck in a rate limited state, but then we drastically reduced the problem of pending authz limiting through reuse of pending authzs... hopefully pending order reuse will have the same effect in v2."}}
{"actor":{"display_login":"jsha"}}