Subject: CVS commit: pkgsrc/devel/memcached
From: Filip Hajny
Date: 2017-11-14 15:13:52
Message id:

Log Message:
Update devel/memcached to 1.5.3.


- Add warning about time on very low TTL's in doc/protocol.txt
- pledge privdropping support for OpenBSD
- make for loop more clear in logger watcher
- fix theoretical leak in process_bin_stat
- fix use of unitialized array in lru_maintainer
- -o no_hashexpand to disable hash table expansion
- fix chunked items set in binprot, read from ascii

New Features
- adds get and touch command for ascii protocol


- fix more binary protocol documentation errors.
- fix segfault during 31b -> 32b hash table expand
- don't create hashtables larger than 32bit
- some non-user-facing code changes for supporting future features.


- add max_connections stat to 'stats' output
- Drop sockets from obviously malicious command strings (HTTP/)
- stats cachedump: now more likely to show data
- memcached-tool: fix slab Full? column
- fix null pointer ref in logger for bin update cmd
- default to unix sockets for tests, make them much less flaky
- PARALLEL=9 make test -> runs prove in parallel
- fix flaky stats.t test

New Features
- --enable-seccomp compiles in options for strict privilege reduction
  in linux. see output of -h for more information.


- fix for musl libc: avoid huge stack allocation

New Features
- LRU crawler to background-reclaim memory. Mixed-TTL's and LRU
  reordering leaves many holes, making it difficult to properly size
  an instance.
- Segmented LRU. HOT/WARM/COLD and background processing should try
  harder to keep semi-active items in memory for longer.
- Automated slab rebalancing. Avoiding slab stagnation as objects
  change size over time.
- Faster hash table lookups with murmur3 algorithm (though it's been
  so long this is now outdated again;)
- Reduce memory requirements per-item by a few bytes here and there
- Immediately close connections when hitting the connection limit,
  instead of hanging until a spot opens up.
- Items larger than 512k (by default) are assembled by stacking
  multiple chunks together. Now raising the item size above 1m doesn't
  drop memory efficiency by spreading out slab classes.


- fix for CVE-2017-9951
- save four bytes per item if client flags are 0

New Features
- If client flags are "0", no extra storage is used.


- hot_max_age is now hot_max_factor - HOT is now limited to 20% of
  COLD's age or 20% of total space, whichever comes first.
- sleep longer between slab move runs (1ms instead of 50us)
- automove script: improve algo, add basic test
- slab_rebal: delete busy items if stuck
- fix LRU maintainer thread slowdown in edge case
- fix rare long background thread pause in hash expansion


- LRU crawler: avoid running infinitely.
- fix very old memory leak in ASCII multigets. (when using multiget
  gets and keys after the first one are >255 characters)
- remove old slab mover example script.
- fix crash in page mover while using large items
- automover algo python script
- avoid segfault if idle_timeout value is missing.
- fix rare crash in LRU crawler
- sleep more aggressively in some threads
- don't overflow item refcount on get
- fix solaris compilation error
- usability fix for cache_memlimit command
- fix verbose print for idle-kicker
- disable refhang.t test due to flakiness
- fix ordering issue in conn dispatch (prevents potential hangups)

New Features
- LRU crawler scheduling improvements


- Fix refcount leak in LRU bump buf


- init.d script status check routine
- Print with more-restricted format string to fix compiler warning
  with gcc 7's -Wformat-truncation.
- Display HOT/WARM tail age in stats items
- Active items in HOT' flow to WARM (algorithm fix)
- Moves to WARM requires two hits overall (algorithm fix)
- LRU maintainer performance: per-class sleep scheduling
- Allow limiting the internal LRU crawler run length
- Stop using atomics for item refcount management (performance)
- Make the conn suffix list the same as item list (performance)
- Do LRU-bumps while already holding item lock (performance)
- Reduce add_iov() work for TCP connections (performance)

New Features
- "lru" command for setting LRU parameters at runtime
- Allow switching LRU algo's at runtime