lp:~measurement-factory/squid/3p2-rock
Unofficial Squid code implementing SMP Rock Store: http://
Meant for v3.2 submission.
- Get this branch:
- bzr branch lp:~measurement-factory/squid/3p2-rock
Branch merges
Branch information
Recent revisions
- 11414. By Alex Rousskov
-
Do not cache partially loaded entries in shared mem cache (and then serve them)
When handling a conditional request, Squid may load the beginning of a cached
object from disk, realize that the client has the same fresh copy, and respond
with 304 Not Modified. After that, Squid was checking whether the partially
loaded object should be kept in shared memory cache (if enabled). There were
no checks preventing memory caching of the partially loaded object.Later, partially cached objects were served to clients, resulting in truncated
responses. I believe this happens because shared memory cache does not keep
all the StoreEntry data (just like a disk cache does not do that) so the fact
that only a part of the object was available was lost.Same as trunk r12040.
- 11413. By Alex Rousskov
-
Do not swap out swapped out objects.
I noticed that sometimes Squid would start swapping out an entry that was
recently loaded from disk and was still on disk. That wastes disk
resources (at best).The old StoreEntry:
:mayStartSwapOu t() code assumed that when swap_status is
not SWAPOUT_NONE it is SWAPOUT_WRITING, but SWAPOUT_WRITING is impossible
after recent StoreEntry::swapOut( ) modifications because mayStartSwapOut() is
only called when we are not swappingOut() already. SWAPOUT_DONE is possible.Same as trunk r12039.
- 11412. By Alex Rousskov
-
A workaround to prevent DeferredRead-
related coredumps at shutdown. DeferredReads are cleaned after fd_table is freed and set to NULL,
leading to coredumps on fd_table[fd] accesses. - 11408. By Dmitry Kurochkin
-
Remove entryLimitAllowed() TODO from RockSwapDirRr:
:run(). RockSwapDirRr:
:run() calls sd->entryLimitA llowed( ) when sd does not
have a map yet, which causes entryLimitAllowed() to use zero for the
lower limit. But that OK so we can remove the TODO. - 11407. By Dmitry Kurochkin
-
Warn about Rock cache_dir disk space waste.
In some configurations Rock cache_dir may hit the maximum entry limit.
In that case a significant disk space may be wasted. Before recent
SMP-related changes, there was code to warn the user about such
situations. The patch resurrects that code, adjusting it as needed to
match the current realities. - 11406. By Dmitry Kurochkin
-
Check IPC I/O pages limits in Rock store only when using a disker.
Shared memory pages are used only when Rock is running with diskers.
Otherwise, Blocking IO is used and there is no need to check for IPC
I/O pages limits.
Branch metadata
- Branch format:
- Branch format 6
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)