Commit graph

100 commits

Author SHA1 Message Date
Sears Russell
1ce1496226 dependency cleanups; removed compenastions from alloc.c 2009-08-22 00:01:02 +00:00
Sears Russell
0154f7d29d IMPORTANT API CHANGE: stasis_dirty_page_table_flush_range() no longer force writes to disk. You now need to call forcePageRange() after flush page range returns.
This commit should significantly improve sequential write thoughput.

I found a segfault bug this morning, but cannot reproduce.  Could be a heisenbug, or could have been a hardware fault (gojira repeatedly kernel paniced, then both problems went away...)
2009-08-13 05:53:48 +00:00
Sears Russell
a0f9a7bc81 Cleaned up page locking + a harmless memory bug. Add missing locks to page writeback. 2009-08-08 07:59:19 +00:00
Sears Russell
a6aa8ed942 added method to access dirtyPageTable 2009-08-05 20:02:33 +00:00
Sears Russell
5b10bcc63b Reimplemented allocationPolicy.c; updated API + added more cases to the unit tests. 2009-08-05 06:35:11 +00:00
Sears Russell
c961b34903 forgot to commit b-tree source files 2009-07-29 21:04:08 +00:00
Sears Russell
0a308f035c more header cleaning; updated INSTALL 2009-07-26 19:47:05 +00:00
Sears Russell
081c61b414 cleaned up includes, autoconf is now optional, since cmake now creates a config.h 2009-07-26 18:51:45 +00:00
Sears Russell
7f2edd880d New (more thorough, less frequent) tests for slotted pages. Renamed slotted methods, added microbenchmark for slotted pages. 2009-07-20 17:42:43 +00:00
Sears Russell
9ef3adf40c - Fix compile warning + broken fcn pointer from last commit.
- Address crashes in Tupdate() and recovery caused by mixing segments and page oriented recovery  (add loadPageForOperation() call)
2009-07-16 03:05:32 +00:00
Sears Russell
4493dbb88b Added support for segment based recovery. For now, Stasis doesn't support hybrid recovery, so mixing page deallocation and segments will make recovery corrupt data / segfault. 2009-07-13 17:18:01 +00:00
Sears Russell
2593de7a2c Move page type to Page_s struct. This breaks indirect.c (which is poorly thought out, and will be removed shortly), and was the next step on the road to segment-based recovery 2009-07-07 19:20:22 +00:00
Sears Russell
b66328192c in-memory group by implementation 2009-07-01 01:33:24 +00:00
Sears Russell
09af29abad clean up iterator interface; remove Titerator_releaseLock() 2009-06-28 18:54:57 +00:00
Sears Russell
120665ae53 cleaned up arrayList. stasis_record_write no longer takes an LSN (it was ignoring it anyway). Added some missing calls to stasis_page_lsn_write (each time a page is written to, stasis_page_lsn_write should be called; this happens automatically for operations called via tupdate 2009-06-02 18:25:35 +00:00
Sears Russell
3cc48c4fc4 check for page leaks at shutdown; move myrandom() into check_includes.h, fix a number of page leaks / double frees 2009-05-30 02:23:17 +00:00
Sears Russell
8a95f5859d fixes Issue 8: When passed a prefix of an existing key, pageOrientedList will no longer treat the prefix and the existing key interchangably 2009-05-21 04:13:50 +00:00
Sears Russell
9de2e515f8 eclipse whitespacifaction 2009-05-21 04:10:41 +00:00
Sears Russell
7db06197ca refactored truncation + dirty page table, fixed doxygen warnings. 2009-05-20 21:23:51 +00:00
Sears Russell
87218ad929 yet another refactoring; broke groupForce into its own module, removed more static variables and namespace violations 2009-05-13 18:04:53 +00:00
Sears Russell
bc554efc85 renamed some functions to match naming convention 2009-05-08 06:53:30 +00:00
Sears Russell
651a1a22e5 more refactoring; removed static variables from pageHandle.c 2009-05-08 04:56:34 +00:00
Sears Russell
b5b414490a fix config.h error for installed copies of stasis 2009-04-29 21:31:39 +00:00
Sears Russell
731da7456a more eclipse refactoring; cleaned up some names, whitespace and documentation 2009-04-13 22:50:12 +00:00
Sears Russell
05077b62fd nested top action cleanup and bugfix; subsequent recovery calls could undo logical undos in some circumstances 2009-04-03 22:01:37 +00:00
Sears Russell
564dfe426b Renamed / refactored operation implementation + registration functions. Added support for third party operations 2009-03-31 05:02:54 +00:00
Sears Russell
83ad15b6d0 more benchmarks; transactions can now be multithreaded 2009-03-20 11:36:27 +00:00
Sears Russell
d413bb27f3 support for lsn-free writeback; partial benchmark code for submission 2009-03-19 03:36:13 +00:00
Sears Russell
b1f44ab005 added simplistic support for log reordering 2009-03-16 08:11:49 +00:00
Sears Russell
45a2410a25 add support for lsn-free set (but not alloc, etc...) 2009-03-15 07:21:37 +00:00
Sears Russell
9e54ad60d5 renamed hash() to avoid linker collisions; inlined some hash functions 2009-02-20 23:42:54 +00:00
Sears Russell
32950b2b98 fixed memory leaks and pointer aliasing bugs in lsmTree_iterator. 2008-12-05 00:08:46 +00:00
Sears Russell
79d1512a5e fixed problem in lsm tree recovery; it was not updating the lsm tree header when passing C1 into C2's merger thread. Then C2 freed C1, and C1 pointed to uninitialized data. 2008-12-04 09:22:17 +00:00
Sears Russell
e4341e10b9 partially fixed rose recovery; clean shutdowns now work 2008-12-04 04:12:47 +00:00
Sears Russell
2dcc6598d2 added support for softcommit, and for compile / runtime configuration of stasis log + storefile locations 2008-12-01 22:45:32 +00:00
Sears Russell
17d4bb3ed4 log refactoring 2008-12-01 19:48:59 +00:00
Sears Russell
e22c35a1b5 fix lsm iterator data corruption bug 2008-11-26 22:39:48 +00:00
Sears Russell
6a5e7f5589 Fix two problems in lsmTree:
- rewrite lookup() to be simpler, and fixed a few bugs
 - was keeping node records around after pages were released
2008-11-26 07:01:43 +00:00
Sears Russell
15a097a100 sort of compiles under macos now 2008-11-25 01:19:36 +00:00
Sears Russell
11082997d8 revert accidentally committed files 2008-11-24 23:43:26 +00:00
Sears Russell
a321ba6e4e handle null lsmIiterator_ gracefully 2008-11-24 23:41:11 +00:00
Sears Russell
09641257ad fixed memory leak 2008-11-24 07:35:59 +00:00
Sears Russell
2b63991014 preliminary (and largely untested) support for opening LSM-tree iterators starting at a given tuple 2008-11-24 01:32:35 +00:00
Sears Russell
53a7982f47 fixes numerous blob bugs, allowing linearHashNTA to store arbitrary length key,value pairs. 2008-11-13 04:18:50 +00:00
Sears Russell
46fbfa3c35 Implement blob deallocation; add test case 2008-11-13 00:13:11 +00:00
Sears Russell
e2f604175b move hash iterator code around, update documentation 2008-11-13 00:12:19 +00:00
Sears Russell
f5d1229941 Recovery now maintains XactionTable's state in the same way as forward operation.
Internal transactional2.c state is now declared static.
2008-11-13 00:06:35 +00:00
Sears Russell
2c2c603dd2 all naive linear hash methods now start with TnaiveHash; removed references to ThashAlloc from documentation 2008-11-03 21:42:42 +00:00
Sears Russell
71cc9d6df7 transactions now can check with allocation policy before allocating to pages of their own choosing 2008-10-27 23:20:31 +00:00
Sears Russell
fa18df2424 ignore size field of hashHeader argument 2008-10-23 20:27:55 +00:00