Closed
Bug 133015
Opened 23 years ago
Closed 23 years ago
Info may indicate "not cached" although the page actually is in cache
Categories
(SeaMonkey :: Page Info, defect, P3)
SeaMonkey
Page Info
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla1.1beta
People
(Reporter: usch2000, Assigned: db48x)
References
()
Details
Attachments
(1 file, 1 obsolete file)
941 bytes,
patch
|
db48x
:
review+
darin.moz
:
superreview+
|
Details | Diff | Splinter Review |
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Win95; en-US; rv:0.9.9) Gecko/20020311
BuildID: 2002031104
Pages marked stale for "vary:" header handling are displayed as "not cached",
although they are actually in cache, set to force-revalidate, not to force-reload.
Reproducible: Always
Steps to Reproduce:
1. Go to the URL given above
2. Examine Page Info
3. Compare with about:cache-entry information
Actual Results: Page Info displays "not cached", "no expiration set".
Expected Results: Page Info should display memory or disk cache as the actual
source, and "must-revalidate" or something like that as expiration info.
This might be related to Bug 132957.
Comment 1•23 years ago
|
||
I think this happens because we try to open the cache entry for reading and the
cache revalidation fails or something....
We should look into implementing nsICacheVisitor and using that (like
about:cache does). Not sure what the perf impact would be...
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Windows 95 → All
Hardware: PC → All
Assignee | ||
Comment 2•23 years ago
|
||
bz's assessment is correct.
cache visitors suck, as I recall you have to visit each entry at least once to
figure out if what you're looking for is in there. how long does it take to
display about:cache? now do that each time you preview an image in the media
tab. sounds bad to me.
Comment 3•23 years ago
|
||
gordon? any ideas? Is it possible to open a cache entry without triggering
revalidation using a scriptable API?
Reporter | ||
Comment 4•23 years ago
|
||
I guess that's what
"about:cache-entry?client=HTTP&sb=1&key=http://server.foo/something" does - just
collect information about the current state of a cache entry, without actually
retrieving it.
Comment 5•23 years ago
|
||
No, as a matter of fact that does exactly what page info does -- creates a cache
session and opens the cache entry (in exactly the same way as far as I can
tell). See
http://lxr.mozilla.org/seamonkey/source/netwerk/protocol/about/src/nsAboutCacheEntry.cpp#335
The only difference I see is the call to:
mCacheSession->SetDoomEntriesIfExpired(PR_FALSE);
reading over nsICacheSession.idl, this may be exactly what needs to be done
here.
Assignee | ||
Updated•23 years ago
|
Status: NEW → ASSIGNED
Priority: -- → P3
Target Milestone: --- → mozilla1.1beta
Comment 6•23 years ago
|
||
this bug is due to,mozilla cache page info in disk cache,but when mozilla
return entry,the page's expires time is less than current time,then mozilla
will clean the cache entry and don't retrun it.i will research it,i think i can
avoid time's estimation.mozilla really cache the page info in disk cache.
please assigned this bug to me,i'm sure i can fix it.
Comment 7•23 years ago
|
||
i found this bug is due to the cache service will clean the entry being
returned from disk cache after entry be returned by SearchCacheDevices(),i
create a patch which can fix this bug,but maybe have some problem,because this
method is runned by a lot class,so my fix maybe arise another problem,I hope
somebody can give me some advice.Please rv my patch!
Comment 8•23 years ago
|
||
Antonio, your patch has one major drawback -- it breaks correct handling of
cache entry expiration completely. With your patch, things would never expire
from cache and the browser would not go out to the network to refetch things
when it should.
Note the |&& request->WillDoomEntriesIfExpired()| clause in the if statement
you were changing... just setting doomEntriesIfExpired to "false" has the same
effect as your patch in this case.
db48x, would you review?
Attachment #79244 -
Attachment is obsolete: true
Comment 9•23 years ago
|
||
yes,i think your patch right.
Assignee | ||
Comment 10•23 years ago
|
||
Comment on attachment 79254 [details] [diff] [review]
Better patch, per comment #4
sure, I can r= that. it's identicle to the patch I haven't posted yet :)
r=db48x
Attachment #79254 -
Flags: review+
Comment 11•23 years ago
|
||
Comment on attachment 79254 [details] [diff] [review]
Better patch, per comment #4
sr=darin
btw: HTTP also uses a session named "HTTP-memory-only"
this is used for HTTPS content and no-store content. also, these session names
were never meant to be referenced outside the HTTP implementation :-(
Attachment #79254 -
Flags: superreview+
Comment 12•23 years ago
|
||
checked in on the trunk.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Updated•20 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•