-
Notifications
You must be signed in to change notification settings - Fork 6
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
feat: network observer cover from not connected and blocked to connected (WPB-11200) #3057
Conversation
Test Results3 235 tests +16 3 129 ✅ +16 3m 58s ⏱️ +16s Results for commit c3b21fd. ± Comparison against base commit fc3f3e3. This pull request removes 1 and adds 17 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
|
Branch | feat/network-observer |
Testbed | ubuntu-latest |
⚠️ WARNING: The following Measure does not have a Threshold. Without a Threshold, no Alerts will ever be generated!Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the--ci-only-thresholds
CLI flag.
Click to view all benchmark results
Benchmark | Latency | nanoseconds (ns) |
---|---|---|
com.wire.kalium.benchmarks.logic.CoreLogicBenchmark.createObjectInFiles | 📈 view plot | 680,129.39 |
com.wire.kalium.benchmarks.logic.CoreLogicBenchmark.createObjectInMemory | 📈 view plot | 324,488,051.38 |
com.wire.kalium.benchmarks.persistence.MessagesNoPragmaTuneBenchmark.messageInsertionBenchmark | 📈 view plot | 934,174,437.83 |
com.wire.kalium.benchmarks.persistence.MessagesNoPragmaTuneBenchmark.queryMessagesBenchmark | 📈 view plot | 21,192,383.44 |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #3057 +/- ##
===========================================
- Coverage 52.43% 52.23% -0.20%
===========================================
Files 1309 1314 +5
Lines 50337 50951 +614
Branches 4671 4724 +53
===========================================
+ Hits 26394 26616 +222
- Misses 22055 22440 +385
- Partials 1888 1895 +7 see 24 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
Datadog ReportBranch report: ✅ 0 Failed, 3129 Passed, 106 Skipped, 15.73s Total Time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was able to produce this strange state where there is no connection but app do not register that. @yamilmedina Do you think this is a part of this problem or separate issue?
How to reproduce:
- airplane mode on
- wait a little bit
- airplane mode off
- quickly airplane mode on
strange_network.mp4
Thanks for the repro info, indeed this case we are trying to cover from many sides, so it is somewhat related. |
|
Ok, I investigated further, and the issue can happen after the second time in airplane mode (it does no matter if it's quick or not, at least for me). In the worst case, this gets short-circuited after ~20 seconds, when the websocket does a ping, this happens since we delay when no connection for the incremental sync to happen. I will create a ticket, to see how we can improve this state change, for the scope of this ticket at least is not relevant, since is related to the other case (from no network to connected) and blocking the sync because of it. Anyway, this helped me to take a look at some buffer config we could use for this PR and having a quicker reaction back to connected state :D |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Edit: didn't noticed your comment, nvm
@yamilmedina I was still able to reproduce it, do we want separate issue for that?
Created a ticket for this other issue here: |
PR Submission Checklist for internal contributors
The PR Title
SQPIT-764
The PR Description
What's new in this PR?
Issues
There is one case that seems to be not covered by the network state observer being:
Not connected -> to Unblocked = Connected
Causes (Optional)
Potentially hanging the state until a new connected state is triggered.
Solutions
Covering all grounds by adding this case and some logs to help debugging in datadog
Testing
Test Coverage (Optional)
Notes (Optional)
For now I'm testing this in an local build, to gather logs and monitor improvements
PR Post Submission Checklist for internal contributors (Optional)
PR Post Merge Checklist for internal contributors
References
feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764
.