0pdd
0pdd copied to clipboard
Incindent: only 2 out of 4 puzzles were created and they aren't visible in the list of puzzles
Yesterday I faced the following:
- I pushed a couple of commits with 4 new puzzles
- 0pdd discovered 4 puzzles on the last commit but created only 2 issues
I see that 2 other issues also were discovered as well because they are listed as 777-90f97a5a and 777-15085030 at http://www.0pdd.com/p?name=php-coder/mystamps but why they weren't submitted as issues?
When it has happened rehttp service didn't work for a while and I suspect that it could be related.
@yegor256 please, pay attention to this issue
@php-coder what is the current situation? If these issues are created, it is more or less an expected behavior.
@yegor256 I push nothing to the master, so the state is the same. Should I push something to see whether 0pdd re-creates missing issues? What is the expected behavior?
@php-coder yes, exactly, push something and see what happens, please.
@yegor256 The 2 missing issues were created and correctly linked in the report. Feel free to close the issue if you don't see what can be improved/fixed here.
What happened on the server side?
@php-coder the problem is that sometimes we are going over the quota GitHub API is giving us. They allow only 5000 API requests per hour. If we are over quota, we hit the problem. I don't know what we can do. Any ideas?
Here is what we see time to time on the server:
Octokit::AbuseDetected: POST https://api.github.com/repos/xxx/xxx/commits/b5c5b3b89ddc2b14b1d4746bcb6bf31ed18b746e/comments: 403 - You have triggered an abuse detection mechanism and have been temporarily blocked from content creation. Please retry your request again later. // See: https://developer.github.com/v3#abuse-rate-limits
from octokit/response/raise_error.rb:16:in `on_complete'
from faraday/response.rb:9:in `block in call'
from faraday/response.rb:61:in `on_complete'
from faraday/response.rb:8:in `call'
from octokit/middleware/follow_redirects.rb:73:in `perform_with_redirection'
from octokit/middleware/follow_redirects.rb:61:in `call'
from faraday/rack_builder.rb:141:in `build_response'
from faraday/connection.rb:387:in `run_request'
from faraday/connection.rb:174:in `post'
from sawyer/agent.rb:94:in `call'
from octokit/connection.rb:156:in `request'
from octokit/connection.rb:28:in `post'
from octokit/client/commit_comments.rb:63:in `create_commit_comment'
from objects/commit_tickets.rb:34:in `submit'
from objects/emailed_tickets.rb:31:in `submit'
from objects/sentry_tickets.rb:36:in `submit'
from objects/puzzles.rb:91:in `block in expose'
from objects/puzzles.rb:82:in `loop'
from objects/puzzles.rb:82:in `expose'
from objects/puzzles.rb:33:in `deploy'
from objects/job.rb:36:in `proceed'
from objects/job_starred.rb:33:in `proceed'
from objects/job_recorded.rb:32:in `proceed'
from objects/job_emailed.rb:35:in `proceed'
from objects/job_commiterrors.rb:36:in `proceed'
from objects/job_detached.rb:49:in `block in exclusive'
from timeout.rb:91:in `block in timeout'
from timeout.rb:33:in `block in catch'
from timeout.rb:33:in `catch'
from timeout.rb:33:in `catch'
from timeout.rb:106:in `timeout'
from objects/job_detached.rb:47:in `exclusive'
from objects/job_detached.rb:37:in `block in proceed'
from objects/job_detached.rb:37:in `fork'
from objects/job_detached.rb:37:in `proceed'
from 0pdd.rb:340:in `block in <top (required)>'
from sinatra/base.rb:1632:in `call'
from sinatra/base.rb:1632:in `block in compile!'
from sinatra/base.rb:991:in `block (3 levels) in route!'
from sinatra/base.rb:1010:in `route_eval'
from sinatra/base.rb:991:in `block (2 levels) in route!'
from sinatra/base.rb:1037:in `block in process_route'
from sinatra/base.rb:1035:in `catch'
from sinatra/base.rb:1035:in `process_route'
from sinatra/base.rb:989:in `block in route!'
from sinatra/base.rb:988:in `each'
from sinatra/base.rb:988:in `route!'
from sinatra/base.rb:1094:in `block in dispatch!'
from sinatra/base.rb:1073:in `block in invoke'
from sinatra/base.rb:1073:in `catch'
from sinatra/base.rb:1073:in `invoke'
from sinatra/base.rb:1091:in `dispatch!'
from sinatra/base.rb:923:in `block in call!'
from sinatra/base.rb:1073:in `block in invoke'
from sinatra/base.rb:1073:in `catch'
from sinatra/base.rb:1073:in `invoke'
from sinatra/base.rb:923:in `call!'
from sinatra/base.rb:913:in `call'
from rack/protection/xss_header.rb:18:in `call'
from rack/protection/path_traversal.rb:16:in `call'
from rack/protection/json_csrf.rb:26:in `call'
from rack/protection/base.rb:50:in `call'
from rack/protection/base.rb:50:in `call'
from rack/protection/frame_options.rb:31:in `call'
from rack/logger.rb:15:in `call'
from rack/common_logger.rb:33:in `call'
from sinatra/base.rb:231:in `call'
from sinatra/base.rb:224:in `call'
from rack/head.rb:12:in `call'
from rack/method_override.rb:22:in `call'
from sinatra/base.rb:194:in `call'
from sinatra/base.rb:1955:in `call'
from sinatra/base.rb:1499:in `block in call'
from sinatra/base.rb:1726:in `synchronize'
from sinatra/base.rb:1499:in `call'
from rack/handler/webrick.rb:86:in `service'
from webrick/httpserver.rb:140:in `service'
from webrick/httpserver.rb:96:in `run'
from webrick/server.rb:296:in `block in start_thread'
I'd suggest the following:
- at least notify users about that by adding a message like
0pdd couldn't create a new issues for you because the bot exceeded max number of requests to GitHub per hour. Don't worry, this is a temporary issue. You can continue to push new commits and on one of the next commits, when time will out, the bot will create issues for all puzzles.
- Ideally, bot should remember such puzzles and try to create them again, after time out.
It's still there. Looks like the limit is about 5 puzzles for my repo. Some new issues were created only now, 1 week after I added @todos, that is unexpected. :-(