| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
there were two race conditions in the incr/decr binary protocol handler. One
was the original "fetches item outside of add_delta", and the second was in
the initializer.
I went for the quick fix by changing the semantics of the store request to be
an ADD instead of a SET, so if someone beat them in that very narrow race the
request simply bounces. Not perfect but this is an improvement and good enough
for now.
|
|
|
|
|
| |
binprot requires more work, since it touches CAS and also has a race for
initializing a missed incr.
|
|
|
|
|
|
|
| |
Failed to use a local udp_port variable that can be derived from two
different settings properties.
(revealed with -Werror=unused-but-set-variable)
|
|
|
|
|
| |
Assertion is no-longer needed after a conversion from sprintf() to
snprintf().
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
ChangeLog is no longer being updated and no one wants to maintain it.
This patch adds an entry to the ChangeLog that redirect the users to
the ReleaseNotes on the wiki.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The errors below are due to pointer magic that isn't allowed if following C
strict-aliasing rules:
memcached.c: In function ‘complete_incr_bin’:
memcached.c:1023:16: error: dereferencing type-punned pointer will break
strict-aliasing rules
memcached.c:1044:13: error: dereferencing type-punned pointer will break
strict-aliasing rules
memcached.c:1061:17: error: dereferencing type-punned pointer will break
strict-aliasing rules
Fix this by introducing a union type that allows access to the uint64_t
member as necessary, but doesn't add any additional length to the structure.
The size remains the same before and after; the only difference is explict
casts are now refactored into union member accesses and all compilers should
be happy.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
|
|
|
|
|
|
|
| |
We can use memset, unlike what the previous comment said, because this is a
one-time allocated thread_stats struct that doesn't actually use the mutex
for anything. This simplifies the setup code a decent amount and makes one
fewer place where things need to be added if a new stat is introduced.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
|
|
| |
Signed-off-by: Dan McGee <dan@archlinux.org>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--enable-sasl-pwdb allows memcached to use it's own password file and
verify a plaintext password.
The file is specified with the environment variable
MEMCACHED_SASL_PWDB, and is a plain text file with the following
syntax:
username:password
Please note that you have to specify "mech_list: plain" in your sasl
config file for this to work.
Ex:
echo "mech_list: plain" > memcached.conf
echo "myname:mypass" > /tmp/memcached-sasl-db
export MEMCACHED_SASL_PWDB=/tmp/memcached-sasl-db
export SASL_CONF_PATH=`pwd`/memcached.conf
./memcached -S -v
and you should be able to use your favorite memcached client with sasl
support to connect to the server.
(Please note that not all SASL implementations support
SASL_CB_GETCONF, so you may have to install the sasl config
(memcached.conf) to the systemwide location)
|
| |
|
| |
|
|
|
|
|
|
| |
RedHat 5.4 (and CentOS) ship with 2.59 which doesn't have the
AC_PROG_CC_C99 macro necessary for detecting C99 flags for the
compiler.
|
|
|
|
|
| |
This counts then number of times an expired object was reclaimed to
store a new item.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This change covers the case where a reply is requested. A separate,
more complicated change mixes in noreplys and 0 duration deletes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Added basic sasl stats and tests for whether or not those stats
return the expected values. The preferred method would be to reauth
but that is not expected to currently work because of how the underlying
sasl library works. Instead, the test is dependent upon what has happened
earlier with other tests.
The name for the stat includes the suffix of _sasl because there may
some day be an option for other types of authentication.
|
|
|
|
|
|
|
|
| |
Two new stats, auth_cmds and auth_unknowns have been added to allow
end users to track how often authentications commands are submitted
and when they "fail". Successes can be calculated by clients.
Rename to auth_errors and add to protocol.txt.
|
| |
|
|
|
|
|
|
|
|
|
| |
Some C compilers understand the syntax we use in memcached, but do not
ship stdbool.h or stdint.h. According to C99 inttypes.h contains the
formatting macros we use (PRInn) and is supposed to include stdint.h.
This patch tries to detect stdbool.h and inttypes.h and tries to
include them from config.h
|
| |
|
| |
|
| |
|
|
|
|
|
| |
issue #98 is about how our specfiles for rc's aren't upgradeable.
Now they should be.
|
| |
|
|
|
|
| |
http://code.google.com/p/memcached/wiki/MemoryManagement
|
|
|
|
|
|
|
|
|
|
|
| |
The documentation stated that memory allocation was always in chunks
of 1MB. In practice, this gets less effecient as you get into larger
slabs.
The 1MB thing (which can be controlled by -I) is both the maximum size
and allocation unit so a single allocate event will attempt to get as
many items for a particular slab as it can as long as the allocation
itself doesn't exceed the maximum item size.
|
|
|
|
|
|
|
|
| |
This can potentially use a lot of memory on a host and some of the
build slaves don't like that too much.
It will run everywhere by default, but may be disabled by setting the
SKIP_TEST_101 environment variable.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Re Colin:
"When using a growth factor smaller than 2.0, the normal growth stops once
the chunk size reach half the page size (1 MB by default)."
This adds two more slab classes by default, but makes memcached a little
more efficient for larger values. This will create a *lot* more slabs if
you are increasing the page limit via -I
However, if you're lowering the memory limit, this helps keep things
efficient.
-Dormando
|
| |
|