Commit graph

285 commits

Author SHA1 Message Date
Sears Russell
41460d041a did away with memoization for rle_ (cost of mutex was too high). pthread_[get|set]specific does not provide enough keys to make sense as an alternative 2008-11-27 00:08:59 +00:00
Sears Russell
fe6c865737 support multiple include 2008-11-26 22:37:49 +00:00
Sears Russell
549f97d297 rewrote mergeThread, added ability to start iterators mid lsmTable 2008-11-26 07:14:23 +00:00
Sears Russell
1985ec6424 defensively check that caller locked pages as appropriate 2008-11-26 07:12:51 +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
9012bef5fc Fixes nasty concurrency bug; rle's readRecord() was not reentrant(!) 2008-11-26 06:58:22 +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
cafd05f9bd moved legacy buffer manager into its own directory 2008-11-13 20:08:37 +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
dcf07c1d4c Remove obsolete #include 2008-11-13 00:08:27 +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
fc5b5a2b29 do away with librw 2008-11-07 03:44:41 +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
0a551720c8 added optional template arguments to FOR and RLE to let callers specify the size of delta_t and copy_count_t, resepectively. 2008-10-27 23:35:51 +00:00
Sears Russell
0ff6196776 documentation fix 2008-10-27 23:33:22 +00:00
Sears Russell
a639d461b8 fail a bit earlier on error 2008-10-27 23:32:45 +00:00
Sears Russell
c7ba4dfb62 forgot to commit header for new allocation policy function 2008-10-27 23:30:53 +00:00
Sears Russell
470c52c9cc add compile time PACK_STATS option that displays statistics about the number of bytes used per column 2008-10-27 23:27:48 +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
5c5b6d0c67 allow callers to truncateNow() to (safely) override normal truncation policy 2008-10-27 23:24:21 +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
c8d368f4b1 Don't include btree header... 2008-10-04 01:37:31 +00:00
Sears Russell
ef487c4dc8 remove btree stub files 2008-10-04 00:53:11 +00:00
Sears Russell
aee7e00c99 Fixed doxygen warning 2008-10-03 17:10:54 +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
Sears Russell
cf8eb2ca15 fix doxygen warnings 2008-10-01 20:32:02 +00:00
Sears Russell
db1d79efcd Removed Tinstant* and broken logical hash stuff 2008-09-30 15:34:42 +00:00
Sears Russell
ff0887624c Simplified the page locking conventions.
Added paranoid calls to assertlock() to page.c

Fixed race in abort():

 - pick CLR LSN

 - release page lock

 - someone else updates page

 - lock page

 - apply undo
2008-09-28 05:50:59 +00:00
Sears Russell
6d17442380 Major refactoring:
- Changed operations to take only two arguments
     - No more hacks regarding log argument sizes

     - Set pageid = INVALID_PAGE if you want a logical operation

  - Ported operation implementations to new api; exposed + fixed a number of concurrency bugs

  - More fixes to prepare

  - Fixed to nested top actions

  - More coherent operations api / recovery implmentation

  - TnaiveHash* and Tinstant* are (and were already) broken, and are set for removal

  - Removed some instances of fail_unless

  - Fixed design flaws in blob implementation.

  - New naming convention for operation callback functions.
2008-09-28 03:11:24 +00:00
Sears Russell
41cd975e91 fixed new const warnings from gcc 2008-09-24 06:40:34 +00:00
Sears Russell
944c7e984f fixes / cleanups of Tprepare() 2008-09-24 03:08:32 +00:00
Sears Russell
fb4e91debe removed deferred operation stubs 2008-09-12 23:08:41 +00:00
Sears Russell
e6ec2cb9fc Added "loadUninitializedPage()", which returns an uninitialized page instead of reading preimages from disk. 2008-06-09 01:13:02 +00:00
Sears Russell
aaf2f8bc39 Binary search implementations 2008-06-08 20:45:04 +00:00
Sears Russell
75f857bc26 Added supoort for binary search to page lookups 2008-06-08 20:28:53 +00:00
Sears Russell
651299716e Fixed bugs in gc iterator. 2008-06-08 20:28:23 +00:00
Sears Russell
690ebdea9a Mess with some of the typedefs for better code clarity, and (hopefully) better real-world compression. 2008-05-27 07:33:35 +00:00
Sears Russell
a4c29b95a2 Fix bug due to over-zealous optimization. It was accidentally skipping the max slot id check in some cases. 2008-05-27 07:32:37 +00:00
Sears Russell
decc2f7dfb Port to centos 4.2 2008-05-21 21:15:11 +00:00
Sears Russell
2863487991 Documentation update; added more sections under modules, reduced amount of cruft generated by doxygen. 2008-04-23 01:41:57 +00:00
Sears Russell
2929394b31 Fixed some documentation warnings, and clarified a few points. 2008-04-17 06:29:34 +00:00
Sears Russell
afbd89e3ff All headers now live in the header directory. (stasis/, not src/stasis) 2008-04-13 04:02:57 +00:00
Sears Russell
b1bfe7979f Questionable attempts to appease valgrind. 2008-03-14 03:09:29 +00:00
Sears Russell
ba986bfb02 Fix spurious 'error' in flamebox report. 2008-03-03 06:41:25 +00:00
Sears Russell
e49d51cb7e Clean up includes for new cmake build system. 2008-03-02 23:21:39 +00:00
Sears Russell
146563ca45 Allow third parties to register new iterator types. (made iterator registration non-static; moved constants into constants.h) 2008-03-01 19:34:12 +00:00
Sears Russell
f05b0233a3 Fixed memory leaks on iterator open/close Also zero out some memory defensively. 2008-03-01 19:32:34 +00:00
Sears Russell
673f6b55d3 Allocation bugfixes 2008-02-29 18:03:32 +00:00
Sears Russell
752606ad3b Region tags are 1 offest (not zero), remove allocation manager id collision) 2008-02-20 22:49:24 +00:00
Sears Russell
a823255227 Added interface to let other stasis modules find regions' boundary tags 2008-02-19 22:07:13 +00:00
Sears Russell
af149cdad1 remove old comment. 2008-02-19 21:17:38 +00:00
Sears Russell
ab4fb0df6c Fix linker namespace collision with libz 2007-12-06 21:52:37 +00:00
Sears Russell
5ad137164f Fixed compiler warnings. 2007-11-12 16:40:50 +00:00
Sears Russell
9bb6984c23 force_range is now being called after compressData() 2007-11-12 00:49:00 +00:00
Sears Russell
87a70f29bc Preliminary force_range implementation; lsmTable leaks significantly less space now. 2007-11-11 23:22:21 +00:00
Sears Russell
95d7d3cd5f oops, broke the build (rose's c++ stuff #includes this, but it was missing BEGIN_C_DECLS... 2007-11-11 18:01:26 +00:00
Sears Russell
f2df518338 Implemented TlsmTableFind(); fixed quite a few bugs in merge, comparators, etc... 2007-11-06 02:27:04 +00:00
Sears Russell
7e2c37534e Partial implementation of a collection oriented interface for ROSE. (Checking in to create version to diff against.) 2007-11-01 20:09:55 +00:00
Sears Russell
b167b98085 * Remove spurious warnings messages from tests that intentionally crash stasis.
* Move and rename lladd_autoTruncation flag to stasis_truncation_automatic in flags.c
2007-10-23 23:16:58 +00:00
Sears Russell
9b8fefe68d Added force() to the handle API. It is now called from tests, and by the buffer manager 2007-10-23 01:51:03 +00:00
Sears Russell
d7e56fc96f Added more buffer manager flags (allow programs to bypass non_blocking). 2007-10-22 20:50:00 +00:00
Sears Russell
1fa05b7aa5 Documentation fix 2007-10-22 20:46:31 +00:00
Sears Russell
ebc6258fea Fixed DEBUGGING flag (compensations.h wasn't be included when DEBUGGING was defined...) 2007-10-22 20:31:16 +00:00
Sears Russell
c9bbf3af94 Converted page.h to follow new naming convention; documented new page api; begun stasis documentation cleanup. 2007-10-02 00:18:33 +00:00
Sears Russell
4c06c172e0 Final submit from google 2007-08-24 23:35:04 +00:00
Sears Russell
5f954eb239 Final commit from google. 2007-08-24 23:01:08 +00:00
Sears Russell
5bd2138a8b Fixes a number of memory leaks; adds pageCleanup() callback, and allows callers to use custom allocators with LSM trees 2007-08-20 21:58:20 +00:00
Sears Russell
9c1c284406 Implemented range scans; lsmTree now supports keys that are stored as fixed length byte arrays. 2007-08-20 16:53:16 +00:00
Sears Russell
519bd515f4 New access method for the buffer manager; write coalescing; runtime bufferManager selection and a few bufferManager bugfixes. 2007-08-20 16:25:08 +00:00
Sears Russell
90f011b049 New access method for the buffer manager; write coalescing; runtime bufferManager selection and a few bufferManager bugfixes. 2007-08-20 16:23:57 +00:00
Sears Russell
8367dfe9a3 releasePage() is now a function, not a function pointer. releasePageImpl is the name of the new function pointer. 2007-08-14 01:20:08 +00:00
Sears Russell
9745d62887 Preliminary LSM tree implementation (hardcodes keys as ints for now) 2007-08-14 01:17:31 +00:00
Sears Russell
c3181675db Wrote documentation covering page type implementations; fixed doxygen config. 2007-07-20 23:21:13 +00:00
Sears Russell
a773c4d8b7 Bugfixes and improved error handling for recovery tests and registerPageType() 2007-07-19 23:47:06 +00:00
Sears Russell
9fd91cffb8 Updated page api to handle page types that need to grab resources on record read/ write, or that perform callbacks when read / written to disk. 2007-07-18 20:09:14 +00:00
Sears Russell
356387eafe support "make install", and use libtool to generate .so, .a files. 2007-06-25 15:47:28 +00:00
no author
d0274c3304 Renamed 'lladd' directories and python module to 'stasis' 2007-06-11 21:36:57 +00:00