Commit graph

92 commits

Author SHA1 Message Date
Sears Russell
220c33cc31 Fixed two buffer manager performance problems (Markos, Vinayak, thanks for pointing these out!):
- No longer hold global mutex during page writeback
 
 - Don't reserve 90% of the buffer pool for the free list.  Now the freelist reserves 1% of the buffer pool + 6 pages, and expands if it runs out of space.
2008-10-01 20:43:58 +00:00
Sears Russell
ff5ef752f3 fix compiler warning 2008-10-01 15:50:24 +00:00
Sears Russell
db1d79efcd Removed Tinstant* and broken logical hash stuff 2008-09-30 15:34:42 +00:00
Sears Russell
5dcf3bd1a4 check_bufferManager should pass now(!!!) bufferManager was crashing with "assert(victim)
failed" if the application pinned so many pages that the writeback tasks could not write back 
pages in order to maintain the free page list.

 - Instead of crashing, issue warning the first time this happens.

 - Add diagnostic message explaining that all pages have been pinned before crashing 
   due to a failed loadPage() request.
2008-09-29 04:35:08 +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
7867100b8b change default io handle to pfile (was non_blocking) 2008-09-28 01:44:18 +00:00
Sears Russell
b6c3f60126 removed unneccessary local variable 2008-09-28 01:02:36 +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
75419290c4 Added asserts to help narrow down unit test failures 2008-09-12 22:55:23 +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
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
3b70dfaab7 nearly ready to run experiments... 2008-03-14 03:06:52 +00:00
Sears Russell
0c7d45f788 Added support for tombstones and rudimentary versioning.
workload 2 is broken at the moment.
2008-03-13 01:16:37 +00:00
Sears Russell
fbf5544853 Chose more appropriate data sizes. 2008-03-13 01:13:52 +00:00
Sears Russell
5ea1f630d7 Fixed memory leaks. 2008-03-11 23:17:15 +00:00
Sears Russell
474670092e Fixed exceptional value handling. 2008-03-11 08:47:12 +00:00
Sears Russell
0f27d30d22 Fixed overrun handling (nop wasn't using it; the multicolumn page implementations were broken...)
Updated for to use 8 bit deltas (nop provides alternative to 16 bit deltas in many cases...)
2008-03-10 08:19:23 +00:00
Sears Russell
893c1afee9 Added "no-op" compressor (to allow compression to be disabled...) 2008-03-08 07:43:53 +00:00
Sears Russell
e8490c8b8a Fixed compiler warnings 2008-03-08 07:36:47 +00:00
Sears Russell
567c2b51b9 Fixed bug in recordFind. It was finding values outside of the requested range. 2008-03-08 07:33:44 +00:00
Sears Russell
50c5123548 Added new dynamic version of multicolumn, and pagelayouts, etc to support it. 2008-03-08 03:16:08 +00:00
Sears Russell
922669bde4 fix compiler warning 2008-03-08 03:04:16 +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
3b74523a53 Fix memory leak. 2008-03-01 20:40:31 +00:00
Sears Russell
4104de06ff fixed double free (was freeing iterator in next() and close()...) 2008-03-01 20:30:48 +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
4c83e1c373 Fixed memory leak during analysis phase. 2008-03-01 19:27:31 +00:00
Sears Russell
673f6b55d3 Allocation bugfixes 2008-02-29 18:03:32 +00:00
Sears Russell
043b9a7a01 Regions are 1 offset;iterator was totally broken. 2008-02-20 22:56:52 +00:00
Sears Russell
17d4f95d03 Fix bookkeeping, get rid of aborts during recovery of partially flushed log. 2008-02-20 22:51:52 +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
1846340251 Zero out memory at initilization 2008-02-19 21:29:46 +00:00
Sears Russell
175b7e281e Zero out memory and dirty bit at initialization. 2008-02-19 21:27:34 +00:00
Sears Russell
19949af99d More sanity checking. 2008-02-19 21:26:31 +00:00
Sears Russell
178ef7dc47 Fixes errors/warnings revealed by 32-bit x86. 2007-12-19 03:23:31 +00:00
Sears Russell
71451f0c93 Bugfixes for experimental repeatability 2007-12-14 19:08:09 +00:00
Sears Russell
ab4fb0df6c Fix linker namespace collision with libz 2007-12-06 21:52:37 +00:00
Sears Russell
5d62e0c0df Filled in paper info about the data set; minor tweaks to R setting code. 2007-11-15 16:57:25 +00:00
Sears Russell
2bb6fce574 Code is ready(?) for experiments (version before this was solid despite (now) known bugs; I saw some crashes with these diffs, but think they've all been
addressed.)
2007-11-15 01:33:39 +00:00
Sears Russell
58e0466339 roseTable csv parser. updated rose.cpp for benchmarking 2007-11-13 23:40:21 +00:00
Sears Russell
5ad137164f Fixed compiler warnings. 2007-11-12 16:40:50 +00:00
Sears Russell
5384d1efc5 indirect.c creates a scratch page with malloc. It wasn't setting the scratch page's type to UNINITIALIZED_PAGE, leading to segfaults. 2007-11-12 16:32:00 +00:00