| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
delete the magic logging and require mcp.log_req* be used if you want
those types of entries to appear. keeps a separate data stream from
"proxyuser" just in case that's useful.
proxycmds wasn't able to get enough context to autogenerate useful log
lines, so I'd rather not have it in there at all.
|
|
|
|
|
|
| |
allows tests to run faster, let users make it sleep longer/less time.
Also cuts the sleep time down when actively compacting and coming from
high idle.
|
|
|
|
|
|
|
| |
adds watch commands for:
proxycmds - internal raw timing log (tbd?)
proxyevents - config updates, internal errors, etc
proxyuser - logs generated by mcp.log()
|
|
|
|
|
|
| |
this is effectively the size limit of a request... should raise to 4 or
8k but need to more carefully check how rbuf behaves. I think 4k should
be safe but 8k might not due to command alignment issues.
|
|
|
|
| |
see doc/protocol.txt
|
|
|
|
| |
compared cas token was always zero...
|
|
|
|
|
|
|
| |
This should now align with the binary protocol. It might make sense for
this to return the _current_ CAS value of the underlying item in the
cases of EX... binprot does not currently do this, and the storage code
is shared between binary and text so I can't change them independently.
|
|
|
|
|
|
| |
Add two new stat keys, `store_too_large` and `store_no_memory`, to track
occurrences of storage request rejections due to writing too large of a
value and writing beyond available provisioned memory, respectively.
|
|
|
| |
Fixing 'bugs' of the pattern: 'assert(ptr != 0)' after 'ptr' was already dereferenced
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See BUILD for compilation details.
See t/startfile.lua for configuration examples.
(see also https://github.com/memcached/memcached-proxylibs for
extensions, config libraries, more examples)
NOTE: io_uring mode is _not stable_, will crash.
As of this commit it is not recommended to run the proxy in production.
If you are interested please let us know, as we are actively stabilizing
for production use.
|
|
|
|
|
|
|
|
| |
Add support for `watch connevents` to report opened (`conn_new`)
and closed (`conn_close`) client connections. Event log lines indicate
the connection's remote IP, remote port, and transport type.
`conn_close` events additionally supply a reason for the closing the
connection.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I had the response code as "HD" in the past, but standardized on OK
while merging a number of "OK-like" rescodes together. This was a
mistake; as many "generic" memcached response codes use "OK". Most of
these are management or specialized uncommon commands.
With this, a client response parser can know for sure if a response is
to a meta command, or some other command.
`-o meta_response_old` starttime option has been added, valid for the
next 3 months, which switches the response code back from HD to OK. In
case any existing users depended on this and need time to migrate.
|
|
|
|
|
|
|
| |
payload length is now part of the main command rather than a flag/token
pair. This allows byte swallow to be more reliable in the case of a flag
parsing error, and makes sets easier to parse and buffer for servers
implementing the protocol.
|
|
|
|
|
|
|
| |
allows returning cas value of the new item on set.
also fixes an extra space that was tagged onto the response line. which
I had not noticed because all of the tests were looking for a space
after the response line :( Bad copypasta from the metaget tests.
|
| |
|
| |
|
|
|
|
|
| |
ie: ms [key] b
if 'k' flag is given and key is binary, returns as binary encoded.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
extstore.h is now only used from storage.c. starting a path towards
getting the storage interface to be more generalized.
should be no functional changes.
|
|
|
|
| |
also some missed text bits.
|
|
export a lot of the connection handling code from memcached.c
|