Commit graph

79 commits

Author SHA1 Message Date
sears
2ea8b9ff44 latching fixes, server no longer ignores --test, performance tuning
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@759 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-24 20:30:35 +00:00
sears
ead6207f86 add --test argument to server, fix segfault due to scans with empty c0_mergeable
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@699 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-17 23:45:41 +00:00
sears
e1c937a602 Refactoring of logtable. Cleaned a bunch of includes, and logtable is now a template. This is in preparation for the new merge policy
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@698 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-17 21:51:26 +00:00
sears
6cd1ccb5ff commented about merge transaction strategy
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@697 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-16 17:58:19 +00:00
sears
28433bf336 remove logiterators.h/cpp and stop #including datapage.cpp
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@690 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-13 00:41:37 +00:00
sears
c8c48a188d more refactoring; all iterators now live in their respective tree components, fixed some hardcoded parameters; encapsulate allocators inside of diskTreeComponent
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@689 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-13 00:05:06 +00:00
sears
dc8185a236 eliminate "lastLeaf" parameter from all functions in the diskTreeComponent API
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@686 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 23:48:42 +00:00
sears
5f0d5c4f97 use RegionAllocator for InternalNodes and DataPages
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@685 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 23:17:03 +00:00
sears
8d7199676c made diskTreeComponent more object oriented; many of its functions are now private
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@684 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 22:18:55 +00:00
sears
b298e49bad whitespace changes
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@683 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 20:30:39 +00:00
sears
5d533a7939 DataPage::RegionAllocator -> RegionAllocator
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@682 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 20:29:03 +00:00
sears
54e73ab803 move the internal node region allocator stuff into diskTreeComponent::internalNode
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@681 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 20:23:15 +00:00
sears
01c65d7a3c diskTreeComponent -> diskTreeComponent::internalNodes
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@680 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 19:47:12 +00:00
sears
1f2f4c745b more iterator renaming; also, getnext() -> next_callerFrees()
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@679 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 19:02:54 +00:00
sears
76cd6a26c7 changingMemTreeIterator -> memTreeComponent::changingMemTreeIterator
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@676 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 17:47:47 +00:00
sears
104f38f517 fix(?) hard to reproduce double free
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@675 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 17:45:51 +00:00
sears
156c015b84 fix boundary condition in histogram code
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@674 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 17:03:18 +00:00
sears
de7984b05a create memTreeComponent class. Moved memTreeIterator, rbtree_t and tearDownTree into it (still need to move changableMemTreeIterator into it...)
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@673 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 01:42:23 +00:00
sears
220d58bd7c DataPage::RecordIterator -> DataPage::iterator
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@672 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 00:14:24 +00:00
sears
452ee97442 diskTreeComponentIterator -> diskTreeComponent::iterator
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@671 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 00:09:38 +00:00
sears
85ca7a935c remove most of the read/write record wrappers from diskTreeComponent
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@670 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-08 23:58:13 +00:00
sears
0a356875b2 removed some slotted page dispatch stuff from diskTreeComponent
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@669 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-08 20:16:03 +00:00
sears
a79c7d1c46 check_tcpclient now examines the output of its iterator
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@668 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-05 23:23:43 +00:00
sears
06fa7999cb c++-ify diskTreeComponentIterator
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@667 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-05 22:21:44 +00:00
sears
020f0faf17 evil? lucky? whitespace cleanup
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@666 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-05 21:19:52 +00:00
sears
b75ad3675c fix comments + TODO in diskTreeComponent
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@665 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-05 20:46:20 +00:00
sears
eba30f92a3 clean up some crufty comments, remove hardcoded constant
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@664 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-05 20:34:42 +00:00
sears
2dfbba1341 remove duplicate code in datapage.cpp
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@663 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-05 19:56:50 +00:00
sears
632afe6d9c cleanup statistics gathering and reporting.
constify inputs to merge functions (so they can't call freetuple())


git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@662 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-05 19:07:47 +00:00
sears
f258ce1a3f adding a few overlooked files
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@657 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-03 23:21:08 +00:00
sears
1243d999a5 Hacky histogram generation; API's for client-side iterators.
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@656 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-03 23:20:05 +00:00
sears
747f4df1f3 Reopening existing trees now seems to work (no thorough tests yet). Added some network opcodes for statistics and debugging (not all are implemented yet). Reduce verbosity of server and client library.
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@654 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-01 21:26:07 +00:00
sears
27720dddbe Implemented (but did not test) header update.
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@650 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-27 00:35:13 +00:00
sears
2d44b6beed Fix another datapage leak in unit test.
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@649 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-27 00:33:12 +00:00
sears
20dc06280b Initial checkin of sherpa backend. These files probably don't belong here in the long term, but this is expedient.
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@645 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-26 18:52:25 +00:00
sears
9c2c41c30c fix build on non-stasis machines (workaround fact that check_tcpclient incorrectly requires stasis...)
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@644 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-26 18:51:12 +00:00
sears
51df61f8e9 logtableIterator now drops tombstone tuples by default
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@642 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-26 17:45:31 +00:00
sears
c07c1486ef fix remaining regressed unit test; check_datapage.cpp was leaking a datapage, then running off the end of its buffer.
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@631 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-25 20:17:04 +00:00
sears
52dcae159e fix 3 of 4 unit test regressions
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@628 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-25 19:03:20 +00:00
sears
cb614dff1b fix nasty bug where diskTreeComponent (perhaps) drops tuples. With the recently added paranoid checks, this fix should do nothing worse than trigger assertion failures (as opposed to silently losing data...)
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@627 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-25 19:02:09 +00:00
sears
27e6f0b0f4 make tuple argument to RecordIterator optional
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@626 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-25 19:00:27 +00:00
sears
7c2397340c Fixed a bunch of iterator bugs and racy merges. Added drop_database utility.
Bugfixes:
 - Atomically deallocate regions and update the logstore object
 - Proactively invalidate iterators after each merge (before, it would simply set a not-valid bit.  This doesn't work because iterators hold page pins, which breaks force-writes)
 - Clarify semantics of opening iterators mid-stream:  All calls now return iterators that return first key >= the requested one.  revalidate() needs the key > the requested one, so it calls peek(), then (if necessary) getnext().
 - Add asserts to check that the header is latched at update, and that tuples returned by iterators are strictly monotonically increasing'
 - Improve error handling in network.h  We still get (and terminate on) SIGPIPE.

Refactoring:
 - Add dispatch function to network.h.



git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@620 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-25 01:29:32 +00:00
sears
abce19c67e Fixed server hang. It used to sleep forever inside select if all the clients hung. Now, it uses the self pipe trick to wake itself up.
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@614 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-23 23:54:44 +00:00
sears
6a2d6a1cd4 Generalized comparator, fixed some bugs in record length handling.
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@613 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-23 17:05:47 +00:00
sears
a0a9d726fd install.sh script for yroots
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@605 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-21 17:04:30 +00:00
sears
6bc4bc1f82 build the client library even if stasis is not present
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@604 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-21 17:02:14 +00:00
sears
63a14d8509 network iterator API is now working (though it could use a better test suite)
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@601 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-20 01:18:39 +00:00
sears
57c9afc8d8 rename logtree to diskTreeComponent
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@591 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-19 00:59:14 +00:00
sears
2b82a62a34 broke logstore.cpp into two pieces
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@590 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-19 00:52:21 +00:00
sears
7738b67bc0 Implemented network iterator protocol. It hasn't been tested or hooked up to anything because logstore iterators don't exist yet.
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@589 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-02-19 00:34:41 +00:00