History log of /6.0.3/forestdb/tests/unit/filemgr_test.cc (Results 1 - 20 of 20)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v1.2, v1.1, v1.0
# f0b1bf77 07-Dec-2015 Jung-Sang Ahn <jungsang.ahn@gmail.com>

MB-16219 Support superblock and circular block reusing

- Super blocks point to the up-to-date DB header.

- When configured conditions are satisfied, stale blocks are reused
in a

MB-16219 Support superblock and circular block reusing

- Super blocks point to the up-to-date DB header.

- When configured conditions are satisfied, stale blocks are reused
in a circular manner. This does not increase the DB file size, so
that we can largely reduce the overhead from compaction.

- The latest a few old versions are preserved for future snapshot
creation.

Change-Id: I6eb9209ced436c0a84ebb0216344eb04f300fca9

show more ...


# 4690a73f 27-Sep-2015 Jens Alfke <jens@couchbase.com>

MB-11620: Database encryption

Encryption is specified by setting the fdb_config.encryption_key field
when opening a database. The key's algorithm field should be set to
a supported a

MB-11620: Database encryption

Encryption is specified by setting the fdb_config.encryption_key field
when opening a database. The key's algorithm field should be set to
a supported algorithm, and the raw key data copied into the bytes field.

The only algorithm specified yet is AES-256, using the Encrypted Salt-
Sector Initialization Value (ESSIV) algorithm for per-block encryption.
It's only implemented for Apple platforms in this commit, using the
built-in CommonCrypto library. Additional platforms can be supported by
adding to utils/crypto_primitives.h.

An alternate algorithm FDB_ENCRYPTION_BOGUS is for testing purposes
only. It provides no real security; it's not much more sophisticated
than ROT13.

Change-Id: I1188799b04923b22adca0fdb89ed5d31691dc238

show more ...


# 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 ...


# 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


# 4dc52e2d 12-Nov-2014 Trond Norbye <trond.norbye@gmail.com>

Remove unused variables (-Wunused-variable)

Change-Id: I9f63f438848d61de3ca85b4e88a900c3ae5e6ba6


# 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 ...


# 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 ...


# 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


# 9ceccb2c 17-Jan-2014 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Block cache bug fix

1) After a block is evicted, the block becomes free block. When the free
block is re-cached, it should be inserted into clean LRU list or dirty RB-tree.
There was

Block cache bug fix

1) After a block is evicted, the block becomes free block. When the free
block is re-cached, it should be inserted into clean LRU list or dirty RB-tree.
There was a bug that the flag of freed block is not cleared so that the block
is neither inserted into list nor tree. This causes the corruption of list and
segmentation fault. The bug is fixed by clearing the flag when a block is freed.

2) Extra white space is removed in some files.

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 ...


# 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 ...


# 2889254e 09-Aug-2013 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Formatting & benchmark program minor change
- Benchmark duration can be configured in config file. User can run benchmark choosing between the exact number of batches and fixed duration.


# 7c0433f5 23-Jul-2013 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Initial commit