awesomized/libmemcached
16 years agoHard to believe I documented the entire thing... this is a first.
<brian@gir> [Sat, 13 Oct 2007 23:04:08 +0000 (16:04 -0700)] 
Hard to believe I documented the entire thing... this is a first.

We should thank Remedy Tea in Capital Hill who let me drink three pots of
their green tea (which is the only reason I got through all of this).

16 years agoCreated a bigger buffer for write/read.
Brian Aker [Sat, 13 Oct 2007 17:26:52 +0000 (10:26 -0700)] 
Created a bigger buffer for write/read.
set are now more pipelined then perform (roughly 4X faster according to done
in users).

16 years agoRefactor test system to give me times on calling tests (frankly I still need
Brian Aker [Sat, 13 Oct 2007 17:13:30 +0000 (10:13 -0700)] 
Refactor test system to give me times on calling tests (frankly I still need
to refactor the test system a bit more...)

16 years agoRemoved explicit flush from memcached_storage()
Brian Aker [Sat, 13 Oct 2007 07:47:57 +0000 (00:47 -0700)] 
Removed explicit flush from memcached_storage()

16 years agoExtended test system to pin point specific test groups
Brian Aker [Sat, 13 Oct 2007 00:25:26 +0000 (17:25 -0700)] 
Extended test system to pin point specific test groups

16 years agoUpdates to clean server structure.
Brian Aker [Sat, 13 Oct 2007 00:13:33 +0000 (17:13 -0700)] 
Updates to clean server structure.
Addition for wildcard tests.
Fix for multi, aka three, hosts for key reads.

16 years agoThis is a rewrite of some of the IO code to handle larger loads of set data
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.

16 years agoUpdating version numbers
Brian Aker [Thu, 11 Oct 2007 21:56:24 +0000 (14:56 -0700)] 
Updating version numbers

16 years agoFixed strings returned by get to be null terminated (request by Cal
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)

16 years agoFixed for bad call in memcached_behavior.c
Brian Aker [Thu, 11 Oct 2007 21:49:30 +0000 (14:49 -0700)] 
Fixed for bad call in memcached_behavior.c

16 years agoAdded tag 0.5 for changeset 76a1ddcb86f3
Brian Aker [Tue, 9 Oct 2007 07:24:59 +0000 (00:24 -0700)] 
Added tag 0.5 for changeset 76a1ddcb86f3

16 years agoFinal data on version 0.5 0.5
Brian Aker [Tue, 9 Oct 2007 07:24:54 +0000 (00:24 -0700)] 
Final data on version 0.5

16 years agoPutting in revision number for new rpm
Brian Aker [Mon, 8 Oct 2007 20:45:19 +0000 (13:45 -0700)] 
Putting in revision number for new rpm

16 years agoFix for bug in behavior.
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)

16 years agoUpdated for help commands (and a little bit on ketama)
Brian Aker [Mon, 8 Oct 2007 19:57:07 +0000 (12:57 -0700)] 
Updated for help commands (and a little bit on ketama)

16 years agoCleanup of behavior (refactored...)
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....

16 years agoUpdating TODO list
Brian Aker [Sun, 7 Oct 2007 23:12:56 +0000 (16:12 -0700)] 
Updating TODO list

16 years agoRewrote internal connect function to do by demand (aka only open up
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).

16 years agoUpdated return code from memcached_response to send proper return to
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.

16 years agoFinished up memcached_behavior_set/get() method. Tests and examples found in
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.

16 years agoAdded MD5 hashing scheme. Refactored code to allow for more hashing types.
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.

16 years agoFixed test case output
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

16 years agoNull
Brian Aker [Fri, 5 Oct 2007 03:47:50 +0000 (20:47 -0700)] 
Null

16 years agoFound bug in multi get where key size was not being calculated.
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 :)

16 years agoAdded an .hgignore file
Dustin Sallings [Thu, 4 Oct 2007 21:24:58 +0000 (14:24 -0700)] 
Added an .hgignore file

16 years agoFiles are generated with each run, no reason to save them.
Brian Aker [Thu, 4 Oct 2007 19:20:16 +0000 (12:20 -0700)] 
Files are generated with each run, no reason to save them.

16 years agoNew bootstrap script thanks to Jan's lighttd project
Brian Aker [Thu, 4 Oct 2007 19:19:35 +0000 (12:19 -0700)] 
New bootstrap script thanks to Jan's lighttd project

16 years agoSee changes in changelog, but...
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

16 years agoAdded tag 0.4 for changeset 45bd6abd7821
Brian Aker [Wed, 3 Oct 2007 17:32:46 +0000 (10:32 -0700)] 
Added tag 0.4 for changeset 45bd6abd7821

16 years agoReadying for a release 0.4
Brian Aker [Wed, 3 Oct 2007 17:32:40 +0000 (10:32 -0700)] 
Readying for a release

16 years agoFix error causing crash in memslap
Brian Aker [Wed, 3 Oct 2007 17:27:58 +0000 (10:27 -0700)] 
Fix error causing crash in memslap

16 years agoNon-blocking IO :)
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

16 years agoGetting everything ready for non-blocking IO.
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.

16 years agoRemoved bind() call (and I have no idea how that got in there...)
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...)

16 years agoUpdating for larger cache.
Brian Aker [Tue, 2 Oct 2007 04:13:20 +0000 (21:13 -0700)] 
Updating for larger cache.

16 years agoOptimization for read(), we now optimize on buffer size.
Brian Aker [Tue, 2 Oct 2007 01:49:12 +0000 (18:49 -0700)] 
Optimization for read(), we now optimize on buffer size.

16 years agoSwitching to pointer for read (mainly getting ready to do optimization)
Brian Aker [Tue, 2 Oct 2007 01:44:18 +0000 (18:44 -0700)] 
Switching to pointer for read (mainly getting ready to do optimization)

16 years agoAdding buffered IO to reads
Brian Aker [Tue, 2 Oct 2007 01:38:36 +0000 (18:38 -0700)] 
Adding buffered IO to reads

16 years agoAdded buffered IO to write calls
Brian Aker [Tue, 2 Oct 2007 00:04:49 +0000 (17:04 -0700)] 
Added buffered IO to write calls

16 years agoFixing broken memstat application
Brian Aker [Mon, 1 Oct 2007 19:56:49 +0000 (12:56 -0700)] 
Fixing broken memstat application

16 years agoAdded tag 0.3 for changeset 51d5149b2db0
Brian Aker [Mon, 1 Oct 2007 13:45:33 +0000 (06:45 -0700)] 
Added tag 0.3 for changeset 51d5149b2db0

16 years agoUpdates for release 0.3
Brian Aker [Mon, 1 Oct 2007 13:45:27 +0000 (06:45 -0700)] 
Updates for release

16 years agoAddinng missing files (getting old quickly...)
Brian Aker [Mon, 1 Oct 2007 13:26:35 +0000 (06:26 -0700)] 
Addinng missing files (getting old quickly...)

16 years agoMissing hosts file.
Brian Aker [Mon, 1 Oct 2007 13:25:02 +0000 (06:25 -0700)] 
Missing hosts file.
free'ing memory from execute cycle

16 years agoAll *_init() have been changed to _create()
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()

16 years agoUpdates to tools for help and version.
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

16 years agomemcap works, though it does nothing useful at the moment :)
Brian Aker [Sun, 30 Sep 2007 18:05:22 +0000 (11:05 -0700)] 
memcap works, though it does nothing useful at the moment :)

16 years agoAdded/restructured all additional hostname information
Brian Aker [Sun, 30 Sep 2007 17:18:42 +0000 (10:18 -0700)] 
Added/restructured all additional hostname information

16 years agoReworked the generator code into its own files.
Brian Aker [Sat, 29 Sep 2007 18:08:12 +0000 (11:08 -0700)] 
Reworked the generator code into its own files.

16 years agoAdded basic print output.
Brian Aker [Sat, 29 Sep 2007 16:32:32 +0000 (09:32 -0700)] 
Added basic print output.

16 years agoRemoving wrongly commited ifdef.
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.

16 years agoMore udpates to memslap.
Brian Aker [Sat, 29 Sep 2007 16:05:28 +0000 (09:05 -0700)] 
More udpates to memslap.
Fixed protocol error in single get call.

16 years agoAdded parameter to memslap so that key generation can be controlled through
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.

16 years agoFixed memory issues found by new tool memslap.
Brian Aker [Sat, 29 Sep 2007 10:05:40 +0000 (03:05 -0700)] 
Fixed memory issues found by new tool memslap.
Added tool memslap.

16 years agoFix failing issue in memstat
Brian Aker [Sat, 29 Sep 2007 00:16:04 +0000 (17:16 -0700)] 
Fix failing issue in memstat

16 years agoMissing new common.h files (I should really check missing files before committing)
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)

16 years agoAdding miissing file
Brian Aker [Fri, 28 Sep 2007 23:46:08 +0000 (16:46 -0700)] 
Adding miissing file

16 years agoDTrace support
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

16 years agoBunch of fixes related to portability.
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

16 years agoFinished RPM support. You can now type "make rpm" to build an rpm.
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.

16 years agoAdding in spec file, this has not been tested... committing from my Mac :)
<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 :)

16 years agoAdding support for spaces in configure options.
<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!

16 years agoAdded tag 0.2 for changeset 72b98d8bc30e
Brian Aker [Thu, 27 Sep 2007 11:08:31 +0000 (04:08 -0700)] 
Added tag 0.2 for changeset 72b98d8bc30e

16 years agoFinal fixes for 0.2 release 0.2
Brian Aker [Thu, 27 Sep 2007 11:08:26 +0000 (04:08 -0700)] 
Final fixes for 0.2 release

16 years agoFixing make dist
Brian Aker [Thu, 27 Sep 2007 10:52:31 +0000 (03:52 -0700)] 
Fixing make dist

16 years agoUpdating for release
Brian Aker [Thu, 27 Sep 2007 10:51:49 +0000 (03:51 -0700)] 
Updating for release

16 years agoReadjusted a number function names.
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.

16 years agoRemoved all valgrind warning. Thought this error persists and I can not see
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)

16 years agoNEw string type.
<brian@gir.tangent.org> [Wed, 26 Sep 2007 09:34:23 +0000 (02:34 -0700)] 
NEw string type.
Better multi get keysupport.

16 years agoStarted to abstract out the stats calls.
<brian@gir.local> [Tue, 25 Sep 2007 06:13:26 +0000 (08:13 +0200)] 
Started to abstract out the stats calls.

16 years agoMerge Mark's test code.
<brian@gir.local> [Mon, 24 Sep 2007 21:29:39 +0000 (23:29 +0200)] 
Merge Mark's test code.

16 years agoFixed merge
<brian@gir.local> [Mon, 24 Sep 2007 21:21:48 +0000 (23:21 +0200)] 
Fixed merge

16 years agoadd test for longer data, 8K
Mark Atwood [Mon, 24 Sep 2007 20:33:50 +0000 (13:33 -0700)] 
add test for longer data, 8K

16 years agofix bug in calling parse_opt_servers
Mark Atwood [Mon, 24 Sep 2007 20:32:42 +0000 (13:32 -0700)] 
fix bug in calling parse_opt_servers

16 years agofix bug, trying to walk off the end of the argv array
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

16 years agoRewrote return read() to now read exactly character by character.
<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.

16 years agoemit messages to stderr when write fails
Mark Atwood [Sat, 22 Sep 2007 22:46:56 +0000 (15:46 -0700)] 
emit messages to stderr when write fails

16 years agoadd error checking, for command overflow, and short writes
Mark Atwood [Sat, 22 Sep 2007 22:09:03 +0000 (15:09 -0700)] 
add error checking, for command overflow, and short writes

16 years agoremove WATCHPOINTs from memflush tool
Mark Atwood [Sat, 22 Sep 2007 21:28:36 +0000 (14:28 -0700)] 
remove WATCHPOINTs from memflush tool

16 years agoadd memflush tool
Mark Atwood [Sat, 22 Sep 2007 21:24:46 +0000 (14:24 -0700)] 
add memflush tool

16 years agofix bug in handling some single letter command line options
Mark Atwood [Sat, 22 Sep 2007 21:04:08 +0000 (14:04 -0700)] 
fix bug in handling some single letter command line options

16 years agoFixed all warnings in code.
<brian@gir.local> [Sat, 22 Sep 2007 05:26:29 +0000 (07:26 +0200)] 
Fixed all warnings in code.

16 years agoRemoved dumb bug concerning set (was still using a buffer).
<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!)

16 years agobugfixes and formating fixes
Mark Atwood [Fri, 21 Sep 2007 15:14:04 +0000 (08:14 -0700)] 
bugfixes and formating fixes

16 years agofix bug in memcat
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

16 years agoadd error reporting to tools, and link memcached_strerror into library
Mark Atwood [Thu, 20 Sep 2007 20:11:55 +0000 (13:11 -0700)] 
add error reporting to tools, and link memcached_strerror into library

16 years agoMake the --verbose flag do something
Mark Atwood [Thu, 20 Sep 2007 19:44:57 +0000 (12:44 -0700)] 
Make the --verbose flag do something

16 years agoadd single letter command line options
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

16 years agoTest cases now pass
<brian@gir.local> [Thu, 20 Sep 2007 17:18:27 +0000 (19:18 +0200)] 
Test cases now pass

16 years agoMemory leak fixed.
Brian Aker [Thu, 20 Sep 2007 13:59:52 +0000 (06:59 -0700)] 
Memory leak fixed.

16 years agoCleanup.
<brian@gir.local> [Wed, 19 Sep 2007 15:56:14 +0000 (17:56 +0200)] 
Cleanup.

16 years agoAdding memstat framework.
<brian@gir.local> [Wed, 19 Sep 2007 13:00:48 +0000 (15:00 +0200)] 
Adding memstat framework.
Rewrote server parsing routines.

16 years agoadd memrm tool
Mark Atwood [Wed, 19 Sep 2007 12:29:25 +0000 (05:29 -0700)] 
add memrm tool

16 years agonow memcp uses --set, --add, --replace
Mark Atwood [Wed, 19 Sep 2007 12:16:17 +0000 (05:16 -0700)] 
now memcp uses --set, --add, --replace

16 years agofix to dont lose the last item on the command line
Mark Atwood [Wed, 19 Sep 2007 12:06:52 +0000 (05:06 -0700)] 
fix to dont lose the last item on the command line

16 years agofix some typos
Mark Atwood [Wed, 19 Sep 2007 12:02:09 +0000 (05:02 -0700)] 
fix some typos

16 years agoadd options to memcp, fix options in memcat
Mark Atwood [Wed, 19 Sep 2007 11:59:23 +0000 (04:59 -0700)] 
add options to memcp, fix options in memcat

16 years agoimplement --flags for memcat, display flags instead of content
Mark Atwood [Wed, 19 Sep 2007 10:15:23 +0000 (03:15 -0700)] 
implement --flags for memcat, display flags instead of content

16 years agoparse --servers option
Mark Atwood [Wed, 19 Sep 2007 10:09:51 +0000 (03:09 -0700)] 
parse --servers option

16 years agoMerge from Mark's code. Modified memcat to use enum for options.
<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.