Closed Bug 1376970 Opened 7 years ago Closed 7 years ago

Make sure mRaceCacheWithNetwork is only set when we are actually racing

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)

This flag should not be set when TriggerNetwork is called because we are revalidating, or in other circumstances when we are not actually racing.
Attached patch bug1376970.patchSplinter Review
Attachment #8881993 - Flags: review?(michal.novotny)
Attachment #8881993 - Flags: review?(michal.novotny) → review+
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/3e70da3068df
Make sure mRaceCacheWithNetwork is only set when we are actually racing. r=michal
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/3e70da3068df
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
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.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
This is kind of a new bug. Filed bug 1382845 for it.
Status: REOPENED → RESOLVED
Closed: 7 years ago7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: