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
Sears Russell
15e77da1d4
more tests / bugfixes for buffermanager.
2007-03-10 01:29:43 +00:00
Sears Russell
eba02ee311
Balanced each call to Tinit() with a corresponding call to Tdeinit().
2007-03-08 07:48:42 +00:00
Sears Russell
8f3d503ea8
Added TdurabilityLevel().
...
Test cases now pass with LOG_TO_MEMORY and BUFFER_MANAGER_MEM_ARRAY
2007-03-07 06:45:28 +00:00
Sears Russell
237bbe0fbe
Added ability to override default bufferManager implementation with
...
-DUSE_BUFFER_MANAGER
2007-03-06 00:00:26 +00:00
Sears Russell
d2e3aea23e
Fixed compiler warning.
2007-03-04 02:45:48 +00:00
Sears Russell
5650953c4f
Added .cvsignore files.
2007-03-04 00:40:15 +00:00
Sears Russell
26e5aa3069
truncation.c no longer includes on pageFile.h
2007-03-04 00:36:45 +00:00
Sears Russell
078b45dbcc
Removed and/or flagged #include dependencies on pageFile.h (in the process of further factoring bufferManager implementation out of Stasis.)
2007-03-03 02:26:17 +00:00
Sears Russell
60b505fbf9
More problematic seeds.
2007-03-03 01:56:05 +00:00
Sears Russell
b3152261b4
Xid -1 leads to illegal memory accesses. Added checks for it; fixed
...
problematic unit test.
2007-03-03 01:48:58 +00:00
Sears Russell
3884c8f6cd
enabled some old tests
2007-03-03 01:46:06 +00:00
Sears Russell
006cd1e621
Moved roundUp/Down to 'static inline' in header; completed unit test's checks.
2007-02-12 07:54:32 +00:00
Sears Russell
1757eaeb03
Better return checking
2007-02-12 07:18:14 +00:00
Sears Russell
d2d631ff30
Rewrote pinnedRanges.
2007-02-07 03:04:19 +00:00
Sears Russell
fe30fbbd74
RangeTracker seems to be working; still need to write unit tests for its return value.
2007-02-06 02:32:01 +00:00
Sears Russell
99bcf8acd9
Randomized test; bugfixes
2007-01-25 22:38:22 +00:00
Sears Russell
c2fa9913b1
Added partial implementation of range tracking for pinning arbitrary
...
regions. Currently, tracks regions, and is O(m log(n)) for each
operation, where m is the number of transition points per range, and n
is the number of transition points in the system. A transition point is
a place in memory where the pincount changes.
2007-01-24 01:03:52 +00:00
Sears Russell
f522aab6ad
Typo (misspelled logfile name)
2006-12-14 02:53:55 +00:00
Sears Russell
4e4461a193
check.h contains the work "end", which is #defined by the compenstaion stuff; moved check.h to be the first include.
2006-11-22 05:05:58 +00:00
Sears Russell
3c3ccd9df7
Uncommented the file and memory tests.
2006-11-22 05:03:32 +00:00
Sears Russell
4520f672ac
The test sometimes calls append, append, truncate, where the first append terminates after the append, and returns EDOM. Check for this, and allow the test to pass.
2006-11-21 06:49:16 +00:00
Sears Russell
cb90e015a1
Fixed printf warnings
2006-11-10 19:32:44 +00:00
Sears Russell
b8d0ccce79
Modularized the build; made berkeleydb and confuse optional. No longer build as many things by default.
2006-11-09 23:00:50 +00:00
Sears Russell
6efa862485
Fixed 64->32bit cast warnings.
2006-11-07 22:36:46 +00:00
Sears Russell
c86688884a
Updates for 32-bit x86. There are still real 32-bit bugs being emitted as compiler warnings.
2006-11-07 20:36:59 +00:00
Sears Russell
8481e9cdd6
non_blocking is closer to working (it now flushes writes out in the background). This required some api changes. It still passes unit tests, but it's losing data on close()...
2006-10-28 03:33:02 +00:00
Sears Russell
faf55911df
Added non-blocking io implementation. It doesn't actually work yet, but it passes the unit tests. ;)
2006-10-26 05:48:30 +00:00
Sears Russell
10b77729f5
Simple (blocking, poor truncation performance) file handle implementation.
2006-10-18 00:57:36 +00:00
Sears Russell
f2e7a6b3a8
Fixed bug (assert was calling a handle method with an outstanding read buffer).
2006-10-17 03:28:24 +00:00
Sears Russell
45ef627c49
Updated to build check_io.c
2006-10-13 09:03:32 +00:00
Sears Russell
80a4148543
First cut at a new io API, with an in-memory reference implementation + test case.
2006-10-13 04:39:03 +00:00
Sears Russell
e81bf95553
Added a 10 minute timeout.
2006-10-07 00:26:18 +00:00
Sears Russell
1575d97a6b
Fixed recovery bug. TregionDealloc was being called during redo(), causing an assert to fail. Without the
...
assert, would have gone into infinite recursion.
2006-10-05 22:08:42 +00:00
Sears Russell
a3e3ad2453
Added a 20 minute timeout to prevent deadlocks and other problems from blocking the test.
2006-10-05 01:00:10 +00:00
Sears Russell
8092fcb5a5
Made test longer again. (The group commit signal strangeness was preventing it from terminating...)
2006-10-05 00:52:41 +00:00
Sears Russell
fce66d97f5
Less output for short tests; removed obsolete "rm blob[01]_file.txt"
2006-10-04 04:44:49 +00:00
Sears Russell
61c6c6ec2c
Fixed compile warning.
2006-10-04 04:43:17 +00:00
Sears Russell
6e222e6259
Cleaned comments, output.
2006-10-04 04:34:23 +00:00
Sears Russell
58c99d52ba
cleaned comments, output
2006-10-04 04:29:57 +00:00
Sears Russell
9169bfc075
Cleaned up comments and output.
2006-10-04 04:27:24 +00:00
Sears Russell
963b0d2b30
Updated for new logger API.
2006-10-04 04:22:31 +00:00
Sears Russell
8d93f9d7a9
More thorough multithreading, and truncation, re-opening tests.
2006-10-04 04:21:53 +00:00
Sears Russell
20060a099c
Quieter output.
2006-10-04 03:48:08 +00:00
Sears Russell
f9eb6657b9
Simplistic checks to make sure log closes and reopens correctly.
2006-10-03 01:51:14 +00:00
Sears Russell
36157b5a51
Fixes for inMemoryLog
2006-09-27 20:37:56 +00:00
Sears Russell
17b21aedfa
updates for new logger API.
2006-09-27 20:35:30 +00:00
Sears Russell
3dc35ff20d
removed mysterious LSN = 0 lines.
2006-09-27 20:35:08 +00:00
Sears Russell
25d415decb
Another attempt to avoid running out of space...
2006-09-26 20:22:20 +00:00
Sears Russell
fc4c22ec8a
Fixed compile warning.
2006-09-25 22:33:52 +00:00
Sears Russell
986ee57020
More fixes to prevent tardis from running out of disk space.
2006-09-25 22:27:13 +00:00
Sears Russell
e434c35203
shortened test so that tardis will stop running out of space...
2006-09-13 19:53:45 +00:00
Sears Russell
32d21cd398
Fixed compiler warning...
2006-08-11 19:36:46 +00:00
Sears Russell
b615f0bc3e
Towards 64-bit pageids. bufferManager can handle 64-bit offsets, but recordid.page is still 32 bit...
2006-08-11 19:31:42 +00:00
Sears Russell
33ca0d3254
Fix memory leak; initialize p.lockCount (for debugging)
2006-08-11 00:02:16 +00:00
Sears Russell
f74df8a0fe
Test is more stringent now; it runs in roughly the same amount of time
...
becase pageFile.c is no longer using O_DIRECT.
2006-08-10 23:35:21 +00:00
Sears Russell
c413203ec8
Talloc() now reuses space when possible. It still needs to call slottedCompact() intelligentally. Also, allocationPolicy should support an extra tier
...
of pages, so it doesn't suggest ones that aren't already in the buffer pool unless it has to.
2006-07-29 00:56:54 +00:00
Sears Russell
78f7b5a12e
Added tests for concurrent transactions + aborts(). Still doesn't test
...
latching, as it is single threaded.
2006-07-27 00:16:24 +00:00
Sears Russell
62abe94bf5
added fsckRegions(), and call it from the unit tests.
2006-07-25 22:23:15 +00:00
Sears Russell
89b45da869
Fixed a bunch of gcc type punned pointer warnings.
2006-07-25 21:14:33 +00:00
Sears Russell
35b0978859
Removed some debugging output.
2006-07-22 00:00:19 +00:00
Sears Russell
715f9c4395
Shorter runs for interactive unit testing.
2006-07-21 23:58:32 +00:00
Sears Russell
0725af91be
Fixed page leak in Talloc().
2006-07-21 01:07:09 +00:00
Sears Russell
3d8a5dbcd2
Unit test for region allocator.
2006-07-20 21:54:32 +00:00
Sears Russell
ffd3bd960b
switched to region allocator, but TpageAlloc currently grabs its own region...
2006-07-20 01:29:39 +00:00
Sears Russell
eabb8010f4
minor change to aid in debugging
2006-06-21 00:41:47 +00:00
Sears Russell
c8c9b7af19
the logger understands special record types. (At least partially...); shortened blob tests, since the blob
...
implementation is fundamentally broken, and slow
2006-06-20 23:02:27 +00:00
Sears Russell
0c6c0ec50b
Removed pbl header; fixed makefile bugs and the compilation warnings
...
they obscured.
2006-06-20 22:05:45 +00:00