getsentry / getsentry/sentry

[API] Inconsistent API Behavior When Resolving Issues in Bulk

Open
#87,531 4 comments 0 reactions 0 assignees View on GitHub
Issues > Details Product Area: Issues Resolution
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
22h 21m
Merged PRs (30d)
586

Description

### Environment

SaaS ([https://sentry.io/]())

### Steps to Reproduce

When making bulk updates via the Sentry API to mark issues as resolved or unresolved, the request returns inconsistent results across different projects. Some requests succeed, while others return 502 Bad Gateway errors with the message:

`upstream connect error or disconnect/reset before headers. reset reason: protocol error`

Sample reqeust
`curl -X PUT "https://sentry.io/api/0/projects///issues/" \ -H "Authorization: Bearer XXXYYYZZZ" \ -H "Content-Type: application/json" \ -d '{ "status": "resolved" }' `

Also, in some cases, the request succeeds (200 OK), but the UI does not reflect the status change.
The issues remain unresolved in the Sentry UI despite the API returning success.

### Expected Result

* The request should return a consistent and successful response across all projects when marking issues as resolved. If there is a limit, the docs should also reflect that.
* The Sentry UI should reflect the status change when a request succeeds.

### Actual Result

* The request intermittently fails with a 502 Bad Gateway error for multiple services.
* Error message received: "upstream connect error or disconnect/reset before headers. reset reason: protocol error"
* In some cases, a 200 OK response is received, but the status does not update in the Sentry UI.

### Product Area

APIs

### Link

*No response*

### DSN

*No response*

### Version

*No response*

Contributor guide

Open the contributing guide

Research direction

Start with the sample curl request and compare bulk resolution responses across the affected projects, including the 502 error and successful 200 response. Trace whether successful requests are reflected in the Sentry UI; done means bulk resolve and unresolve operations behave consistently and the UI shows the resulting status.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.