sentry icon indicating copy to clipboard operation
sentry copied to clipboard

[User Feedback] Feedback Report Not Seen Anymore in List View

Open jas-kas opened this issue 1 year ago • 15 comments

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

jas-kas avatar Aug 13 '24 18:08 jas-kas

@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

bruno-garcia avatar Aug 14 '24 16:08 bruno-garcia

What filters did you use @jas-kas ?

aliu39 avatar Aug 27 '24 21:08 aliu39

@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.

jas-kas avatar Aug 27 '24 21:08 jas-kas

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?

aliu39 avatar Aug 27 '24 23:08 aliu39

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

Image

aliu39 avatar Aug 27 '24 23:08 aliu39

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

aliu39 avatar Aug 29 '24 21:08 aliu39

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&notification_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.

ryan953 avatar Aug 29 '24 21:08 ryan953

Tldr; we're blocked waiting on issues, for more info on this endpoint

aliu39 avatar Sep 03 '24 19:09 aliu39

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&notification_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.

aliu39 avatar Sep 04 '24 21:09 aliu39

Routing to @getsentry/product-owners-issues for triage ⏲️

getsantry[bot] avatar Sep 05 '24 22:09 getsantry[bot]

Thank you for keeping this investigation alive, and with updates Andrew!!

bruno-garcia avatar Sep 09 '24 16:09 bruno-garcia

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

JoshFerge avatar Sep 09 '24 18:09 JoshFerge

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

JoshFerge avatar Sep 09 '24 21:09 JoshFerge

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.

c298lee avatar Oct 17 '24 19:10 c298lee

@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

bruno-garcia avatar Oct 18 '24 19:10 bruno-garcia

@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.

JoshFerge avatar Oct 22 '24 15:10 JoshFerge