Commit graph

350 commits

Author SHA1 Message Date
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
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
7b4cf40221 refactored/created stasis_buffer_manager_open and stasis_handle_open 2009-05-07 08:52:06 +00:00
Sears Russell
b2ff81fc8e build / test fault_injection by default 2009-04-21 19:03:50 +00:00
Ashok Sudarsanam
2533dd921b fault injection tool for stasis 2009-04-21 18:34:46 +00:00
Sears Russell
434a5fdb55 build unit tests even if check is not installed 2009-04-18 04:57:07 +00:00
Sears Russell
02469fb735 remove dependency on the check unit test suite 2009-04-14 21:55:47 +00:00
Sears Russell
5bb8dbc2b9 centralized #include <check.h>, removed obsolete (uncompiled) unit test. 2009-04-14 20:21:05 +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
4b07b538a6 Renamed some methods; fixed bug that caused recovery to create potentially unbounded numbers of concurrent, active transactions.
(Note: this commit contains quite a few instances of auto-cleaned whitespace....)
2009-04-11 17:17:42 +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
bd2015443f expose nextAvailableLSN for lsn-free pages 2009-03-15 02:43:09 +00:00
Sears Russell
1a1268ac36 re-enable majority of linearHashNTA tests. (Ooops!) 2009-03-15 02:42:00 +00:00
Sears Russell
2ecc822561 more iterator tests 2009-03-15 02:14:03 +00:00
Sears Russell
5ba41bb3cb renamed logWriter.[ch] to safeWrites.[ch] 2008-12-29 20:01:37 +00:00
Sears Russell
6f809b00e2 renamed open/deleteLogWriter 2008-12-29 19:46:51 +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
53a7982f47 fixes numerous blob bugs, allowing linearHashNTA to store arbitrary length key,value pairs. 2008-11-13 04:18:50 +00:00
Sears Russell
e842987915 check that TrecordSize() works for blobs. 2008-11-13 04:17:59 +00:00
Sears Russell
46fbfa3c35 Implement blob deallocation; add test case 2008-11-13 00:13:11 +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
484cd7fd38 fix new gcc compiler warnings 2008-11-11 01:15:25 +00:00
Sears Russell
fc5b5a2b29 do away with librw 2008-11-07 03:44:41 +00:00
Sears Russell
c7c729acfa Fix typo in last commit 2008-11-03 21:51:23 +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
a20d28d369 removed dead code; added additional check for TpagedListInsert() 2008-10-04 07:18:25 +00:00
Sears Russell
42d779838e Check TarrayListLength() 2008-10-04 07:01:38 +00:00
Sears Russell
35216c4ee4 check ring buffer error handling, deallocation 2008-10-04 01:39:23 +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
c0f7336772 fixed broken test cases 2008-10-03 02:41:14 +00:00
Sears Russell
5195eca7f9 fix pobj warning; add pobj tests to cmake 2008-10-02 07:15:35 +00:00
Sears Russell
545fe27019 increased test timeout 2008-10-01 17:59:16 +00:00
Sears Russell
4afe95cda7 unit test was setting page lsns to invalid values, breaking truncation 2008-10-01 15:57:29 +00:00
Sears Russell
defbcbfde1 Fixed bug in check_bufferManager.c. It wasn't marking pages dirty or setting LSN's. 2008-09-30 17:49:39 +00:00
Sears Russell
db1d79efcd Removed Tinstant* and broken logical hash stuff 2008-09-30 15:34:42 +00:00
Sears Russell
b91050755a Shortened tests again (hitting timeouts...) 2008-09-29 14:38:19 +00:00
Sears Russell
466c58a141 Shortened test so that it can terminate in a reasonable amount of time. 2008-09-29 14:20:43 +00:00
Sears Russell
0ec7af69a2 fixed locking bugs, cleanup, added diagnostic messages 2008-09-29 04:30:21 +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
3da2d2b71c fix compile warnings 2008-09-28 01:45:18 +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
afbd89e3ff All headers now live in the header directory. (stasis/, not src/stasis) 2008-04-13 04:02:57 +00:00
Sears Russell
034343737b Preliminary cmake build system (just enough for unit testing; misses lots of old code and benchmarks...) 2008-03-02 23:25:31 +00:00
Sears Russell
e49d51cb7e Clean up includes for new cmake build system. 2008-03-02 23:21:39 +00:00
Sears Russell
7dc83577c5 Make valgrind happy by zeroing out partially initialized struct. 2008-03-01 19:35:16 +00:00
Sears Russell
673f6b55d3 Allocation bugfixes 2008-02-29 18:03:32 +00:00
Sears Russell
0fc93d07d3 remove dead code. 2008-02-20 22:50:19 +00:00
Sears Russell
516410ef47 Don't register regions on behalf of another allocation manager (otherwise, recovery fails...) 2008-02-20 22:48:30 +00:00
Sears Russell
4fe834e37b Valgrind fixes / properly completes writes now. 2008-02-19 21:56:32 +00:00
Sears Russell
3c4b7f6601 lsmTree's page lookup semantics changed so that returns the page id that a tuple would be on. The test was written assuming the user passes in a tuple that
appears at the beginning of the page.
2007-11-09 20:05:40 +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
4daffabdf3 Partially implemented this unit test. 2007-11-01 19:46:20 +00:00
Sears Russell
1e4f3937fd Fixed bug that only occurs during nightly (more thorough) regression runs; stack allocation was failing. 2007-10-30 16:26:29 +00:00
Sears Russell
e322ec2795 smoketest shouldn't call truncate if the handle doesn't support it. 2007-10-23 23:26:33 +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
5df9fbdc9c Increased verbosity of output. 2007-10-22 20:48:12 +00:00
Sears Russell
7fb4fd4c1a Updated svn:ignore. 2007-10-03 01:52:41 +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
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
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
8963d6d381 Fixed recordNext(), add unit test for recordNext() on slotted and fixed pages. 2007-08-20 16:04:44 +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
a773c4d8b7 Bugfixes and improved error handling for recovery tests and registerPageType() 2007-07-19 23:47:06 +00:00
Sears Russell
799300753c This test was broken by the pageLoaded / pageFlushed callbacks; it overwrote the page type with garbage, then stasis attempted to interpret the page type 2007-07-19 16:34:18 +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
Sears Russell
4998e57566 Updated for the new page API 2007-06-07 21:53:09 +00:00
Sears Russell
b93ee3853b Ignore core dumps, and all the .log files 2007-06-01 22:22:36 +00:00
Sears Russell
dd7c6b857d Added assertlock() and call it when page implementations assume a page has already been latched. (Fixed
associated bugs as well)
2007-06-01 21:32:33 +00:00
Sears Russell
d1aeba8a82 Cleaned up obsolete @todo's; fixed inconsistent page file initialization 2007-06-01 21:06:18 +00:00
Sears Russell
951a897040 Add casts to prevent warnings on (upcoming changes to) recordRead, recordWrite 2007-05-31 22:40:19 +00:00
Sears Russell
bff22716a7 Updated page.h's interface to make it more consistent. 2007-05-31 01:15:12 +00:00
Sears Russell
15addf35aa Ignre
Ignore data files emitted by tests.
2007-05-30 18:38:47 +00:00
Sears Russell
84f0137d3e Added entries 2007-05-25 21:14:11 +00:00
Sears Russell
91cbaa607d Fixed compiler warning. 2007-04-21 20:35:37 +00:00
Sears Russell
662311e6ef Shortened test to prevent timeout on tardis. (It runs fast enough on my laptop; should figure out why
tardis performance is so poor...)
2007-04-21 05:48:27 +00:00
Sears Russell
22306e68ed reopen tests were unnecessarily and incorrectly init'ing the buffer manager. 2007-04-21 02:27:54 +00:00
Sears Russell
2b1ac8dbc0 Was init'ing buffer manager without de-init'ing it; Cleaned out old comments. 2007-04-20 07:14:19 +00:00
Sears Russell
362b1036de Changed CLR log format so that it is identical to update entries. The old format pointed back to an earlier
entry in the log, complicating truncation significantly.  The new format copies log entries into their CLRs,
and is somewhat redundant, as redo and undo information is stored in the CLR, but the undo information will
never be used...
2007-04-03 09:18:45 +00:00
Sears Russell
1fdaf05b11 Changed fail_unless() to assert(); fixed test that used '4' instead of XABORT. 2007-03-30 07:36:02 +00:00
Sears Russell
6df9f538f4 Randomized allocation test. 2007-03-27 22:07:13 +00:00
Sears Russell
039630df09 Cleaned up #includes a little. 2007-03-20 00:56:34 +00:00
Sears Russell
3ca1c30bce set 20 minute timeout. 2007-03-13 18:20:08 +00:00
Sears Russell
c439d3a111 Update for new API (need an extra field for getNode, setNode). 2007-03-13 09:56:39 +00:00
Sears Russell
59d59bde13 Increased timeout. (Maybe it'll stop timing out now. ;) 2007-03-13 08:43:41 +00:00
Sears Russell
2c6e674ab3 Streamlined bufferHash implementation, with new test-cases. 2007-03-11 07:55:00 +00:00
Sears Russell
2e288817ff Update for new replacement policy api 2007-03-11 07:53:32 +00:00