getsentry / getsentry/sentry

Uptime monitor fails assertion for 301; will pass assertion when set to expect 200

Open
#116,635 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bug Product Area: Alerts Waiting for: Product Owner
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
21h 23m
Merged PRs (30d)
607

Description

Environment

SaaS (https://sentry.io/)

Steps to Reproduce
  1. Set up a new uptime monitor
  2. Click 'Test Monitor' button
Expected Result

Assertion passes so that I can enable the monitor

Confirmed from CURL that the response is 301

% curl -v -X GET \
  -H "User-Agent: SentryUptimeBot/1.0 (+http://docs.sentry.io/product/alerts/uptime-monitoring/)" \
  -H "Sentry-Trace: cf485626a37a42b3af5c83e2d91825e6-8c0e4f6ff3fc6768-0" \
  "https://acorninfluence.com/terms-of-service/"
Note: Unnecessary use of -X or --request, GET is already inferred.
* Host acorninfluence.com:443 was resolved.
* IPv6: (none)
* IPv4: 18.188.43.254, 3.151.222.80
*   Trying 18.188.43.254:443...
* Connected to acorninfluence.com (18.188.43.254) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256 / [blank] / UNDEF
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=acorninfluence.com
*  start date: May 27 00:00:00 2026 GMT
*  expire date: Dec 10 23:59:59 2026 GMT
*  subjectAltName: host "acorninfluence.com" matched cert's "acorninfluence.com"
*  issuer: C=US; O=Amazon; CN=Amazon RSA 2048 M01
*  SSL certificate verify ok.
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://acorninfluence.com/terms-of-service/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: acorninfluence.com]
* [HTTP/2] [1] [:path: /terms-of-service/]
* [HTTP/2] [1] [accept: */*]
* [HTTP/2] [1] [user-agent: SentryUptimeBot/1.0 (+http://docs.sentry.io/product/alerts/uptime-monitoring/)]
* [HTTP/2] [1] [sentry-trace: cf485626a37a42b3af5c83e2d91825e6-8c0e4f6ff3fc6768-0]
> GET /terms-of-service/ HTTP/2
> Host: acorninfluence.com
> Accept: */*
> User-Agent: SentryUptimeBot/1.0 (+http://docs.sentry.io/product/alerts/uptime-monitoring/)
> Sentry-Trace: cf485626a37a42b3af5c83e2d91825e6-8c0e4f6ff3fc6768-0
>
* Request completely sent off
< HTTP/2 301
< date: Mon, 01 Jun 2026 21:59:34 GMT
< content-type: text/html
< content-length: 162
< location: https://newengen.com/terms-of-use-for-creators/
< server: nginx
<
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
Actual Result

Assertion fails (see bottom right)

Image
Product Area

Alerts

Link

https://acorn-influence.sentry.io/monitors/7455387/edit/

DSN

No response

Version

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure through the Uptime Monitor’s Test Monitor button using the reported GET request and an expected status of 301. Trace the status-code assertion path behind that action and compare it with the observed 301 response. Done means a monitor configured to expect 301 passes validation and can be enabled, while existing 200 checks continue to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
observability-sre
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.