Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Issue 2838383002: Move Minidump Uploading IO operations off the UI thread. (Closed)

Created:
3 years, 8 months ago by gsennton
Modified:
3 years, 7 months ago
CC:
chromium-reviews, kalyank, sadrul, android-webview-reviews_chromium.org, agrieve+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Move Minidump Uploading IO operations off the UI thread. Before this CL we would create a CrashFileManager in MinidumpUploaderImpl on the UI thread. CrashFileManager requires a directory in which to store minidumps, so creating that directory, or ensuring that it exists, requires disk operations. In this CL we move the creation of the CrashFileManager onto the worker thread where the actual minidump uploading happens. Also change the rescheduling logic for minidump uploading slightly, Previously we would check whether there are any minidumps left, at the time when the current job is cancelled, from the UI thread. But that requires a disk operation, so now we instead update whether to reschedule uploads, from the worker thread, for the UI thread to read in a thread-safe way (without disk reads). Note that this change affects the minidump uploading of both WebView and Chrome. BUG=714138 Review-Url: https://codereview.chromium.org/2838383002 Cr-Commit-Position: refs/heads/master@{#468955} Committed: https://chromium.googlesource.com/chromium/src/+/ee63feacd7199214bf9673efd957afabe9be13bb

Patch Set 1 #

Total comments: 25

Patch Set 2 : Cancel uploads if no crash dir exists + fix mUploadsDone logic + add test and comments. #

Total comments: 14

Patch Set 3 : Remove mUploadsDone + minor test-fixes. #

Patch Set 4 : Remove unused variable. #

Patch Set 5 : Add logging to debug failing test. #

Patch Set 6 : Don't fail test if uploadFinished called - we don't guarantee ng. #

Messages

Total messages: 25 (7 generated)
gsennton
Ilya: minidump_uploader Toby: WebView ptal :)
3 years, 8 months ago (2017-04-26 13:27:16 UTC) #2
Tobias Sargeant
https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java (right): https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java#newcode159 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java:159: if (mCancelUpload) return; You're leaving mUploadsDone in a potentially ...
3 years, 8 months ago (2017-04-26 13:34:30 UTC) #3
Tobias Sargeant
https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java (right): https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java#newcode159 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java:159: if (mCancelUpload) return; On 2017/04/26 13:34:30, Tobias Sargeant wrote: ...
3 years, 8 months ago (2017-04-26 13:41:19 UTC) #4
gsennton
https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java (right): https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java#newcode159 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java:159: if (mCancelUpload) return; On 2017/04/26 13:41:19, Tobias Sargeant wrote: ...
3 years, 8 months ago (2017-04-26 13:58:37 UTC) #5
Ilya Sherman
Thanks, Gustav! It would be /great/ to add test coverage for the asynchronous behavior. Not ...
3 years, 8 months ago (2017-04-27 00:57:07 UTC) #6
Tobias Sargeant
https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java (right): https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java#newcode49 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java:49: private boolean mUploadsDone = false; On 2017/04/27 00:57:06, Ilya ...
3 years, 7 months ago (2017-04-27 12:34:49 UTC) #7
Ilya Sherman
https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java (right): https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java#newcode93 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java:93: mUploadsDone = uploadsDone; On 2017/04/27 12:34:49, Tobias Sargeant wrote: ...
3 years, 7 months ago (2017-04-27 22:17:30 UTC) #8
Tobias Sargeant
https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java (right): https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java#newcode93 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java:93: mUploadsDone = uploadsDone; On 2017/04/27 22:17:30, Ilya Sherman wrote: ...
3 years, 7 months ago (2017-04-28 10:50:17 UTC) #9
gsennton
Thanks for quick reviews! Hopefully, this version should be closer to final ;) https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java File ...
3 years, 7 months ago (2017-04-28 13:01:20 UTC) #10
Tobias Sargeant
https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java (right): https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java#newcode126 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java:126: setUploadsDone(minidumps.length == 0); On 2017/04/28 13:01:20, gsennton wrote: > ...
3 years, 7 months ago (2017-04-28 13:15:47 UTC) #11
Ilya Sherman
Thanks! https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java (right): https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java#newcode126 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java:126: setUploadsDone(minidumps.length == 0); On 2017/04/28 13:15:47, Tobias Sargeant ...
3 years, 7 months ago (2017-04-28 22:31:15 UTC) #12
gsennton
https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java (right): https://codereview.chromium.org/2838383002/diff/1/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java#newcode126 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java:126: setUploadsDone(minidumps.length == 0); On 2017/04/28 22:31:15, Ilya Sherman wrote: ...
3 years, 7 months ago (2017-05-02 17:07:00 UTC) #13
Ilya Sherman
LGTM. Thanks, Gustav!
3 years, 7 months ago (2017-05-02 21:22:36 UTC) #14
Tobias Sargeant
lgtm
3 years, 7 months ago (2017-05-03 09:04:39 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2838383002/40001
3 years, 7 months ago (2017-05-03 09:12:09 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/284700)
3 years, 7 months ago (2017-05-03 09:59:18 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2838383002/100001
3 years, 7 months ago (2017-05-03 12:32:36 UTC) #22
commit-bot: I haz the power
3 years, 7 months ago (2017-05-03 13:16:11 UTC) #25
Message was sent while issue was closed.
Committed patchset #6 (id:100001) as
https://chromium.googlesource.com/chromium/src/+/ee63feacd7199214bf9673efd957...

Powered by Google App Engine
This is Rietveld 408576698