Sears Russell
f01cff0d5b
Cleaned up logger API, added truncation support to inMemoryLog.c
2006-09-27 20:30:12 +00:00
Sears Russell
af175896cb
Added logWriter_isDurable. If = 0, then the log will never be forced.
2006-08-10 23:54:46 +00:00
Sears Russell
1b6c828bd2
Added logWriter_isDurable. If set to zero, the log will never be forced
...
to disk.
2006-08-10 23:53:51 +00:00
Sears Russell
8aad1b896a
pthread.h | rw.h -> latches.h (Otherwise, -DPROFILE_LATCHES doesn't work.
2006-07-25 01:06:01 +00:00
Sears Russell
eb13531c0f
Partial handling of incomplete log entries. (It detects when the log file does not end at the right byte, but doesn't checksum, or otherwise look for
...
sectors that didn't make it to disk.)
2006-07-21 01:06:35 +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
e0b34633ec
Fixed broken min_rec_lsn() semantics; before, if there were not outstanding transactions / writes,
...
then these calls would return flushedLSN(). The problem was that flushedLSN wasn't guaranteed to
return a pointed to the beginning of a log entry.
2006-06-12 21:50:21 +00:00
Sears Russell
7bb0ce0d17
Fixed truncation bug (truncation is more aggressive now), and added more debugging info.
2006-06-12 20:55:49 +00:00
Sears Russell
27f7df6f09
Fixed races on flushedLSN and page->dirty.
2006-06-12 20:05:28 +00:00
Sears Russell
35a5e80871
removed bogus .deps files.
2006-06-01 22:18:50 +00:00
Sears Russell
fda416090b
Fixed a bunch of 'easy' warnings
2006-05-25 00:02:46 +00:00
Sears Russell
ef43d5e4ce
Implemented log truncation.
2006-04-14 03:45:26 +00:00
Sears Russell
33cbbb0e2d
In memory logging implementation
2006-04-12 01:40:47 +00:00
Sears Russell
c1d8906d28
removed memcpy() calls from inMemoryLog; added "const" qualifier to many LogEntry pointers.
2006-04-11 02:20:21 +00:00
Sears Russell
7decae7172
All tests that pass with LOG_TO_FILE now pass with LOG_TO_MEMORY, but LOG_TO_MEMORY is slow, and seems to be
...
killing malloc's performance for some reason. (linearHashNTA spends many seconds in free() between unit
tests...)
2006-04-08 00:05:09 +00:00
Sears Russell
d3d7f2c788
Implemented "LOG_TO_MEMORY", which mostly works (linear hash NTA goes into an infinite loop....)
2006-04-07 03:40:40 +00:00
Sears Russell
1c979f3052
Factored logWriter.h out of the rest of the system. The only file that directly depends on it is logger2.c, which can
...
now dispatch requests to different (hardcoded) log implementations.
2006-04-06 03:22:57 +00:00
Sears Russell
959233566c
changed type of lsn variables to "lsn_t"
2006-04-04 22:33:30 +00:00
Sears Russell
bb37db0857
Partial port to amd64.
2006-03-20 23:11:46 +00:00
Sears Russell
6b95cefc62
Fixed logWriter abort performance bug, also cleaned up the file, simplified locking, etc.
2005-04-14 04:23:22 +00:00
Sears Russell
ee9eb416ea
Implemented fifo pool that allocates entries out of a pool (it should be easy to extend this to avoid deadlock, while allowing it to continue to provide backpressure)
2005-03-23 08:07:53 +00:00
Sears Russell
26d50f19e3
Cleaned up berkeley db tests / lladd logger optimizations + bug fix.
2005-03-19 20:28:30 +00:00
Sears Russell
d8eb6c9aa7
Major benchmark update; log force merging.
2005-03-17 04:38:55 +00:00
Sears Russell
dffff067bb
multiplexer and fifo are now working. (also added removed some timeouts from tests that were timing out)
2005-03-15 05:30:57 +00:00
Sears Russell
ed9b978bda
Another commit on behalf of jimmy. (Fixing the build is hard!)
2005-03-15 01:57:43 +00:00
Sears Russell
ed49949512
This commit breaks the build so that Jimmy and I can sync. Sorry. :(
2005-03-14 00:25:29 +00:00
Sears Russell
f28df29736
Fixed unit tests, added iterator interface, and generic (almost) iterator test harness.
2005-03-10 03:19:04 +00:00
Sears Russell
a3112ee81c
Fixes for freebsd.
2005-03-02 05:47:38 +00:00
Sears Russell
258dd5f4c4
Fixed up some return values; tests now pass with assert disabled.
2005-02-08 01:13:57 +00:00
Sears Russell
54edde96c2
Possible fix for older 2.4 kernels. (Also should improve performance...)
2005-01-20 00:26:09 +00:00
Sears Russell
894e30085c
libdfa ported to new hash table implementation. (Uses nested top actions.)
2005-01-15 23:55:49 +00:00
Sears Russell
7a990886d2
The linked list implementation now uses nested top actions. (Also, many bugfixes regarding nested top actions were introduced.)
2005-01-14 10:08:10 +00:00
Sears Russell
360f0d15e2
Working, non-concurrent linear hash and linked list implementations.
...
The idea is to implement the non-concurrent versions, and then convert
them to concurrent versions using nested top actions.
2005-01-14 01:52:53 +00:00
Sears Russell
443a90ad7c
Implemented TrecordType()
2004-12-01 01:26:25 +00:00
Sears Russell
af9e7adee0
Starting work on the actual graph-generation portion of the benchmarks. :)
2004-10-20 06:21:21 +00:00
Sears Russell
ec99c0e258
Lots of optimizations; re-did on-disk layout for the linear hash table.
2004-10-19 21:16:37 +00:00
Sears Russell
6b265f28b0
Speedups, most notably in the logging subsystem.
2004-10-19 04:45:42 +00:00
Sears Russell
c850ce3a51
The logger now calls fwrite half as often as it used to. This could be improved significantly, but some latching details internal to the logger need to be worked out first.
2004-10-18 19:19:10 +00:00
Sears Russell
96e7af92a4
Added test cases for Tprepare(), implemented some redo-only operations, and started to clean up record allocation/deallocation.
...
Also, numerous bugfixes.
2004-10-02 07:29:34 +00:00
Sears Russell
b4d7883f66
Fixed regressions, major update of page / slotted interfaces in anticipation of moving LLADD towards a generic transactional page system.
2004-08-17 01:46:17 +00:00
Sears Russell
82e3fdb53a
Added (untested) support for whole-page operations, lladdhash now works.
2004-08-03 02:04:56 +00:00
Sears Russell
961b63af15
Rewrote / refactored page.h. Now, it uses a freelist to reclaim slotid's within a page, and is implemented as two seperate modules. The first handles lsn's, and (will soon) check the type of each page, and then delegate work to a particular implementation of the second module.
2004-07-30 01:28:39 +00:00
Sears Russell
78eb2cbf6a
O_DIRECT (sort of...)
2004-07-27 21:30:54 +00:00
Sears Russell
54ba9b0347
Refactored bufferMananger / pageCache, so that bufferMananger handles loading an unloading pages, and pageCache only implements the replacement policy.
...
Also, used memprof to detect and remove all memory leaks (at least all memory leaks that are encountered by check_transactional2), and fixed a number of misuses of the pblHash.
2004-07-27 01:04:35 +00:00
Sears Russell
422198418a
bufferMananger is (really!) re-entrant now, performed big refactoring to prevent deadlocks, check_transactional2 ran overnight without coring, w/ 25 threads, and 10000 allocate/write/reads per thread. (The whole test suite was run in a loop...)
2004-07-23 20:21:44 +00:00
Sears Russell
126ae31392
bufferMananger is *really* reentrant now! (I think) However, the same thread may not load a page more than once. So, LLADD has to be altered so that it never calls loadPage() more than once per operation (more efficient), and/or pin/unpin need to be implemented. An easy way to do pin/unpin is to have them pull things out of the cache replacement list, and then re-insert them.
2004-07-21 02:13:28 +00:00
Sears Russell
490dd86c09
pageCache.c is now re-entrant.
2004-07-20 00:15:17 +00:00
Sears Russell
12fc5665ab
pageCache is now re-entrant, in theory.
2004-07-15 00:42:36 +00:00
Sears Russell
9712e291e6
Moved page.h and some of the logging headers out of the public API.
2004-07-14 21:25:59 +00:00
Sears Russell
2b42451280
Cleaning up bufferManager / page for locking. Want to limit access to the Page struct.
2004-07-14 20:49:18 +00:00