Closed Bug 1382845 Opened 8 years ago Closed 8 years ago

We should cancel mNetworkTriggerTimer when we start reading data from the cache

Categories

(Core :: Networking, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: valentin, Assigned: valentin)

References

(Blocks 1 open bug)

Details

(Whiteboard: [necko-active])

Attachments

(1 file, 1 obsolete file)

(In reply to Michal Novotny (:michal) from bug 1376970 comment #4) > This is IMO wrong. In case of delayed race, mRaceCacheWithNetwork is false > until we hit the network, but what if it happens after OnCacheEntryAvailable > is called? Imagine following scenario: > > 1) MaybeRaceCacheWithNetwork triggers the network with a delay, so > mRaceCacheWithNetwork==false, mRaceDelay!=0 > 2) cache wins before the mRaceDelay time elapsed, so mRaceCacheWithNetwork > is still false and we won't set mFirstResponseSource in ReadFromCache > 3) mRaceDelay time elapsed and nsHttpChannel was notified by the timer, > TriggerNetwork(0) is called but mRaceCacheWithNetwork is not set again, > because mOnCacheAvailableCalled is already true. > 4) Now we start network request when cache already started delivering data, > mRaceCacheWithNetwork is false and mFirstResponseSource is RESPONSE_PENDING > :-/ > > We should either change what mRaceCacheWithNetwork means or check it > together with mRaceDelay. To avoid this situation occurring, we should mNetworkTriggerTimer when we start reading from the cache.
I also changed ReportRcwnStats as mRaceCacheWithNetwork isn't necessarily true when mRaceDelay is. MozReview-Commit-ID: HOnWemy2YCY
Attachment #8888547 - Flags: review?(michal.novotny)
Assignee: nobody → valentin.gosu
Status: NEW → ASSIGNED
Your patch in bug 1382852 has a better fix for the telemetry issue
Attachment #8888550 - Flags: review?(michal.novotny)
Attachment #8888547 - Attachment is obsolete: true
Attachment #8888547 - Flags: review?(michal.novotny)
Attachment #8888550 - Flags: review?(michal.novotny) → review+
Blocks: 1381816
Keywords: checkin-needed
Whiteboard: [necko-active]
Pushed by ryanvm@gmail.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/a4c46cc48c78 We should cancel mNetworkTriggerTimer when we start reading data from the cache. r=michal
Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: