Commit graph

  • 83fe4b7703 fix array-out-of-bounds bug in unit test sears 2010-12-17 21:15:26 +0000
  • a6a0ce3f54 extended stats cleanup, verbose mode, documentation sears 2010-12-17 18:48:26 +0000
  • 052508fb76 remove mergeStats->current_size field, which is derivable from other fields in mergeStats sears 2010-12-15 00:15:59 +0000
  • cd27f50baf remove ltable->tsize and ltable->tree_bytes fields sears 2010-12-14 23:06:21 +0000
  • 7e2d12f6ba fix typo in table of response code constants sears 2010-12-14 21:43:50 +0000
  • 73e72b47b2 more stats cleanups sears 2010-12-14 01:49:23 +0000
  • 43425128ba clean up initialization / marshalling code. Lets some of the public mergeStat fields to be protected sears 2010-12-14 00:06:32 +0000
  • eb4446f409 readability fix: fields in mergeStats that are only used for computing extended stats for pretty print are now prefixed with "stats_", and can be optionally disabled at compile time sears 2010-12-13 22:27:13 +0000
  • 7e44641799 move c1-c2 backpresure to linear backpressure model; removes a few hundred lines of fussy code, and should enable further simplifiactions sears 2010-12-13 21:17:35 +0000
  • 347a4126f3 remove the NO_SNOWSHOVEL c-preprocessor stuff. There is no way it was working anyway... sears 2010-12-11 01:04:33 +0000
  • a00531ae6d simplified merge_scheduler sears 2010-12-11 00:51:19 +0000
  • 8dddc7e168 remove line from unit test that had no effect, but broke compilation sears 2010-12-10 20:42:57 +0000
  • a8e905c0d6 fix deadlock on shutdown; be more stingy with bloom filter RAM with small indexes, add bloom filter to c2, default back to old buffer manager sears 2010-12-08 19:49:13 +0000
  • 79936da79b loosen some scheduling parameters sears 2010-12-08 19:46:55 +0000
  • e9b68056b8 whitespace sears 2010-12-08 19:18:05 +0000
  • fbdc900623 fix #include mistake sears 2010-10-05 18:27:56 +0000
  • ccf3895595 conservatively make the bloom filter really big (should behave well down to 100 byte keys, waste ram otherwise...) sears 2010-10-05 16:55:29 +0000
  • 31cafbef6c get rid of -Wno-variadic-macros since it suddenly broke compilation for some reason sears 2010-10-05 16:54:27 +0000
  • 8936df750a fix includes to avoid linker errors sears 2010-10-05 16:52:32 +0000
  • 0c5700257c re-re-re-...re-disable new buffer manager optimizations sears 2010-10-05 16:50:39 +0000
  • b9dd11a7e4 reduce default datapage_size to 1 (4096) to avoid useless seeks for small values sears 2010-10-05 16:23:31 +0000
  • f9a1f411e1 initial checkin of bloom filter logic for lsm trees sears 2010-10-03 23:05:45 +0000
  • 3619e86271 initial checkin of bloom filter sears 2010-10-03 18:06:19 +0000
  • 6eaf5da8de port to newer gcc/g++ sears 2010-10-02 12:52:41 +0000
  • 4c0e8a7186 change cerr to log4cpp sears 2010-09-29 17:58:34 +0000
  • e5518eac26 enable debugging sears 2010-09-22 19:28:26 +0000
  • 1c8c0fe0da switch default buffer manager to concurrentBufferManager (AGAIN) sears 2010-09-22 19:28:07 +0000
  • 392a097e44 add atomic testAndSet operation (needed for sherpa tablet names' uniqid field) sears 2010-09-16 22:36:48 +0000
  • 9ca7d78b06 add some error checking. testTablet is closer to passing sears 2010-09-16 21:13:43 +0000
  • 5bd187c481 misc cleanups, removed old comments sears 2010-09-15 22:53:30 +0000
  • 3e8ffcbd7f Sherpa 1.10 storage/handler/unit test/ now runs to completion with the following failures: sears 2010-09-15 22:37:50 +0000
  • 2eda51e176 partially working sherpa 1.10 backend with .so support sears 2010-09-15 21:53:51 +0000
  • 4eb2bb852c add a #define to turn TCP_NODELAY on/off sears 2010-09-02 23:03:13 +0000
  • 10556c6df2 add megabytes to status output sears 2010-09-02 23:02:51 +0000
  • 46eddd1269 amortize latches during scan sears 2010-09-02 23:02:24 +0000
  • b6e7bf214b add copy database utility sears 2010-09-01 17:42:57 +0000
  • 105936eeba partially roll-back last commit, which contained some changes that turned requestDispatch->bulk_insert into a no-op for benchmarking sears 2010-09-01 17:42:27 +0000
  • b1e5e3ad78 fix minor memory leak sears 2010-09-01 17:40:52 +0000
  • 29d482cffe add missing includes to check_util.h sears 2010-09-01 17:40:20 +0000
  • b769e1866f fix deadlock and memory leak in network protocols sears 2010-09-01 17:39:49 +0000
  • a1f3f92cca added bulk-insert APIs, prevent c1-c2 from outrunning c0-c1 by too much, and fix the overshoot computations in merge manager (roughly corresponds to run 20) sears 2010-08-30 22:22:25 +0000
  • f8248240af calculate c0->current_size more eagerly sears 2010-08-25 16:36:17 +0000
  • 960ff041e2 remove old comments sears 2010-08-24 00:40:48 +0000
  • 6fd7dd0523 cleaned up some code, moved pretty_print into its own thread, and fixed some buggy stats computations sears 2010-08-23 23:28:29 +0000
  • 98b88a227b fixed some statistics computations. They are still wrong. It crashes for an unknown reason. However, this version sometimes breaks 10K op/s for loads, and 1K op/s for workloada sears 2010-08-23 17:11:31 +0000
  • bcea21c06a fixed memory bug in client scams; better debugging status during merge backpressure sears 2010-08-21 03:30:12 +0000
  • 07b35f4e20 scattered, and poorly tested fixes. finer grained latching for tree nodes; throttle c0-c1 merge when c0 is small; fix delta computations for c0 throttling; disable short pauses for c1-c2 merge. this gets the bulk load throughput up to 8500, but workloada is still slow sears 2010-08-21 03:09:18 +0000
  • 0d471bb912 fix typo that leads to double frees sears 2010-08-18 18:06:59 +0000
  • b894cebaf7 add memTreeComponent::batchedRevalidatingIterator; amortize cost of red black latching during merge sears 2010-08-18 17:29:25 +0000
  • 1e487bbc54 re-enable old merge policy for c1-c2 merger; implement shutdown (sort of) sears 2010-08-17 21:23:39 +0000
  • b4f80aaa7d added shutdown utility sears 2010-08-16 22:11:19 +0000
  • 645138d928 remove sync() from unit test sears 2010-08-16 20:38:04 +0000
  • ff309a6fbf fix latch/pin leak sears 2010-08-12 01:55:30 +0000
  • a5cc4e5b53 fix a deadlock (double setting thread_fd = -1 in race at startup), lazily spawn new worker threads. This will save some ram, and will lead to shorter server thread listings in gdb sears 2010-08-11 23:27:39 +0000
  • bded48a306 add new server implementation that uses FILE to buffer I/O, and handles a smaller, fixed number of connections -- leads to an almost 4x speedup on no-ops on nehalem sears 2010-08-11 22:46:55 +0000
  • 569b46363b moved most of the request dispatching logic from logserver.cpp to requestDispatch.cpp sears 2010-08-11 17:43:39 +0000
  • 4a42e4f904 tcpclient now usees fread/fwrite instead of read/write sears 2010-08-10 23:56:54 +0000
  • 2a45c2cda8 add no-op network call, and a simple benchmark that exercises it sears 2010-08-09 20:21:41 +0000
  • dc75f6d1f0 Implemented snowshoveling, with caveats. sears 2010-08-05 17:43:46 +0000
  • 00d6cd2440 added destructor to diskTreeComponent (fixes file handle / memory leak) sears 2010-08-05 17:39:31 +0000
  • 7a1b2f9687 revert change that silenced g++ warning. the change broke ancient g++ sears 2010-08-05 17:23:12 +0000
  • 29555bd6f6 silence compiler warning sears 2010-07-20 19:12:47 +0000
  • 7bed4b67ba fix a bunch of 64-bit integer signedness bugs sears 2010-07-16 21:43:21 +0000
  • eb8b57378a laying the groundwork for snowshoveling; as of this commit, pointers and null padding happens in an order that should let us query incomplete tree components. We should only need short page latches at this point (so that we do not look at partially written keys/values) sears 2010-07-14 22:42:26 +0000
  • 9dcb624649 improved bps estimation; add "minisleeps" to update_progress; they do not belong there long term, but this is better than nothing sears 2010-07-14 21:46:27 +0000
  • cf6c6e5955 incease UPDATE_PROGRESS_DELTA by 10x, and FORCE_INTERVAL by 2.5x; tick no longer grabs a writelock on header_mut, and instead uses its own mutex sears 2010-06-21 22:59:05 +0000
  • fded91fec6 two unrelated changes: release rb_mut before getting header_mut on read path (breaks delta tuples), and implement first-cut support for pulling in statistics when reopening logstores (required for correct recovery) sears 2010-06-21 20:03:05 +0000
  • 118ae94a9b cleaned up comments; upped force_interval to 10mb sears 2010-06-18 23:52:17 +0000
  • 1c02dc1281 add overshoot2 sears 2010-06-18 23:44:48 +0000
  • 8c35a1265a fix bug in overshoot_fudge computation; reduce number of knobs sears 2010-06-18 23:00:23 +0000
  • eda7c0fd12 enable force interval; play with some knobs sears 2010-06-18 02:07:55 +0000
  • 2530009ec0 fix deadlock; do not clear need_tick bit until overshoot is less than zero; tweak constants accordingly (fewer mutex acquistions! less blockage!) sears 2010-06-18 00:06:46 +0000
  • 0a2c4796a8 removed bad assert sears 2010-06-17 05:05:35 +0000
  • 0fb644640a improved concurrency for merger. not happy with worst case write latency on my dev machine anymore (seems to be less than 2.5 seconds, up from less than 1). sears 2010-06-17 04:49:19 +0000
  • 0ecd7491c7 fix minor stats bugs; pull most stats computation into update_progress. The idea is that update_progress and tick, which are easily amortized, are the only stats things that need to grab latches sears 2010-06-05 00:41:52 +0000
  • fe7ce3a785 tweak some constants to silence latency sla warnings sears 2010-06-03 00:12:31 +0000
  • eda514ddaa amortize the computation of statistics (but not mutex acuqisitions) across many tuple insertions. Also, refactor stats stuff with latch contention in mind (but it still grabs too many latches...). This commit causes check_tcpclient to emit warnings on my machine. Not sure if it will happen on production hardware sears 2010-06-02 21:47:58 +0000
  • fcf0dcca99 cleanup / reimplement some of the statistics calculations. dial back periodically_force sears 2010-05-28 21:20:26 +0000
  • dca4fbe594 revert server thread count (it was set to 5 for debugging, then accidentally committed...) sears 2010-05-28 18:31:34 +0000
  • 4050475de9 more bugfixes / cleanup. latching is probably overly conservative at this point, but ycsb bulkload finally seems to work sears 2010-05-28 01:29:10 +0000
  • d981d91dfa numerous bugfixes; rate limit progress meter display sears 2010-05-27 23:15:24 +0000
  • 6eecf1557a restore support for concurrent disk reads; logserver was accidentally using a findTuple function that assumed diffs. This commit uses rwlc, and requires Stasis -r1393 or better sears 2010-05-27 01:49:27 +0000
  • 0e375c005b more merge tweaks sears 2010-05-26 23:53:21 +0000
  • aa7f7189d6 admission control *almost* works; c1 sometimes blocks for a long time when a new c2 is created sears 2010-05-26 00:58:17 +0000
  • c50c14d259 admission control is now behaving properly (but there are still no concurrent writes, or bounds on how long admission control throttles a given writer) sears 2010-05-21 23:43:17 +0000
  • 2a1157602a Rewrite merge thread synchronization code, update status messages, implement preliminary (and ineffective) admission control, and force write merged data every megabyte (so that prograess can be tracked by admission control. Also, refactor quite a few things. sears 2010-05-19 23:42:06 +0000
  • 1adb980555 added throttling policy and better stats. the throttling makes a merge policy bug painfully obvious (committing because i plan to do some refactoring...) sears 2010-05-12 22:16:41 +0000
  • 7b2560d906 initial merge manager (multi-merge) statistics sears 2010-04-29 23:13:04 +0000
  • ce48882946 oops; forgot to add mergeStats.h; finished encapsuating its state sears 2010-04-29 01:03:56 +0000
  • 176a1e804a more encapsulation changes sears 2010-04-29 00:57:48 +0000
  • ded9cc2585 fixed rounding errors in statistics written to stdout; whitespace cleanup; more encapsulation sears 2010-04-28 21:29:15 +0000
  • 151373d09a refactoring; move init_stasis into logtable, put merge stats into their own module sears 2010-04-28 19:21:25 +0000
  • 418bc33805 add --benchmark flag; simplifies things when I push diffs from the dev machine to the servers sears 2010-04-27 17:57:43 +0000
  • 2f15673c80 pass sequential I/O hints to stasis sears 2010-04-12 20:56:54 +0000
  • 21238f1961 silence excessive debug spam sears 2010-03-31 22:54:56 +0000
  • fb073c5671 fix integer arithmetic bug that caused C0 and C1 to merge arbitrarily often sears 2010-03-31 22:54:26 +0000
  • 2ea8b9ff44 latching fixes, server no longer ignores --test, performance tuning sears 2010-03-24 20:30:35 +0000
  • ead6207f86 add --test argument to server, fix segfault due to scans with empty c0_mergeable sears 2010-03-17 23:45:41 +0000
  • e1c937a602 Refactoring of logtable. Cleaned a bunch of includes, and logtable is now a template. This is in preparation for the new merge policy sears 2010-03-17 21:51:26 +0000
  • 6cd1ccb5ff commented about merge transaction strategy sears 2010-03-16 17:58:19 +0000