History log of /6.0.3/forestdb/tests/unit/btreeblock_test.cc (Results 1 - 25 of 34)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v1.2, v1.1, v1.0
# d4c9c4bb 03-Sep-2015 Sundar Sridharan <sundar.sridharan@gmail.com>

MB-16221 don't call fsync on commit if auto_commit=true

Change-Id: Ie33e2b484b8a8e885ac3e10b5b15ae039bd83f7e


# 575a6f76 13-Apr-2015 Sundar Sridharan <sundar.sridharan@gmail.com>

Compiler warnings fixes

Change-Id: If65fd3b81d2c22397f7dd958a2e2501c83845d35


# 225450a4 09-Apr-2015 Sundar Sridharan <sundar.sridharan@gmail.com>

Enable test parallelization by use of separate filenames

Change-Id: I2faaf85e919f26e8db2d6c0f7b31ff7853bb358d


# b84b312a 06-Feb-2015 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-13101 Partition the in-memory WAL index to reduce the lock contention.

This change implements the partitions of the in-memory WAL index that is
maintained per file. The number of part

MB-13101 Partition the in-memory WAL index to reduce the lock contention.

This change implements the partitions of the in-memory WAL index that is
maintained per file. The number of partitions is configurable when the
database file is opened.

Change-Id: I136a60aa0f6955fb91a09af8210a17392be16a12

show more ...


# 5a5f326f 12-Jan-2015 Tommie McAfee <tommie@couchbase.com>

refactor testing build system

moves testing into main 'tests' directory with following subdir
corresponding to suites:
tests/unit
tests/functional
tests/anomaly

refactor testing build system

moves testing into main 'tests' directory with following subdir
corresponding to suites:
tests/unit
tests/functional
tests/anomaly

adds new targets:
make unit_tests
make functional_tests
make anomaly_tests

Change-Id: Ia288d8366cc299f9df9c598809973320d701eee0

show more ...


# 3c6d74b4 02-Jan-2015 Sundar Sridharan <sundar.sridharan@gmail.com>

MB-12612: handle read failures, CRC failures

Propogate CRC checksum failures and read failures to api
Added anomaly test for read at open and CRC failure at fdb_get
Change-Id: I98dbc

MB-12612: handle read failures, CRC failures

Propogate CRC checksum failures and read failures to api
Added anomaly test for read at open and CRC failure at fdb_get
Change-Id: I98dbc8d48cadb6f95632e81b32c4754a8361fc2a

show more ...


# a6d03290 14-Nov-2014 Sundar Sridharan <sundar.sridharan@gmail.com>

MB-12613: More clang static analyzer bug fixes

Change-Id: I7224aa79983eac281a5b11c482c73cdd74ef4515


# 45647b9e 13-Nov-2014 Sundar Sridharan <sundar.sridharan@gmail.com>

MB-12613_2 Clang static analyzer bug fixes

dead assignments, dead initialization, UNIX api errors, uninitialized use

Change-Id: I88d647178d26ff1dbfaee467fcedcc12b9e1e686


# 46ead661 14-Oct-2014 Chris Hillery <ceej@couchbase.com>

Various changes to get ForestDB compiling as part of Sherlock build

Change-Id: I9c5397b2a8f55c9a2d30c85cb4cf4da1bfa59a21


# 803bed0e 29-Sep-2014 Sundar Sridharan <sundar.sridharan@gmail.com>

MB-10961 Reverse Iteration Feature Support

New api fdb_iterator_prev() to reverse iterate over keys
in the sequence B+ trees as well as the HB+ Tries
along with internal hbtrie_prev

MB-10961 Reverse Iteration Feature Support

New api fdb_iterator_prev() to reverse iterate over keys
in the sequence B+ trees as well as the HB+ Tries
along with internal hbtrie_prev and btree_prev routines
Each layer (B-tree, HB-Trie, ForestDB) remembers the direction
and position of iteration so the next call is as expected.
test cases: sequence btree iteration,
forward+reverse+forward with turn at either end at all 3 levels
Change-Id: I5b899e77a6223004112b3fcd1ff61b161a9104d2

show more ...


# fef67a48 10-Sep-2014 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-11426 Support the in-place manual compaction.

If a new file name is not given (i.e., NULL is passed) in a manual compaction
mode, then a new file name will be automatically created by

MB-11426 Support the in-place manual compaction.

If a new file name is not given (i.e., NULL is passed) in a manual compaction
mode, then a new file name will be automatically created by appending
a file revision number to the original file name. For example, if the original
file name is "test.fdb" and fdb_compact(db, NULL) is invoked, then "test.fdb.1"
file will be created after the compaction. Note that this new compacted file
can be still opened by using the original file name
(e.g., fdb_open(db, "test.fdb")).

Example usage:

fdb_open(db1, "test.fdb");
...
fdb_compact(db1, NULL); // "test.fdb.1" is created after compaction.
// Note that "test.fdb" will be removed automatically
// when its reference counter becomes zero.
...
fdb_compact(db1, NULL); // "test.fdb.2" is created after compaction.
// Note that "test.fdb.1" will be removed automatically
// when its reference counter becomes zero.
fdb_open(db2, "test.fdb"); // "test.fdb.2" is opened because that is the last
// compacted file.
...
fdb_close(db1);
fdb_close(db2); // "test.fdb.2" is automatically renamed to the original file
// name "test.fdb" because there are no database handles on
// "test.fdb.2".

Change-Id: I1b08f687a91947a214bc607b6966a7fbed8ae533

show more ...


# b166453f 17-Jul-2014 Jung-Sang Ahn <jungsang.ahn@gmail.com>

MB-11748 Enlarge sub-block if metadata doesn't fit into the node

- If metadata size is too big, out-of-bounds memory access can occur
during the initialization of a B+tree node.

MB-11748 Enlarge sub-block if metadata doesn't fit into the node

- If metadata size is too big, out-of-bounds memory access can occur
during the initialization of a B+tree node.

Change-Id: Id7637682827c6eb585572caf59cfbe8b63528cd4

show more ...


# 0ebdd56f 30-May-2014 Jung-Sang Ahn <jungsang.ahn@gmail.com>

MB-11213 Allow multiple nodes in a block for small B+trees

- When B+tree is created at first so that it consists of a single
unique node, a small sub-block (whose size is 128 bytes by de

MB-11213 Allow multiple nodes in a block for small B+trees

- When B+tree is created at first so that it consists of a single
unique node, a small sub-block (whose size is 128 bytes by default)
is allocated for the B+tree node, instead of a whole block.

- As B+tree grows, the size of its (unique) node also gets doubled
(128 -> 256 -> ..). The B+tree does not use small-sized block anymore
when its height becomes equal to or greater than 2.

- Multiple same-sized sub-blocks are packed in a single block so that
we can save the space occupied by ForestDB up to 1/32 when a block
size is 4096 bytes (128/4096), if there are lots of small B+trees as
leaf nodes of HB+trie.

Change-Id: I4ec8d181dc90be4d994aff60f7b32c127fb6b3b3

show more ...


# a765ad59 09-May-2014 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-11079 Honor FDB_OPEN_FLAG_CREATE in fdb_open API call.

If FDB_OPEN_FLAG_CREATE is not specified when fdb_open API call
is made, FDB_RESULT_NO_SUCH_FILE should be returned to the calle

MB-11079 Honor FDB_OPEN_FLAG_CREATE in fdb_open API call.

If FDB_OPEN_FLAG_CREATE is not specified when fdb_open API call
is made, FDB_RESULT_NO_SUCH_FILE should be returned to the caller
if a given file doesn't exist.

Change-Id: I95a43869704b2f4298a84c10c9b340f91ab2bd72

show more ...


# f145a9b7 08-May-2014 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-10965 Pass configs through fdb_config struct.

Using JSON doc to pass configs turns out to be more complicated
than using a structure. This change returns back to the old way
of pa

MB-10965 Pass configs through fdb_config struct.

Using JSON doc to pass configs turns out to be more complicated
than using a structure. This change returns back to the old way
of passing configs through fdb_config struct.

Change-Id: Ic1b1d568a3340237cfa2cc5cb99005b72c15d12d

show more ...


# 01e33605 19-Apr-2014 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-10845 Support the API to set up the error logging callback

For debugging and tracking any errors inside forestdb,
we provide the new API for registering the error logging
callback

MB-10845 Support the API to set up the error logging callback

For debugging and tracking any errors inside forestdb,
we provide the new API for registering the error logging
callback:

fdb_status fdb_set_log(fdb_handle *handle,
logCallbackFunc,
void *pCtxData);

logCallbackFunc passed by applications can be something like:

void logCallbackFunc(int err_code,
const char *err_msg,
void *pCtxData) {
fprintf(stderr, "error: %d, err_msg: %s\n", err_code, err_msg);
}

pCtxData is used for passing any application-specific context
data to the logging callback.

Change-Id: I9ac742ce579b009ab6581e885dbf4f08b9d9f7f4

show more ...


# 6d79432a 05-Apr-2014 Jung-Sang Ahn <jungsang.ahn@gmail.com>

MB-10688: Endian-safe format support

- All data on DB file is stored in big-endian order
for all (supported) platforms.

Change-Id: Id288d952e1cde991a88da3ad0ab051d447714169


# e45ac833 03-Apr-2014 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-10674 Clean up cache entries upon closing a database file.

If a given database file is closed and its ref counter is zero,
then, we should clean up all of its cache entries from the g

MB-10674 Clean up cache entries upon closing a database file.

If a given database file is closed and its ref counter is zero,
then, we should clean up all of its cache entries from the global
buffer cache. Note that this behavior is configurable when the
database file is opened.

Change-Id: I0545f01248f23c96902d8d4fcaa5fbb9ce107a73

show more ...


# 8e1b9ec2 21-Mar-2014 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Windows compatibility support

- File extensions are switched from .c to .cc
- Shell commands (mv, cp, rm) are generalized.
- forestdb_test program successfully passes all tests after

Windows compatibility support

- File extensions are switched from .c to .cc
- Shell commands (mv, cp, rm) are generalized.
- forestdb_test program successfully passes all tests after
compilation using MSVC.
- MSVC compatible test programs: bcache_test, btreeblock_test,
crc_test, docio_test, filemgr_test, forestdb_test, hash_test,
hbtrie_test

Change-Id: Ia472925002ba5756ccf530f593df3ed462f1b99e

show more ...


# f693a021 20-Mar-2014 Sundar Sridharan <sundar.sridharan@gmail.com>

Windows compatibility

- Code is revised for compatibility on Windows, especially for
MinGW and Cygwin.
- OS dependent structures such as spin lock, mutex, thread, time
are genera

Windows compatibility

- Code is revised for compatibility on Windows, especially for
MinGW and Cygwin.
- OS dependent structures such as spin lock, mutex, thread, time
are generalized.
- File system operations (pread, pwrite, fsync) compatible on
Windows are added.
- Can be compiled using Visual Studio CL compiler
(*.c files have to be changed to *.cc)
(nmake should include /wd4716 option)
Change-Id: I47c03bfe88fd2601b4d03340a8df7dd917f486a3

show more ...


# bc68bb02 06-Mar-2014 Chiyoung Seo <chiyoung.seo@gmail.com>

Adapt the copylight paragraph and README.md


# f64e131f 21-Jan-2014 Jung-Sang Ahn <jungsang.ahn@gmail.com>

B-tree code revision

- B-tree node split and moving dirty node routines are detached from insertion
function and replaced as sub-functions.

- Carriage return characters (\r) are

B-tree code revision

- B-tree node split and moving dirty node routines are detached from insertion
function and replaced as sub-functions.

- Carriage return characters (\r) are removed.

show more ...


# eccdfcd9 17-Dec-2013 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Block cache bug fix & multiple writers support
- There was a critical bug on block cache when selecting victim block. It rarely occurs but causes heap corruption or segmentation fault. The proble

Block cache bug fix & multiple writers support
- There was a critical bug on block cache when selecting victim block. It rarely occurs but causes heap corruption or segmentation fault. The problem is solved by using global lock when picking up the victim file.
- Concurrent update operations on the same file using different FDB handles are now possible. However, they are not performed parallel but internally serialized.
- FDB open & filemgr open interfaces are changed. The configuration argument is passed as a form of pointer.

show more ...


# 478c2f10 07-Dec-2013 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Benchmark program is modified
- Couchstore_bench program is modified to support the large-sized workloads over multiple DB files. Initial population can be performed using multiple threads so tha

Benchmark program is modified
- Couchstore_bench program is modified to support the large-sized workloads over multiple DB files. Initial population can be performed using multiple threads so that we can utilize the maximum bandwidth of the storage.
- Some minor bugs are fixed on b-tree (memory leakage)

show more ...


# 2534ac38 02-Nov-2013 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Block cache bug fix & config structure revision
- Segmentation fault occurred on dirty block eviction under multi-threaded workload is fixed. However, all block cache operations are atomically se

Block cache bug fix & config structure revision
- Segmentation fault occurred on dirty block eviction under multi-threaded workload is fixed. However, all block cache operations are atomically serialized now. Further improvement is needed.
- ForestDB configuration structure is revised. User can specify the usage of O_DIRECT and asynchronous file write.
- Multi-thread test of block cache is added into bcache_test.c.

show more ...


12