|
Revision tags: 1.6.32, 1.6.31, 1.6.30, 1.6.29, 1.6.28, 1.6.27, 1.6.26, 1.6.25, 1.6.24, 1.6.23, 1.6.22, 1.6.21, 1.6.20, 1.6.19, 1.6.18, 1.6.17, 1.6.16, 1.6.15, 1.6.14, 1.6.13, 1.6.12, 1.6.11, 1.6.10, 1.6.9, 1.6.8, 1.6.7, 1.6.6, 1.6.5, 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.5.22, 1.5.21, 1.5.20, 1.5.19, 1.5.18, 1.5.17, 1.5.16, 1.5.15, 1.5.14, 1.5.13, 1.5.12, 1.5.11, 1.5.10, 1.5.9, 1.5.8, 1.5.7, 1.5.6, 1.5.5, 1.5.4, 1.5.3, 1.5.2, 1.5.1, 1.5.0, 1.4.39, 1.4.38, 1.4.37, flash-with-wbuf-stack, 1.4.36, 1.4.35, 1.4.34, 1.4.33, 1.4.32, 1.4.31, 1.4.30, 1.4.29 |
|
| #
ee461d11 |
| 12-Jul-2016 |
dormando <[email protected]> |
slabs reassigns works with chunks and chunked items.
also fixes the new LRU algorithm to balance by total bytes used rather than total chunks used, since total chunks used isn't tracked for multi-ch
slabs reassigns works with chunks and chunked items.
also fixes the new LRU algorithm to balance by total bytes used rather than total chunks used, since total chunks used isn't tracked for multi-chunk items.
also fixes a bug where the lru limit wasn't being utilized for HOT_LRU
also some cleanup from previous commits.
show more ...
|
| #
6975235c |
| 09-Jul-2016 |
dormando <[email protected]> |
CLRF in binprot was inverted.
now extends data in the chunk rather than overwriting the end.
|
|
Revision tags: 1.4.28 |
|
| #
80ce0108 |
| 27-Jun-2016 |
dormando <[email protected]> |
add get_flushed counter, fix expired_unfetched
get_flushed ticks when directly fetching something that classified as expired. LRU crawler was ticking expired_unfetched for unfetched _flushed_ values
add get_flushed counter, fix expired_unfetched
get_flushed ticks when directly fetching something that classified as expired. LRU crawler was ticking expired_unfetched for unfetched _flushed_ values. should no longer do that.
also removes get_expired from the global stats list. I missed that on review.
show more ...
|
|
Revision tags: 1.4.27 |
|
| #
6e2a9204 |
| 24-Jun-2016 |
dormando <[email protected]> |
bump binary.t
|
|
Revision tags: 1.4.26, 1.4.25, 1.4.24, 1.4.23, 1.4.22, 1.4.21 |
|
| #
83ba6bd9 |
| 03-Sep-2014 |
Jay Grizzard <[email protected]> |
memcached idle connection killer
|
| #
663d39fa |
| 16-Jun-2016 |
dormando <[email protected]> |
misc cleanups for logger code.
tests pass now.
|
| #
6105de18 |
| 29-May-2016 |
dormando <[email protected]> |
update binary test count for get_expired stat
|
| #
8d2b5b48 |
| 19-Nov-2015 |
dormando <[email protected]> |
minor fixes and docs for listen_disabled timer
add a handful of missing stats docs (doh) and shorted the STATS_LOCK a little bit. the rest seems fine.
|
|
Revision tags: 1.4.20, 1.4.19, 1.4.18, 1.4.17, 1.4.16 |
|
| #
a1f269ee |
| 24-Jan-2013 |
Ian Miell <[email protected]> |
Record and report on time spent in listen_disabled
|
| #
c10feb9e |
| 13-Feb-2015 |
dormando <[email protected]> |
Make LRU crawler work from maint thread.
Wasn't sending the condition signal after a refactor :(
Also adds some stats to inspect how much work the LRU crawler is doing, and removes some printf nois
Make LRU crawler work from maint thread.
Wasn't sending the condition signal after a refactor :(
Also adds some stats to inspect how much work the LRU crawler is doing, and removes some printf noise for the LRU maintainer.
show more ...
|
| #
4de89c8c |
| 09-Jan-2015 |
dormando <[email protected]> |
add `-o expirezero_does_not_evict` feature
When enabled, items with an expiration time of 0 are placed into a separate LRU and are not subject to evictions. This allows a mixed-mode instance where y
add `-o expirezero_does_not_evict` feature
When enabled, items with an expiration time of 0 are placed into a separate LRU and are not subject to evictions. This allows a mixed-mode instance where you can have a stronger "guarantee" (not a real guarantee) that items aren't removed from the cache due to low memory.
This is a dangerous option, as mixing unevictable items has obvious repercussions.
show more ...
|
| #
8d6bf78a |
| 09-Jan-2015 |
dormando <[email protected]> |
make HOT/WARM ratios starttime tunable.
runtime tunable is difficult and may require either atomics, or adding an extra items.c array. Adjusting the value would roll through and lock each LRU before
make HOT/WARM ratios starttime tunable.
runtime tunable is difficult and may require either atomics, or adding an extra items.c array. Adjusting the value would roll through and lock each LRU before changing the value.
show more ...
|
| #
a0390847 |
| 05-Jan-2015 |
dormando <[email protected]> |
direct reclaim mode for evictions
Only way to do eviction case fast enough is to inline it, sadly. This finally deletes the old item_alloc code now that I'm not intending on reusing it.
Also remove
direct reclaim mode for evictions
Only way to do eviction case fast enough is to inline it, sadly. This finally deletes the old item_alloc code now that I'm not intending on reusing it.
Also removes the condition wakeup for the background thread. Instead runs on a timer, and meters its aggressiveness by how much shuffling is going on.
Also fixes a segfault in lru_pull_tail(), was unlinking `it` instead of `search`.
show more ...
|
| #
2af4f6e6 |
| 13-Oct-2014 |
dormando <[email protected]> |
rename reflocked + add protocol.txt line
now lrutail_reflocked.. gross but more descriptive. will still make people thing something went wrong, oh well.
|
| #
e31a5912 |
| 17-Apr-2014 |
dormando <[email protected]> |
lru_crawler_tocrawl to limit inspected per run
Since we start from the tail, and some slabs could be many millions of items, it doesn't always make sense to walk the entire thing looking for data to
lru_crawler_tocrawl to limit inspected per run
Since we start from the tail, and some slabs could be many millions of items, it doesn't always make sense to walk the entire thing looking for data to use.
This could be a lot smarter: say specify a percentage, and it'll only crawl a percentage of used_chunks for that slab for instance.
show more ...
|
| #
cb9cafa6 |
| 17-Apr-2014 |
dormando <[email protected]> |
lru_crawler fixups for latest master branch
|
| #
05ca809c |
| 17-Apr-2014 |
dormando <[email protected]> |
Make hash table algorithm selectable
jenkins hash is old. Lets try murmur3 to start! Default is the old one, so people aren't surprised.
|
| #
8818bb69 |
| 10-May-2013 |
theblop <[email protected]> |
Fix for incorrect length of initial value set via binary increment protocol.
|
| #
a2f5ca50 |
| 14-Feb-2013 |
Daniel Pañeda <[email protected]> |
Added parameter to disable flush_all (nice to have on production)
|
| #
032d1f1d |
| 09-Dec-2013 |
dormando <[email protected]> |
Fix tests again..
|
| #
5ce6a38b |
| 09-Dec-2013 |
dormando <[email protected]> |
Some tail_repair_time adjustments
fix t/binary.t test. Default of 3 hours is super overkill. 1 hour is still way too much but within realm of reason. Bail if someone sets it really low (10s or negat
Some tail_repair_time adjustments
fix t/binary.t test. Default of 3 hours is super overkill. 1 hour is still way too much but within realm of reason. Bail if someone sets it really low (10s or negative)
show more ...
|
|
Revision tags: 1.4.15, 1.4.14 |
|
| #
4461fec5 |
| 30-Jul-2012 |
dormando <[email protected]> |
fix some binary.t stuff
I broke 'em earlier
|
| #
7051da93 |
| 30-Jul-2012 |
dormando <[email protected]> |
add a binary touch test that actaully fails
|
|
Revision tags: 1.4.13, 1.4.12 |
|
| #
85db132d |
| 26-Jan-2012 |
Dustin Sallings <[email protected]> |
tests: loop on short binary packet reads
Awesome bug goes like this:
let "c1" be the commit of the "good state" and "c2" be the commit immediately after (in a bad state). "t1" is the state of the
tests: loop on short binary packet reads
Awesome bug goes like this:
let "c1" be the commit of the "good state" and "c2" be the commit immediately after (in a bad state). "t1" is the state of the tree in "c1" and "t2" is the state of the tree in "c2"
In their natural states, we have this:
c1 -> t1 -> success c1 -> t2 -> fail
However, if you take
c1 -> t1 -> patch to t2 -> success c2 -> t2 -> patch to t1 -> fail
So t1 *and* t2 both succeed if the committed tree is c1, but both fail of the committed tree is c2.
The difference? c1 has a tag that points to it so the version number is "1.2.10" whereas the version number for the unreleased c2 is "1.4.10-1-gee486ab" -- a bit longer, breaks stuff in tests that try to print stats.
show more ...
|
|
Revision tags: 1.4.11, 1.4.11-rc1, 1.4.11-beta1 |
|
| #
10698bae |
| 19-Dec-2011 |
dormando <[email protected]> |
slab reassignment
Adds a "slabs reassign src dst" manual command, and a thread to safely process slab moves in the background.
- slab freelist is now a linked list, reusing the item structure - is
slab reassignment
Adds a "slabs reassign src dst" manual command, and a thread to safely process slab moves in the background.
- slab freelist is now a linked list, reusing the item structure - is -o slab_reassign is enabled, an extra background thread is started - thread attempts to safely free up items when it's been told to move a page from one slab to another.
-o slab_automove is stubbed.
There are some limitations. Most notable is that you cannot repeatedly move pages around without first having items use up the memory. Slabs with newly assigned memory work off of a pointer, handing out chunks individually. We would need to change that to quickly split chunks for all newly assigned pages into that slabs freelist.
Further testing is required to ensure such is possible without impacting performance.
show more ...
|