tag name | v0.2.0 (76e40313ee66d1cc70a5dea7d41e85f734b85014) |
tag date | 2012-03-17 23:36:54 +0000 |
tagged by | Eric Wong <normalperson@yhbt.net> |
tagged object | commit 59f429bdd3... |
download | cmogstored-0.2.0.tar.gz |
---|
cmogstored 0.2.0 - continual improvements
* Graceful shutdown support (via SIGQUIT). This prevents process termination from breaking outstanding requests but will drop idle, persistent HTTP connections. cmogstored stops accepting new connections ASAP, so it's possible to start a new cmogstored process (or switch back to regular Perl mogstored) almost immediately after sending SIGQUIT. * PUT creates missing directories (except for the toplevel, like mogstored). MKCOL is now disabled, as forcing PUT to create missing directories speeds up "create_close" in MogileFS as the tracker no longer has to ensure directories exist. * Active clients have thread affinity, this prevents per-client data structures from ping-ponging between cores and caches. Idle clients that become active still retain the ability to migrate to _any_ idle thread and stay on it as long as it's active and there are free threads for other clients. * MD5 + fsck scheduling improvements for checksums testers. This limits fsck MD5 requests to one per-device. A similar patch is also included with the proposed checksum extensions to MogileFS. On Linux systems using the CFQ I/O scheduler, we drop the IO priority temporarily in an effort to prevent fsck traffic from impacting normal traffic. * Removed hard-to-test/support ENOSYS fallback support. Building cmogstored is easy, so fully-supporting ENOSYS fallbacks is too much maintenance/testing overhead. * PUT uses a temporary file so incomplete files are not left on the filesystem. Likewise, Content-MD5 rejections won't leave files on the filesystem, either. There are also some experimental features (not in Perl mogstored) documented only in git commit messages. These features which may be removed, changed, or renamed in the future. See "git log" for full details and rely on them at your own risk.