Sears Russell
c5a36c032d
remove compensations.h (This is a big change, and impacts lots of whitespace. I have left some indentation breakage in place in order to minimize the size of the diff)
2011-06-12 08:13:34 +00:00
Sears Russell
47a587ff81
fix memory leak in bTree
2011-04-26 04:16:07 +00:00
Sears Russell
188b03152c
fix blob recovery issue; pages were being initialized outside of tupdate, breaking recovery
2011-03-29 22:27:31 +00:00
Sears Russell
c4ebeb1285
add missing calls to various pthread destructors
2011-02-02 21:20:18 +00:00
Sears Russell
8ee684d98e
add version of Tupdate that takes a Page* instead of a pageid
2010-10-19 21:07:24 +00:00
Sears Russell
dc1f799a37
TarrayListAlloc() and TarrayListExtend() now generate O(1) bytes of log entries; they use the new multipage operation type.
2010-05-11 23:34:13 +00:00
Sears Russell
820f706faf
TarrayListExtend now zeros out the contents of the newly allocated records (this is implemented by having fixed.c zero out the records)
2010-05-11 23:27:22 +00:00
Sears Russell
887832582c
expose stasis_handle_t up through the buffer manager; add sequential I/O hinting; fix stupid busy-wait in prefetch
2010-04-12 20:54:10 +00:00
Sears Russell
ff2f2e9e1e
add TregionPrefetch()
2010-03-31 22:41:33 +00:00
Sears Russell
5ffd1110e9
Added concept of "transaction fingerprints"
...
The region allocator marks freed regions "Condemned" before actually freeing them. Condemned regions are associated
with a transaction; before they can be reused / coalesced the transaction that condemned them must complete.
The region allocator used "TisActiveTransaction(xid)" to determine whether a given transaction had completed. The
problem is that Stasis now reuses transaction id's, and condemned regions were never reclaimed in practice. A transaction
fingerprint is a unique identifier (currently transaction id, rec_lsn) that can be used to distinguish transactions that
did not execute concurrently.
I considered an alternative design based upon end-of-transaction actions. This would have worked as well, but would
have been a more invasive change.
2010-02-18 19:12:46 +00:00
Sears Russell
4e100479d1
Add TarrayListDealloc() to arrayList. Remove one region allocation from each array list alloc. Add unit test for dealloc.
...
Also, removed some old compensations cruft.
2010-02-18 04:12:39 +00:00
Sears Russell
98e0cb1fab
implement TregionSize(), add TregionForce()
2010-02-12 16:44:28 +00:00
Sears Russell
250223086c
reordered includes for compatibility with gcc3
2010-01-21 00:03:17 +00:00
Sears Russell
1409a9eb27
more refactoring; log handles now manage their log entries memory
2009-12-31 23:01:37 +00:00
Sears Russell
7ff80f37ef
add deferred, end of transaction callbacks. addresses issue 15
2009-12-15 06:30:37 +00:00
Sears Russell
c4e80b41b5
more include cleaning on alloc, begin cleaning of bufferHash
2009-08-22 21:29:27 +00:00
Sears Russell
1ce1496226
dependency cleanups; removed compenastions from alloc.c
2009-08-22 00:01:02 +00:00
Sears Russell
a6aa8ed942
added method to access dirtyPageTable
2009-08-05 20:02:33 +00:00
Sears Russell
c961b34903
forgot to commit b-tree source files
2009-07-29 21:04:08 +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
b66328192c
in-memory group by implementation
2009-07-01 01:33:24 +00:00
Sears Russell
7db06197ca
refactored truncation + dirty page table, fixed doxygen warnings.
2009-05-20 21:23:51 +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
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
1f336255f5
fix shutdown of empty rose trees
2008-12-05 20:52:39 +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
549f97d297
rewrote mergeThread, added ability to start iterators mid lsmTable
2008-11-26 07:14:23 +00:00
Sears Russell
b8624d09b1
obtain readlocks on lsm tree pages while iterating over them
2008-11-26 07:05:22 +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
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
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
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
eb6ade59e4
fix doxygen warning
2008-11-06 21:06:55 +00:00
Sears Russell
794edb07d5
updated documentation
2008-11-06 07:19:02 +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
a639d461b8
fail a bit earlier on error
2008-10-27 23:32:45 +00:00
Sears Russell
a2a8c73cb5
prevent rose from initiating lots of small merges when the writer process is slow
2008-10-27 23:26:16 +00:00
Sears Russell
108d40ec16
fix warnings on 32-bit platforms
2008-10-09 19:00:17 +00:00
Sears Russell
132a567533
removed dead/unnecessary code; private methods are now static
2008-10-04 07:08:35 +00:00
Sears Russell
ef487c4dc8
remove btree stub files
2008-10-04 00:53:11 +00:00
Sears Russell
6354fe8a2f
use pageid instead of int; Tupdate now takes a pageid instead of a recordid
2008-10-03 02:42:25 +00:00