Граф коммитов

436 Коммитов

Автор SHA1 Сообщение Дата
ccocchi a24da268ce Add exist? to benchmark 2012-09-06 18:39:55 +02:00
ccocchi 1845a64506 Revert benchmark changes 2012-09-05 14:52:52 +02:00
ccocchi 44c7532bb4 Add exist method to memcached client.
Add corresponding tests
2012-09-04 10:46:27 +02:00
ccocchi 8b8fd6ee29 Test to add memcached_exist 2012-09-03 05:06:43 +02:00
grosser df39f42fd3 add clear to rails 2012-07-10 15:18:38 -07:00
grosser d1addd2203 add read_multi for rails 2012-07-10 14:43:37 -07:00
Evan Weaver 9424171e18 Merge pull request #91 from grosser/fetch
add fetch
2012-07-05 11:33:00 -07:00
grosser 2bad783a7c add fetch 2012-07-04 22:06:21 -07:00
grosser a195c508df support expires_in in rails 2012-07-04 21:28:35 -07:00
Tom Hughes 43d9863d60 Return the augmented array from servers
Calling server_structs a second time returns a fresh array which
hasn't had the alive? methods added... Also add a test to make sure
the alive? method is working.
2012-02-27 00:22:24 +00:00
Evan Weaver 91e214536b Update benchmarks. Fix bug with setting just one server. 2012-02-26 10:57:42 -08:00
Evan Weaver 1b38c7057c Various fixes. 2012-02-26 10:25:32 -08:00
Tom Hughes d40ca2caf8 Convert TTL values to integer when they are duration objects
In typical rails usage writing 7.days for an expiry will lead to
the TTL value being an ActiveSupport::Duration object.
2012-02-26 15:19:27 +00:00
Tom Hughes e9fb12e5dd Add servers method to Memcached::Rails compatibility wrapper
Memcached::Rails was falling back to the Memcached version of servers
which just returns a host:port:weight tuple, while rails expects to get
an array of server objects which support various methods.
2012-02-26 14:30:31 +00:00
Tom Hughes cab1fa941b Add active? method to Memcached::Rails compatibility wrapper 2012-02-26 14:30:31 +00:00
Greg Campbell 3bc475ec6c Handle unexpected return codes
Previously, these would throw a TypeError because of an attempt to raise
nil, which was a little confusing. This implementation should make them
easier to track.
2011-12-06 14:59:06 -08:00
Evan Weaver 11932d0219 No ruby-debug on JRuby. 2011-10-16 10:40:41 -07:00
Evan Weaver 0995dcd134 Require ffi/times on JRuby. 2011-09-23 14:39:54 -07:00
Evan Weaver 2cc84ad777 Everyone gets a JIT dry run. 2011-09-23 03:39:54 -07:00
Evan Weaver b4cdcd4f7a More loops. 2011-09-23 03:32:35 -07:00
Evan Weaver e876670bd1 Get the GC back out of there. 2011-09-23 03:30:03 -07:00
Evan Weaver 6f630e006c Force native JIT to run on JRuby in benchmark 2011-09-23 03:09:14 -07:00
Evan Weaver cd439dd32e Jruby mostly works. 2011-09-21 18:24:57 -07:00
Evan Weaver 07357976ee Use Jruby-memcached-client on Jruby. 2011-09-21 17:54:57 -07:00
Evan Phoenix d36e1035dd Add check for exception raised by Marshal.load on 1.8 2011-09-20 21:40:36 -07:00
manju 8ea85e886f updated based on Evan's comments 2011-09-14 18:04:14 -07:00
manju b1d3ff3ab4 memcache protocol returns EXISTS the when item you are trying to store with a cas has been modified since you last fetched. The Rails shim over Memcached is supposed to not raise anything for legacy reasons. In order to achieve this, we must rescue ConnectionDataExists! 2011-09-14 15:19:30 -07:00
Sergey Avseyev bbebad6956 Implement TOUCH command
This command is implemented in Couchbase(Membase) memcached server fork.
Touch is useful when it needed to adjust expiration time for given key.
It is possible to run tests for it with following command:

  MEMCACHED_COMMAND=/path/to/memcached rake test
2011-07-29 18:48:41 +03:00
Sergey Avseyev d0ace27d60 Allow using custom memcached executable for tests 2011-07-29 16:39:38 +03:00
Konstantin Makarchev 02b57cbec8 refs #43 fix memcpy and all types of getk 2011-04-28 22:20:31 +04:00
Konstantin Makarchev d3377a7262 refs #43 cut prefix_key from binary multi_get result 2011-04-28 01:41:01 +04:00
Konstantin Makarchev 65c6da53e2 Some failed tests with binary protocol and prefix_key 2011-04-21 02:19:00 +08:00
Evan Weaver d5e3aec433 Remove garbage collection from benchmarks (falsely improves other clients, but oh well). 2011-03-28 15:29:47 -07:00
Evan Weaver e5ccfdb57d Initial support for jruby benchmarks. 2011-03-28 12:43:39 -07:00
Evan Weaver fd0e1c4043 Massif support. 2011-03-16 03:44:50 -07:00
Evan Weaver 587559c6b0 UDP requires noreply. 2011-03-14 00:03:57 -07:00
Evan Weaver 4af0c328e5 Work around horrible circular C reference in memcached_server_clone(). 2011-03-13 21:38:38 -07:00
Evan Weaver 24fa66c154 Configurable loops. 2011-03-08 14:04:21 -08:00
Evan Weaver dcb0efaa4c Work around tcmalloc bug on OS X (affects REE). 2011-03-08 13:13:01 -08:00
Evan Weaver da419544db Better exercise. 2011-03-03 02:31:53 -08:00
Evan Weaver 6a6fd34fb4 Fix test_random_distribution_is_statistically_random. 2011-03-03 02:23:31 -08:00
Evan Weaver 3a5eb7a489 Tests for stats. 2011-03-03 02:02:03 -08:00
Evan Weaver 20ca9a63cc Zero out @cache. 2011-03-03 01:24:07 -08:00
Evan Weaver 856e64309c Don't keep the empty struct around forever. 2011-03-03 01:17:31 -08:00
Evan Weaver a6e1505041 Pipeline deletes and remove dead replication code. Apply prefix_key to binary protocol properly. 2011-03-02 22:41:18 -08:00
Steven Soroka b27bae76a7 add support for rails 3 cache_store.exist? method 2011-02-27 23:08:32 -08:00
Evan Weaver e58959a052 Clean up bad merge of set_prefix_key API. 2011-02-27 18:36:38 -08:00
Evan Weaver 403df47ed6 Failing test for #35. 2011-02-27 17:38:55 -08:00
Evan Weaver 6d04232554 Don't destroy the prefix_key option. 2011-02-27 17:32:53 -08:00
Evan Weaver 6bc67e7ee0 Load path is still acting weird. 2011-02-27 17:18:46 -08:00
Evan Weaver eff66fc874 No longer true. 2011-02-27 17:05:46 -08:00
Evan Weaver ff21624c76 Better valgrind exerciser. 2011-02-27 16:55:12 -08:00
Evan Weaver aa23fb110a No need for stats wrapper. 2011-02-27 16:35:44 -08:00
Evan Weaver 065fac50ee Register new objects to fix leaks around memcached_server_st. 2011-02-27 15:36:53 -08:00
Evan Weaver c538f37035 Fix memory leak in memcached_mget(). 2011-02-24 13:33:29 -08:00
Evan Weaver b616594434 Speed up multiget. Don't cast types on unmarshalled set. 2011-02-23 15:13:07 -08:00
Evan Weaver 982dc730d2 Use non-trivial value in profiler. 2011-02-23 14:25:19 -08:00
Evan Weaver d486a34bad Add C profiling. 2011-02-23 14:18:32 -08:00
Evan Weaver b013b58cec new profile scripts 2011-02-23 13:08:03 -08:00
Evan Weaver 63453d4bb8 Tired of 4 != 4. 2011-02-22 21:02:54 -08:00
Evan Weaver 45726756f3 Better benchmark script. 2011-02-22 18:38:21 -08:00
Evan Weaver 97dedf4f8c Work with SWIG 2.0.2. 2011-02-22 17:16:41 -08:00
Evan Weaver 6ea7af86e1 Don't call tv_sec on TTL params. 2011-02-22 15:37:37 -08:00
Brandon Mitchell 7d3c198829 Pull test for the server_failure_counter from upstream. 2011-01-27 12:18:09 -08:00
Evan Weaver b9e0375534 Update benchmark script. 2010-12-21 16:33:00 -08:00
Evan Weaver f0e0f1c9e7 Require Kgio for Dalli tests. 2010-12-21 14:53:48 -08:00
Evan Weaver d86bdc38c9 Fix empty string return value bug in multiget. 2010-09-08 13:04:48 -07:00
Evan Weaver 492bae735b Formatting. 2010-08-31 13:15:25 -07:00
Evan Weaver 02288c198f Update benchmarks again. 2010-08-31 13:12:31 -07:00
Evan Weaver 39c8de5b58 Formatting. 2010-08-31 12:47:38 -07:00
Evan Weaver 1594e32cd9 New benchmarks. 2010-08-31 12:29:58 -07:00
Rob Benson 5b7bc10be4 Wrap all get_len tests in a wrapper. 2010-08-03 07:05:31 +00:00
Rob Benson 2ff980ad1c Create experimental get_len tests that only run when the server supports the get_len command. 2010-08-03 02:51:02 +00:00
Rob Benson 1748f50c43 Remove get_len tests from core memcached test file. 2010-08-03 01:44:50 +00:00
Rob Benson 4038903bed Make get_len experimental and remove the marshal argument. 2010-08-03 00:52:26 +00:00
Rob Benson 65d5ff91e0 Add more Ruby get_len tests. 2010-07-22 05:24:57 +00:00
Rob Benson 6b5f0473f9 Add more get_len Ruby tests. 2010-07-22 04:12:36 +00:00
Rob Benson 5b52fb5c96 Implement the Ruby get_len bindings using swig. Add some test cases as well. 2010-07-22 02:35:19 +00:00
Wilhelm Bierbaum 09e34a8fd9 No-op hashing support 2010-07-15 03:40:46 +08:00
Evan Weaver ea1f5d1327 update benchmark 2010-07-03 19:26:43 -07:00
Evan Weaver 975d1e0391 Support :noreply behavior. 2010-07-03 16:46:57 -07:00
Rob Benson 5b2cda4af1 Add no block prepend and append support. 2010-06-17 20:48:05 -07:00
Evan Weaver 71cf80ca14 Improve test. 2010-06-13 16:48:06 -07:00
Robey Pointer 30772cb205 api and test. 2010-06-13 13:55:12 +08:00
Evan Weaver 23bdbb6166 Better Valgrind script. 2010-05-24 23:10:59 -07:00
Wanli Yang a504222102 1. rename retries_on_exceptions to exception_retry_limit
2. add retry for cas
3. move tries inside the rescue block
4. merge to rescue blocks for set
2010-04-20 14:24:17 -07:00
Wanli Yang 6134e57524 Add two options for memcached: :retry_on_exceptions, :exceptions_to_retry
Also added a test.
2010-04-14 17:46:07 -07:00
Evan Weaver e40b63d4a2 Ruby 1.9.2 compatibility. 2010-03-07 18:01:25 -08:00
Vladimir Andrijevik 5b4b808cd0 Conform to ActiveSupport::Cache#delete's interface in Memcached::Rails. 2010-03-03 07:26:04 +08:00
Matthew Knopp a25c18e33f Merged fauna 2010-02-05 18:00:41 -08:00
Evan Weaver c768369210 Fix prefix key in-flight setting. 2010-02-04 23:24:28 -08:00
Matthew Knopp b3cf666242 - move prefix_key methods from private to public
- added test
2010-02-05 14:16:13 +08:00
Matthew Knopp c5f4845406 - move prefix_key methods from private to public
- added test
2010-02-04 21:53:10 -08:00
Evan Weaver f80edb6321 Better error in stats. 2009-10-20 18:47:37 -07:00
Evan Weaver d4aa695cdd Check types of strings in a multiget array (nk). 2009-10-12 13:32:36 -07:00
Evan Weaver 8600a95550 Retry once on Memcached::ClientError. 2009-09-29 14:40:17 -07:00
Evan Weaver b76f31db2a Ruby 1.9 compatibility. 2009-09-22 01:08:36 -07:00
Evan Weaver 2eeee419b7 Retool all benchmarks. Provide _orig versions of all methods in Rails helper. 2009-09-21 19:21:46 -07:00
Evan Weaver 1763a63460 Version constant. 2009-09-21 16:43:23 -07:00
Evan Weaver 2db883517c Additional tests for binary protocol. 2009-09-21 14:21:54 -07:00
Evan Weaver 6f1633727f Changelog! 2009-09-20 14:04:05 -07:00
Evan Weaver 002fc7ebf7 Optimize append/prepend on miss. 2009-09-04 16:05:49 -07:00
Evan Weaver f8ebb68de7 Fix wacky Mocha bug. 2009-09-02 22:21:39 -07:00
Evan Weaver 1f0ed42d79 Benchmarks. 2009-09-02 22:16:23 -07:00
Evan Weaver d17197212c Free MemcachedServerSt. 2009-09-02 21:54:19 -07:00
Evan Weaver 1523ed860a Fix clone memory leak. 2009-09-02 21:34:00 -07:00
Evan Weaver 2c18ee7cc3 Clearer valgrind thing. 2009-09-02 18:01:37 -07:00
Evan Weaver 02316df1aa Use seeded random. 2009-09-02 15:24:50 -07:00
Evan Weaver d350eff567 Working (but failing) test for random distribution. 2009-09-02 11:10:33 -07:00
Evan Weaver 3b793f49ed Report benchmark gem versions. 2009-09-02 10:54:16 -07:00
Evan Weaver 9bf62f86ed New test. 2009-08-07 09:47:54 -07:00
Evan Weaver f161d78988 Working UDP, finally. 2009-08-07 09:42:54 -07:00
Evan Weaver 4af2d8c05f Enforce correct server_add_with_weight. 2009-08-07 09:38:58 -07:00
Evan Weaver 689f541a42 Correct UDP environment. 2009-08-07 09:36:59 -07:00
Evan Weaver 573c354ce4 Test and fix random pool bug. 2009-08-04 19:39:31 -07:00
Evan Weaver 9dd7061461 Benchmarks. 2009-08-04 16:11:40 -07:00
Evan Weaver fcc2037d6a Binary protocol. 2009-08-04 02:17:17 -07:00
Evan Weaver 4f52990b7d Benchmarks. 2009-08-04 01:37:22 -07:00
Evan Weaver 789719178b Secret found! Disable shared libmemcached building, to force static inclusion in the bundle/so. A great feat of linking. 2009-08-04 01:06:51 -07:00
Evan Weaver 51acfb1147 Fix to connection error counter libmemcached. All tests pass. 2009-08-03 19:25:13 -07:00
Evan Weaver 5dd8e2b98c Better inspect. 2009-08-03 14:13:58 -07:00
Evan Weaver 783aaafcb6 Update benchmarks. 2009-08-03 14:05:31 -07:00
Evan Weaver 3f9e0be994 Fix profile. 2009-08-03 12:41:52 -07:00
Evan Weaver c9a12a5cb4 Benchmark was bogus. 2009-08-03 12:19:29 -07:00
Evan Weaver f60aab9696 Robustify test. 2009-08-03 12:16:36 -07:00
Evan Weaver 92a17a25cd Fix test bug. 2009-08-03 12:13:02 -07:00
Evan Weaver 8ec14616ea Simplify kill. 2009-08-03 12:05:14 -07:00
Evan Weaver 7906a82a5d Merge branch 'master' of git://github.com/hellvinz/memcached into hellvinz/master
Conflicts:
	ext/rlibmemcached.i
	ext/rlibmemcached_wrap.c
	lib/memcached/memcached.rb
	test/profile/benchmark.rb
	test/setup.rb
2009-08-03 12:03:42 -07:00
Matt Knox b84b454dc7 initial commit of changes to eweaver's memcached gem. Possibly some junk here.
Signed-off-by: Evan <evan+fauna@cloudbur.st>
2009-08-04 02:43:05 +08:00
Evan Weaver e39e30a904 Use UDP port. Correctly set UDP behavior. 2009-05-05 00:42:06 -07:00
Evan Weaver 15293c0312 Failing tests for UDP. Update to merged libmemcached 0.28. 2009-05-05 00:21:14 -07:00
Evan Weaver 83681a52b2 Support 1.2.8 in tests. 2009-04-14 21:27:42 -07:00
Evan Weaver a93609230f Valid hash tests 2009-03-04 22:34:15 -08:00
Evan Weaver 8cd493072b Splat API was stupid. 2009-03-04 17:17:46 -08:00
Evan Weaver cc6587ee24 Test Errno lookup. Had to add Mocha :-(. 2009-03-03 14:46:48 -08:00
Evan Weaver f9e69efa2e Failing test for Robey. 2009-03-03 08:09:23 -08:00
Evan Weaver d26fdb1a98 Test was oddly wrong. 2009-02-27 14:15:32 -08:00
Evan Weaver 5bc79102e7 Fix valgrind. 2009-02-26 16:36:03 -08:00
Chris Wanstrath 8f660352a9 Ensure that options passed in with false values are set. 2009-02-06 18:06:53 -08:00
Evan Weaver 37e0b4ccaf Support CAS properly from Memcached::Rails. 2009-02-06 17:43:37 -08:00
Evan Weaver 7bc84029cf Use rvalue to avoid wrapping random crap. 2009-01-16 16:10:40 -08:00
Robey Pointer 79bd0bd97b fix unit test for timeouts.
Signed-off-by: Snax Fauna <evan+fauna@cloudbur.st>
2009-01-17 08:04:48 +08:00
Evan Weaver 76010bedac Re-SWIG. Breaks stuff. 2009-01-16 15:06:57 -08:00
Evan Weaver 350573e655 Fix test. 2009-01-16 11:08:46 -08:00
Evan Weaver e65f441759 Fix timeouts in preparations for Robey's change. 2009-01-16 11:05:11 -08:00
Evan Weaver e85f474938 Clarify timeouts. 2009-01-15 21:06:58 -08:00
Evan Weaver 0e638ed8e4 Just set timeouts directly. 2009-01-15 19:53:28 -08:00
Evan Weaver aaaea0f638 Support public hash function. 2009-01-15 14:19:51 -08:00
Evan Weaver e63fc0d40d Fully test new error recovery. 2009-01-13 19:06:40 -08:00
Evan Weaver 88a6d775df Change defaults; remove bogus test. 2009-01-13 18:30:32 -08:00