500 server errors on issue creation
Summary
Invoking POST /api/:version/projects/:id/issues
can sometimes cause a 500 server error.
The error message is typically:
ActiveRecord::QueryCanceled: PG::QueryCanceled: ERROR: canceling statement due to statement timeout
Steps to reproduce
- Attempt to create an issue via the Issues API endpoint
- If no error occurs, please re-attempt. The error occurrence appears to be intermittent.
What is the current bug behavior?
When invoking a request to the Issues API endpoint, gitlab.com occasionally responds with a 500 server error.
What is the expected correct behavior?
An issue is created on a given project with the given content.
Relevant logs and/or screenshots
Common traceback:
lib/gitlab/database/load_balancing/connection_proxy.rb:120:in `block in write_using_load_balancer', lib/gitlab/database/load_balancing/load_balancer.rb:115:in `block in read_write', lib/gitlab/database/load_balancing/load_balancer.rb:191:in `retry_with_backoff', lib/gitlab/database/load_balancing/load_balancer.rb:111:in `read_write', lib/gitlab/database/load_balancing/connection_proxy.rb:119:in `write_using_load_balancer', lib/gitlab/database/load_balancing/connection_proxy.rb:61:in `block (2 levels) in <class:ConnectionProxy>', lib/gitlab/database/load_balancing/connection_proxy.rb:120:in `block in write_using_load_balancer', lib/gitlab/database/load_balancing/load_balancer.rb:115:in `block in read_write', lib/gitlab/database/load_balancing/load_balancer.rb:191:in `retry_with_backoff', lib/gitlab/database/load_balancing/load_balancer.rb:111:in `read_write', lib/gitlab/database/load_balancing/connection_proxy.rb:119:in `write_using_load_balancer', lib/gitlab/database/load_balancing/connection_proxy.rb:71:in `transaction', app/services/issuable_base_service.rb:234:in `block in create', lib/gitlab/database/load_balancing/connection_proxy.rb:120:in `block in write_using_load_balancer', lib/gitlab/database/load_balancing/load_balancer.rb:115:in `block in read_write', lib/gitlab/database/load_balancing/load_balancer.rb:191:in `retry_with_backoff', lib/gitlab/database/load_balancing/load_balancer.rb:111:in `read_write', lib/gitlab/database/load_balancing/connection_proxy.rb:119:in `write_using_load_balancer', lib/gitlab/database/load_balancing/connection_proxy.rb:71:in `transaction', app/services/issuable_base_service.rb:233:in `create', ee/app/services/ee/issues/create_service.rb:12:in `create', app/services/issues/create_service.rb:29:in `execute', app/services/concerns/rate_limited_service.rb:82:in `execute', ee/app/services/ee/issues/create_service.rb:24:in `execute', lib/api/issues.rb:278:in `block (2 levels) in <class:Issues>', ee/lib/gitlab/middleware/ip_restrictor.rb:14:in `block in call', ee/lib/gitlab/ip_address_state.rb:10:in `with', ee/lib/gitlab/middleware/ip_restrictor.rb:13:in `call', lib/api/api_guard.rb:213:in `call', ee/lib/omni_auth/strategies/group_saml.rb:41:in `other_phase', lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in `call', lib/gitlab/middleware/memory_report.rb:13:in `call', lib/gitlab/middleware/speedscope.rb:13:in `call', lib/gitlab/database/load_balancing/rack_middleware.rb:23:in `call', lib/gitlab/middleware/rails_queue_duration.rb:33:in `call', lib/gitlab/metrics/rack_middleware.rb:16:in `block in call', lib/gitlab/metrics/web_transaction.rb:46:in `run', lib/gitlab/metrics/rack_middleware.rb:16:in `call', lib/gitlab/jira/middleware.rb:19:in `call', lib/gitlab/middleware/go.rb:20:in `call', lib/gitlab/etag_caching/middleware.rb:21:in `call', lib/gitlab/middleware/query_analyzer.rb:11:in `block in call', lib/gitlab/database/query_analyzer.rb:37:in `within', lib/gitlab/middleware/query_analyzer.rb:11:in `call', lib/gitlab/middleware/multipart.rb:173:in `call', lib/gitlab/middleware/read_only/controller.rb:50:in `call', lib/gitlab/middleware/read_only.rb:18:in `call', lib/gitlab/middleware/same_site_cookies.rb:27:in `call', lib/gitlab/middleware/handle_malformed_strings.rb:21:in `call', lib/gitlab/middleware/basic_health_check.rb:25:in `call', lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call', lib/gitlab/middleware/request_context.rb:21:in `call', lib/gitlab/middleware/webhook_recursion_detection.rb:15:in `call', config/initializers/fix_local_cache_middleware.rb:11:in `call', lib/gitlab/middleware/compressed_json.rb:26:in `call', lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call', lib/gitlab/middleware/sidekiq_web_static.rb:20:in `call', lib/gitlab/metrics/requests_rack_middleware.rb:77:in `call', lib/gitlab/middleware/release_env.rb:13:in `call'
Output of checks
This bug happens on GitLab.com