Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RUM-2376: Fix duplicate wireframes issue #1761

Merged

Conversation

jonathanmos
Copy link
Member

What does this PR do?

This pr fixes the issue of duplicate wireframes appearing in the replays, and also adds in telemetry so that we'll know if items are dropped in future from the RecordedDataQueue.

What was happening was that RecordedDataQueueRefs was held as a class-level variable inside RecordedDataQueueHandler. As a result, for every traversal the value of the SnapshotRecordedDataQueueItem held by the ref object was mutating, and this caused asynchronous tasks to occasionally return their callback to the wrong SnapshotRecordedDataQueueItem. This further led to the number of pending asynchronous tasks on the previous item never reaching zero, so it became stuck in the queue and eventually cleaned after exceeding the 200ms timeout.

Motivation

To handle the issue of duplicate wireframes.

Additional Notes

Anything else we should know when reviewing?

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Make sure you discussed the feature or bugfix with the maintaining team in an Issue
  • Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

@jonathanmos jonathanmos force-pushed the jmoskovich/rum-2376/fix-duplicate-wireframes-issue branch from db93f61 to b1d86ea Compare December 14, 2023 08:39
@codecov-commenter
Copy link

codecov-commenter commented Dec 14, 2023

Codecov Report

Merging #1761 (559c763) into develop (b628685) will increase coverage by 0.12%.
The diff coverage is 100.00%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1761      +/-   ##
===========================================
+ Coverage    83.43%   83.56%   +0.12%     
===========================================
  Files          469      469              
  Lines        16394    16401       +7     
  Branches      2448     2448              
===========================================
+ Hits         13678    13704      +26     
+ Misses        2048     2029      -19     
  Partials       668      668              
Files Coverage Δ
...nreplay/internal/async/RecordedDataQueueHandler.kt 97.78% <100.00%> (+0.19%) ⬆️
...nternal/recorder/listener/WindowsOnDrawListener.kt 89.29% <100.00%> (ø)

... and 27 files with indirect coverage changes

@jonathanmos jonathanmos marked this pull request as ready for review December 14, 2023 09:07
@jonathanmos jonathanmos requested review from a team as code owners December 14, 2023 09:07
@jonathanmos jonathanmos force-pushed the jmoskovich/rum-2376/fix-duplicate-wireframes-issue branch from 2dadc22 to 559c763 Compare December 14, 2023 15:33
@jonathanmos jonathanmos merged commit b89c96b into develop Dec 15, 2023
23 checks passed
@jonathanmos jonathanmos deleted the jmoskovich/rum-2376/fix-duplicate-wireframes-issue branch December 15, 2023 08:28
@xgouchet xgouchet added this to the 2.4.0 milestone Feb 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants