Brian Aker [Fri, 12 Oct 2007 08:46:27 +0000 (01:46 -0700)]
This is a rewrite of some of the IO code to handle larger loads of set data
on concurrent insert with non-blocking IO.
A bug was also uncovered where the read bufffers for multiple hosts were not
being read (all code has been refactored for that now).
One user contributed test case has been added.
Brian Aker [Thu, 11 Oct 2007 21:56:24 +0000 (14:56 -0700)]
Updating version numbers
Brian Aker [Thu, 11 Oct 2007 21:55:37 +0000 (14:55 -0700)]
Fixed strings returned by get to be null terminated (request by Cal
Heldenbrand)
Brian Aker [Thu, 11 Oct 2007 21:49:30 +0000 (14:49 -0700)]
Fixed for bad call in memcached_behavior.c
Brian Aker [Tue, 9 Oct 2007 07:24:59 +0000 (00:24 -0700)]
Added tag 0.5 for changeset
76a1ddcb86f3
Brian Aker [Tue, 9 Oct 2007 07:24:54 +0000 (00:24 -0700)]
Final data on version 0.5
Brian Aker [Mon, 8 Oct 2007 20:45:19 +0000 (13:45 -0700)]
Putting in revision number for new rpm
Brian Aker [Mon, 8 Oct 2007 20:44:31 +0000 (13:44 -0700)]
Fix for bug in behavior.
Added tests for most of the command line apps (not much of a test... but it
is a start)
Brian Aker [Mon, 8 Oct 2007 19:57:07 +0000 (12:57 -0700)]
Updated for help commands (and a little bit on ketama)
Brian Aker [Sun, 7 Oct 2007 23:47:09 +0000 (16:47 -0700)]
Cleanup of behavior (refactored...)
I am still using two enum... why? Trying to keep people fromm touching the
main interface. I don't have to do this though....
Brian Aker [Sun, 7 Oct 2007 23:12:56 +0000 (16:12 -0700)]
Updating TODO list
Brian Aker [Sun, 7 Oct 2007 23:09:57 +0000 (16:09 -0700)]
Rewrote internal connect function to do by demand (aka only open up
connections as we need them).
Found a bug in stats where we were hardcoding the serer key (which
ended up a a hang when requesting stats).
Brian Aker [Sun, 7 Oct 2007 21:39:58 +0000 (14:39 -0700)]
Updated return code from memcached_response to send proper return to
memcached_stats().
Fixed memcached_stat to report accurate values.
Brian Aker [Sun, 7 Oct 2007 20:43:31 +0000 (13:43 -0700)]
Finished up memcached_behavior_set/get() method. Tests and examples found in
test.c under behavior test.
Brian Aker [Fri, 5 Oct 2007 04:37:44 +0000 (21:37 -0700)]
Added MD5 hashing scheme. Refactored code to allow for more hashing types.
Brian Aker [Fri, 5 Oct 2007 04:04:17 +0000 (21:04 -0700)]
Fixed test case output
Remove unwanted WATCHPOINT
Started work for md5 hash'ing
Move around a couple of defines to keep people from using them
Brian Aker [Fri, 5 Oct 2007 03:47:50 +0000 (20:47 -0700)]
Null
Brian Aker [Fri, 5 Oct 2007 03:47:17 +0000 (20:47 -0700)]
Found bug in multi get where key size was not being calculated.
All mem commands can now used environmental variable MEMCACHED_SERVERS to
get a list of servers they should be commincating with.
server parse string method was removed from utilities and added to main
library. Its a little to handy not to have it in the library :)
Dustin Sallings [Thu, 4 Oct 2007 21:24:58 +0000 (14:24 -0700)]
Added an .hgignore file
Brian Aker [Thu, 4 Oct 2007 19:20:16 +0000 (12:20 -0700)]
Files are generated with each run, no reason to save them.
Brian Aker [Thu, 4 Oct 2007 19:19:35 +0000 (12:19 -0700)]
New bootstrap script thanks to Jan's lighttd project
Brian Aker [Thu, 4 Oct 2007 15:15:24 +0000 (08:15 -0700)]
See changes in changelog, but...
1) memslap --flush option
2) support for no_tcpdelay (though I don't find this to be faster)
3) More tests
Brian Aker [Wed, 3 Oct 2007 17:32:46 +0000 (10:32 -0700)]
Added tag 0.4 for changeset
45bd6abd7821
Brian Aker [Wed, 3 Oct 2007 17:32:40 +0000 (10:32 -0700)]
Readying for a release
Brian Aker [Wed, 3 Oct 2007 17:27:58 +0000 (10:27 -0700)]
Fix error causing crash in memslap
Brian Aker [Wed, 3 Oct 2007 17:03:48 +0000 (10:03 -0700)]
Non-blocking IO :)
Quit has also been modified to do an actual quit in cases where we need to
flush out any remaining write buffers.
Test system was refactored to make it a bit friendlier...
[brian@zim src]$ ./memslap --concurrency=5 --execute-number=5000 --initial-load=1 --non-blocking --servers=localhost --test=set
Threads connecting to servers 5
Took 10.252 seconds to load data
[brian@zim src]$ ./memslap --concurrency=5 --execute-number=5000 --initial-load=1 --servers=localhost --test=set
Threads connecting to servers 5
Took 200.373 seconds to load data
Brian Aker [Tue, 2 Oct 2007 23:52:14 +0000 (16:52 -0700)]
Getting everything ready for non-blocking IO.
Everything in library now goes through memcached_response()
New memcached_behavior_set() was written so that you can
adjust how the library works.
Brian Aker [Tue, 2 Oct 2007 15:00:46 +0000 (08:00 -0700)]
Removed bind() call (and I have no idea how that got in there...)
Brian Aker [Tue, 2 Oct 2007 04:13:20 +0000 (21:13 -0700)]
Updating for larger cache.
Brian Aker [Tue, 2 Oct 2007 01:49:12 +0000 (18:49 -0700)]
Optimization for read(), we now optimize on buffer size.
Brian Aker [Tue, 2 Oct 2007 01:44:18 +0000 (18:44 -0700)]
Switching to pointer for read (mainly getting ready to do optimization)
Brian Aker [Tue, 2 Oct 2007 01:38:36 +0000 (18:38 -0700)]
Adding buffered IO to reads
Brian Aker [Tue, 2 Oct 2007 00:04:49 +0000 (17:04 -0700)]
Added buffered IO to write calls
Brian Aker [Mon, 1 Oct 2007 19:56:49 +0000 (12:56 -0700)]
Fixing broken memstat application
Brian Aker [Mon, 1 Oct 2007 13:45:33 +0000 (06:45 -0700)]
Added tag 0.3 for changeset
51d5149b2db0
Brian Aker [Mon, 1 Oct 2007 13:45:27 +0000 (06:45 -0700)]
Updates for release
Brian Aker [Mon, 1 Oct 2007 13:26:35 +0000 (06:26 -0700)]
Addinng missing files (getting old quickly...)
Brian Aker [Mon, 1 Oct 2007 13:25:02 +0000 (06:25 -0700)]
Missing hosts file.
free'ing memory from execute cycle
Brian Aker [Mon, 1 Oct 2007 13:22:03 +0000 (06:22 -0700)]
All *_init() have been changed to _create()
and _deinit() have been changed to _free()
Brian Aker [Mon, 1 Oct 2007 13:15:52 +0000 (06:15 -0700)]
Updates to tools for help and version.
memslap can now do useful things :)
An example:
./memslap --server=localhost --initial-load=50 --execute-number=100 --concurrency=30
Threads connecting to servers 30
Took 1.340 seconds to load data
Took 1.340 seconds to read data
Brian Aker [Sun, 30 Sep 2007 18:05:22 +0000 (11:05 -0700)]
memcap works, though it does nothing useful at the moment :)
Brian Aker [Sun, 30 Sep 2007 17:18:42 +0000 (10:18 -0700)]
Added/restructured all additional hostname information
Brian Aker [Sat, 29 Sep 2007 18:08:12 +0000 (11:08 -0700)]
Reworked the generator code into its own files.
Brian Aker [Sat, 29 Sep 2007 16:32:32 +0000 (09:32 -0700)]
Added basic print output.
Brian Aker [Sat, 29 Sep 2007 16:06:29 +0000 (09:06 -0700)]
Removing wrongly commited ifdef.
Grrrrr.... if I call quit, then mecurial should abort commits.
Brian Aker [Sat, 29 Sep 2007 16:05:28 +0000 (09:05 -0700)]
More udpates to memslap.
Fixed protocol error in single get call.
Brian Aker [Sat, 29 Sep 2007 10:17:32 +0000 (03:17 -0700)]
Added parameter to memslap so that key generation can be controlled through
parameters.
Brian Aker [Sat, 29 Sep 2007 10:05:40 +0000 (03:05 -0700)]
Fixed memory issues found by new tool memslap.
Added tool memslap.
Brian Aker [Sat, 29 Sep 2007 00:16:04 +0000 (17:16 -0700)]
Fix failing issue in memstat
Brian Aker [Fri, 28 Sep 2007 23:48:13 +0000 (16:48 -0700)]
Missing new common.h files (I should really check missing files before committing)
Brian Aker [Fri, 28 Sep 2007 23:46:08 +0000 (16:46 -0700)]
Adding miissing file
Brian Aker [Fri, 28 Sep 2007 23:41:07 +0000 (16:41 -0700)]
DTrace support
Refactored to use config built for application
Fixed test case push
Brian Aker [Fri, 28 Sep 2007 20:52:44 +0000 (13:52 -0700)]
Bunch of fixes related to portability.
Also reworked code to use send/recv over write/read.
More logic in get_test3test case
Brian Aker [Fri, 28 Sep 2007 16:35:52 +0000 (09:35 -0700)]
Finished RPM support. You can now type "make rpm" to build an rpm.
<brian@gir.tangent.org> [Fri, 28 Sep 2007 15:49:07 +0000 (08:49 -0700)]
Adding in spec file, this has not been tested... committing from my Mac :)
<brian@gir.tangent.org> [Thu, 27 Sep 2007 22:28:41 +0000 (15:28 -0700)]
Adding support for spaces in configure options.
Fixed issue with wrong pointer leading to connecting to wrong server!
Brian Aker [Thu, 27 Sep 2007 11:08:31 +0000 (04:08 -0700)]
Added tag 0.2 for changeset
72b98d8bc30e
Brian Aker [Thu, 27 Sep 2007 11:08:26 +0000 (04:08 -0700)]
Final fixes for 0.2 release
Brian Aker [Thu, 27 Sep 2007 10:52:31 +0000 (03:52 -0700)]
Fixing make dist
Brian Aker [Thu, 27 Sep 2007 10:51:49 +0000 (03:51 -0700)]
Updating for release
Brian Aker [Thu, 27 Sep 2007 10:45:48 +0000 (03:45 -0700)]
Readjusted a number function names.
Added the memstat utility (well... not it does something)
Some, though not enough, testing for multiple servers.
Brian Aker [Thu, 27 Sep 2007 06:56:53 +0000 (23:56 -0700)]
Removed all valgrind warning. Thought this error persists and I can not see
how it true:
==7225== Conditional jump or move depends on uninitialised value(s)
==7225== at 0x4C0AB6C: memcached_value_fetch (memcached_get.c:64)
==7225== by 0x4C0B0CB: memcached_get (memcached_get.c:138)
==7225== by 0x40144B: get_test2 (test.c:160)
==7225== by 0x4018B4: main (test.c:383)
<brian@gir.tangent.org> [Wed, 26 Sep 2007 09:34:23 +0000 (02:34 -0700)]
NEw string type.
Better multi get keysupport.
<brian@gir.local> [Tue, 25 Sep 2007 06:13:26 +0000 (08:13 +0200)]
Started to abstract out the stats calls.
<brian@gir.local> [Mon, 24 Sep 2007 21:29:39 +0000 (23:29 +0200)]
Merge Mark's test code.
<brian@gir.local> [Mon, 24 Sep 2007 21:21:48 +0000 (23:21 +0200)]
Fixed merge
Mark Atwood [Mon, 24 Sep 2007 20:33:50 +0000 (13:33 -0700)]
add test for longer data, 8K
Mark Atwood [Mon, 24 Sep 2007 20:32:42 +0000 (13:32 -0700)]
fix bug in calling parse_opt_servers
Mark Atwood [Mon, 24 Sep 2007 20:30:55 +0000 (13:30 -0700)]
fix bug, trying to walk off the end of the argv array
<brian@gir.local> [Mon, 24 Sep 2007 16:15:15 +0000 (18:15 +0200)]
Rewrote return read() to now read exactly character by character.
First version of multi key get has been added. It is...lame... but it works. I
will rewrite it to not call malloc each time, but instead clean up on its own.
Mark Atwood [Sat, 22 Sep 2007 22:46:56 +0000 (15:46 -0700)]
emit messages to stderr when write fails
Mark Atwood [Sat, 22 Sep 2007 22:09:03 +0000 (15:09 -0700)]
add error checking, for command overflow, and short writes
Mark Atwood [Sat, 22 Sep 2007 21:28:36 +0000 (14:28 -0700)]
remove WATCHPOINTs from memflush tool
Mark Atwood [Sat, 22 Sep 2007 21:24:46 +0000 (14:24 -0700)]
add memflush tool
Mark Atwood [Sat, 22 Sep 2007 21:04:08 +0000 (14:04 -0700)]
fix bug in handling some single letter command line options
<brian@gir.local> [Sat, 22 Sep 2007 05:26:29 +0000 (07:26 +0200)]
Fixed all warnings in code.
<brian@gir.local> [Sat, 22 Sep 2007 04:14:02 +0000 (06:14 +0200)]
Removed dumb bug concerning set (was still using a buffer).
Cleanup method for string
Moved from send to write.
More enum (raw numbers bad!)
Mark Atwood [Fri, 21 Sep 2007 15:14:04 +0000 (08:14 -0700)]
bugfixes and formating fixes
Mark Atwood [Thu, 20 Sep 2007 20:15:30 +0000 (13:15 -0700)]
fix bug in memcat
would only retrieve the last item on the command line
Mark Atwood [Thu, 20 Sep 2007 20:11:55 +0000 (13:11 -0700)]
add error reporting to tools, and link memcached_strerror into library
Mark Atwood [Thu, 20 Sep 2007 19:44:57 +0000 (12:44 -0700)]
Make the --verbose flag do something
Mark Atwood [Thu, 20 Sep 2007 19:13:16 +0000 (12:13 -0700)]
add single letter command line options
-V for --version
-h for --help
-v for --verbose
-d for --debug
-s for --servers
<brian@gir.local> [Thu, 20 Sep 2007 17:18:27 +0000 (19:18 +0200)]
Test cases now pass
Brian Aker [Thu, 20 Sep 2007 13:59:52 +0000 (06:59 -0700)]
Memory leak fixed.
<brian@gir.local> [Wed, 19 Sep 2007 15:56:14 +0000 (17:56 +0200)]
Cleanup.
<brian@gir.local> [Wed, 19 Sep 2007 13:00:48 +0000 (15:00 +0200)]
Adding memstat framework.
Rewrote server parsing routines.
Mark Atwood [Wed, 19 Sep 2007 12:29:25 +0000 (05:29 -0700)]
add memrm tool
Mark Atwood [Wed, 19 Sep 2007 12:16:17 +0000 (05:16 -0700)]
now memcp uses --set, --add, --replace
Mark Atwood [Wed, 19 Sep 2007 12:06:52 +0000 (05:06 -0700)]
fix to dont lose the last item on the command line
Mark Atwood [Wed, 19 Sep 2007 12:02:09 +0000 (05:02 -0700)]
fix some typos
Mark Atwood [Wed, 19 Sep 2007 11:59:23 +0000 (04:59 -0700)]
add options to memcp, fix options in memcat
Mark Atwood [Wed, 19 Sep 2007 10:15:23 +0000 (03:15 -0700)]
implement --flags for memcat, display flags instead of content
Mark Atwood [Wed, 19 Sep 2007 10:09:51 +0000 (03:09 -0700)]
parse --servers option
<brian@gir.local> [Wed, 19 Sep 2007 09:55:18 +0000 (11:55 +0200)]
Merge from Mark's code. Modified memcat to use enum for options.
<brian@gir.local> [Wed, 19 Sep 2007 09:30:17 +0000 (11:30 +0200)]
Updates to all applications. New memcp and have fixed minor issue with memcat.
Mark Atwood [Wed, 19 Sep 2007 09:17:32 +0000 (02:17 -0700)]
getopt_long added to src/memcat.c
<brian@gir.local> [Wed, 19 Sep 2007 08:14:19 +0000 (10:14 +0200)]
Adding simple memcat application.
<brian@gir.local> [Wed, 19 Sep 2007 05:22:03 +0000 (07:22 +0200)]
Increment and decrement now works.
Multi host support added.
New code for stats (and we now fetch stats array)
Further library split.
<brian@gir.local> [Tue, 18 Sep 2007 15:11:51 +0000 (17:11 +0200)]
Change hosts over to realloc array
<brian@gir.local> [Tue, 18 Sep 2007 13:04:46 +0000 (15:04 +0200)]
Small cleanups for design of some functions that will work with cluster.