On 6/02/2013 8:14 a.m., Alex Rousskov wrote:
On 02/05/2013 03:36 AM, Amos Jeffries wrote:
http://bugs.squid-cache.org/show_bug.cgi?id=3686
+ if (static_cast<uint64_t>(newMax) > maxSize()) {
+ debugs(47, DBG_PARSE_NOTE(2), "WARNING: object 'max-size' option for " << path <<
" cannot exceed " << maxSize());
+ max_objsize = maxSize();
+ return;
+ }
Please adjust this to say "cannot exceed total cache_dir size " or
similar to clarify where the limit is coming from.
I would also say "ignoring max-size for <path> because it exceeds
cache_dir <size>" instead of the "max-size cannot exceed ..." phrase, to
tell the admin what Squid is doing instead of just telling them what
Squid cannot do. This will make it clear that their max-size option has
no effect.
In summary:
debugs(47, DBG_PARSE_NOTE(2), "WARNING: ignoring max-size for " <<
path << " because it exceeds total cache_dir size " << maxSize());
+ /// the minimum size of singel object which may be stored here
"single" typo
I would rephrase as "smaller objects will not be added and may be purged".
Actually this was completely wrong anyway. minSize() *is* the function
paired with maxSize() and seems to be related to the low watermark somehow.
Dropped the documentation change.
- virtual int64_t maxObjectSize() const { return max_objsize; }
+ /// The maximum size of single object which may be stored here.
+ int64_t maxObjectSize() const;
Same rephrasing suggestion as the above.
Please do not remove "virtual". It is a useful reminder that this is a
part of the Store API.
Why add virtual table entries? this is not a replaceable function any
more. This is an accessor method for the SwapDir base object.
Also, I think it would be appropriate (and useful) to document maxSize()
method in this patch because it looks symmetrical to now-documented
minSize() but has a very different meaning.
N/A now and I'm not sure I understand it well enough to add documentation.
=== modified file 'src/peer_digest.cc'
--- src/peer_digest.cc 2013-01-30 15:39:37 +0000
+++ src/peer_digest.cc 2013-02-03 13:38:13 +0000
@@ -347,6 +347,7 @@
req->header.putStr(HDR_ACCEPT, "text/html");
+ // XXX: this is broken when login=PASS, login=PASSTHRU, login=PROXYPASS, login=NEGOTIATE, and login=*:...
if (p->login)
xstrncpy(req->login, p->login, MAX_LOGIN_SZ);
An unrelated change?
Er. yes. dropped.
StoreEntry *const pe = addEntry(i);
+ printf("pe->swap_status == %d (SWAPOUT_WRITING=%d)\n", pe->swap_status, SWAPOUT_WRITING);
+
CPPUNIT_ASSERT(pe->swap_status == SWAPOUT_WRITING);
CPPUNIT_ASSERT(pe->swap_dirn == 0);
CPPUNIT_ASSERT(pe->swap_filen >= 0);
Perhaps remove the added debugging to reduce "make check" noise? Or make
it conditional on swap_status being not SWAPOUT_WRITING?
+ rep->setHeaders(HTTP_OK, "dummy test object", "x-squid-internal/test", 0,
-1, squid_curtime + 100000);
You may want to add a line to the commit message to note why this change
was necessary (and that test cases now have weak/indirect checks for
max-size code).
All of the above can be done during commit, without another review cycle
IMO.
Thank you,
Alex.
Applie dto trunk as rev.12662.
Amos