Sears Russell
260310e151
Add page ops for tree implementations.
2009-07-26 06:18:54 +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
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
cf49c7dbf1
forgot to svn rm indirect's files
2009-07-07 20:05:15 +00:00
Sears Russell
397b0fa245
remove indirect page implementation
2009-07-07 20:03:52 +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
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
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