[User Feedback] Feedback Report Not Seen Anymore in List View
Problem
JAVASCRIPT-2V13 feedback report can be accessed if you have a direct link from the Slack Alert, but otherwise, it is not seen on the List page in the 'resolved' tab when the appropriate page filters are set. It's unclear why it's not discoverable from the List page and if there are other feedback reports missing as well.
Team channel Slack thread: https://sentry.slack.com/archives/C04RDSY3ML1/p1723572100732529
@aliu39 It's possible this is related to querying. Might be how we build the query, or something with the issue platform APIs. We have hackweek next week but perhaps the week after is a good time to dig into this
What filters did you use @jas-kas ?
@aliu39 You can see the filters I use in this screenshot: https://sentry.slack.com/archives/C04RDSY3ML1/p1723572100732529
All the page filters applied should render the Feedback report I reference in this GH issue.
Another slack thread: https://sentry.slack.com/archives/C04KZQBNQ2U/p1724680254477169
Copied bug report:
[user feedback via crash report dialog] a user is missing a few feedbacks even from the spam folder: issue link feedbacks what can be preventing these from showing in the feedbacks UI?
From thread linked by Jasmin: feedback doesn't show up but possibly included in spam count. May have to check the queries for data vs counts are consistent
We're no longer able to repro Jasmin's example
@ryan953 helped to find another example! https://sentry.sentry.io/feedback/?alert_rule_id=12928918&alert_type=issue&feedbackSl[…]10-a2b9bae661af&project=11276&referrer=slack&statsPeriod=90d
Replay taken w/toolbar: https://sentry.sentry.io/replays/2e5122734dbc4afb9402d586524ad1e5/?project=11276
Filtering on that 1 day: count is accurate but feedback missing. Saved ss's in my notes
To add to what @aliu39 already said, here's what I'm seeing:
Here's a specific feedback that I can directly open and see in the Details panel:
| Key | Val |
|---|---|
| ID | JAVASCRIPT-2V7Z |
| URL | https://sentry.sentry.io/feedback/?alert_rule_id=12928918&alert_type=issue&feedbackSlug=javascript%3A5703918032&mailbox=resolved¬ification_uuid=e053a1fe-299d-481b-8f10-a2b9bae661af&project=11276&referrer=slack&statsPeriod=90d |
| API | https://us.sentry.io/api/0/organizations/sentry/issues/5703918032/?collapse=release&collapse=tags |
| firstSeen | "2024-08-12T11:34:02.456000Z" or "Aug 12, 4:34 PST" |
When I search via the api for it, It's not showing up: https://us.sentry.io/api/0/organizations/sentry/issues/?expand=integrationIssues&expand=latestEventHasAttachments&expand=pluginActions&expand=pluginIssues&expand=sentryAppIssues&limit=25&project=11276&shortIdLookup=0&utc=&queryReferrer=feedback_list_page&query=issue.category%3Afeedback%20status%3Aresolved%20&end=2024-08-13T00%3A00%3A00.000Z&start=2024-08-12T00%3A00%3A00.000Z
Or that same api url, in a more readable way:
https://us.sentry.io/api/0/organizations/sentry/issues/
?expand=integrationIssues
&expand=latestEventHasAttachments
&expand=pluginActions
&expand=pluginIssues
&expand=sentryAppIssues
&limit=25
&project=11276
&shortIdLookup=0
&utc=
&queryReferrer=feedback_list_page
&query=issue.category%3Afeedback%20status%3Aresolved%20
&end=2024-08-13T00%3A00%3A00.000Z
&start=2024-08-12T00%3A00%3A00.000Z
The results for feedback on aug 12 are:
[
{id: "5703615783", shortId: "JAVASCRIPT-2V7X", ...snip...},
{id: "5703516119", shortId: "JAVASCRIPT-2V7R", ...snip...},
{id: "5703378701", shortId: "JAVASCRIPT-2V7N", ...snip...},
]
Notice the query is looking at Aug 12, all 24 hours. UTC or PST doesn't even matter because the event happened within Aug 12 either way.
I noticed also that the results from /issues-counts/ returns 4 as expected.
This seems like a backend query issue, the snuba results doesn't include the item we expect.
Tldr; we're blocked waiting on issues, for more info on this endpoint
We did a query against snuba (joined search_issues and group_attributes), and the same thing for postgres sentry_groupedmessage. The status is inconsistent between these two, unresolved (Snuba) vs resolved (Postgres). There was one activity on the issue which was resolving it.
https://sentry.slack.com/archives/C04KZQBNQ2U/p1725484719204769?thread_ts=1724967808.410969&cid=C04KZQBNQ2U
This is for issue id 5703918032 Feedback link: https://sentry.sentry.io/feedback/?alert_rule_id=12928918&alert_type=issue&end=2024-08-13T23%3A59%3A59&feedbackSlug=javascript%3A5703918032&mailbox=resolved¬ification_uuid=e053a1fe-299d-481b-8f10-a2b9bae661af&project=11276&referrer=slack&start=2024-08-12T00%3A00%3A00&utc=true
Issues confirmed this is a consistency problem between the two storages, and are investigating solutions.
Routing to @getsentry/product-owners-issues for triage ⏲️
Thank you for keeping this investigation alive, and with updates Andrew!!
adding slack thread notes so they don't get lost:
i suspect this is an edge case that rarely happens, so is likely related to a server restarting after a save but before we produce to kafka 2:48 or a random blip where we fail to produce to kafka 2:48 one option here could be to make use of the propagation system that hybrid cloud built to guarantee the updates make it from regions to control and vice versa (edited) 2:49 so assuming that all updates are run in a transaction, then on a post save hook you can write the update to those tables. then write some code that handles those rows and writes them to kafka
did a quick comparison in snuba_admin vs postgres:
select
id
from
sentry_groupedmessage
where
project_id = 1 and status = 0
take those ids and put them in this query:
MATCH (group_attributes) SELECT count(group_id) WHERE project_id IN array(11276) AND group_status IN array(0) AND group_id IN array(...)
and they lined up. unsure how often this occurs
Just wanted to add another example of this happening: TESTING-8CS5 and TESTING-8CS6. The user feedback list for this project is empty despite the replay having both feedbacks.
@JoshFerge any more ideas what could be going on? I'm not sure who we can rope in here because I dunno how to debug this tbqh
@c298lee @bruno-garcia this was due to the flag not being on in s4s. I've enabled the visible flag in s4s https://github.com/getsentry/sentry-options-automator/pull/2524/files. i suggest setting released to True on the feedback grouptype in grouptype.py as the issue type has been fully released for a while, and this will make it so flags aren't needed.