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