History log of /6.0.3/forestdb/tests/unit/hbtrie_test.cc (Results 1 - 25 of 47)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v1.2, v1.1, v1.0
# 67111c29 26-Feb-2016 Jung-Sang Ahn <jungsang.ahn@gmail.com>

MB-16626 Return failure instead of crashing in HB+trie

- The meta structure of B+tree node in an old DB file (before commit
'Fix potential problem caused by chunk size', committed on Jan

MB-16626 Return failure instead of crashing in HB+trie

- The meta structure of B+tree node in an old DB file (before commit
'Fix potential problem caused by chunk size', committed on Jan 17, 2015,
https://github.com/couchbase/forestdb/commit/47025c39115e69145c8423b1840bf78c9eb2898f)
is differ to the current structure, so that it causes crash during HB+trie
traversal.

- Instead of crash, we add a new error code for HB+trie and return it
without terminating the process.

Change-Id: Ic234d22a1cb70262e642e0257c508a30c660c44d

show more ...


# 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


# 51da1a5b 19-Aug-2015 Jim Walker <jim@couchbase.com>

Fix valgrind warnings about uninitialised data (hbtrie_test)

doc object needs initialising and addresses many of the following
errors.

==12946== Use of uninitialised value of si

Fix valgrind warnings about uninitialised data (hbtrie_test)

doc object needs initialising and addresses many of the following
errors.

==12946== Use of uninitialised value of size 8
==12946== at 0x427655: crc32_8 (crc32.cc:351)
==12946== by 0x4181BC: docio_append_doc (docio.cc:433)
==12946== by 0x4068BA: basic_test() (hbtrie_test.cc:146)
==12946== by 0x405F88: main (hbtrie_test.cc:889)
==12946== Uninitialised value was created by a stack allocation
==12946== at 0x4064B9: basic_test() (hbtrie_test.cc:89)

Change-Id: I5de06103b3ddef405b26eaba4c151e73a5e561d3

show more ...


# c6c3d274 20-May-2015 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-14060 Use async I/O to move data blocks to a new file during the compaction

This change uses libaio in Linux to read data blocks from the old file
and move them to the new file during

MB-14060 Use async I/O to move data blocks to a new file during the compaction

This change uses libaio in Linux to read data blocks from the old file
and move them to the new file during the compaction.

We also plan to add the asynchronous I/O support for other OSs
(e.g., Windows, OSx).

Change-Id: I2ba7462291b17171fde06fe5887db8cd0cf76c39

show more ...


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


# 47025c39 17-Jan-2015 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Fix potential problem caused by chunk size

- In multi KVS mode, the first chunk for each key indicates KVS ID
that the key belongs. However, the current code simply converts from
the

Fix potential problem caused by chunk size

- In multi KVS mode, the first chunk for each key indicates KVS ID
that the key belongs. However, the current code simply converts from
the KVS ID (8-byte integer) to the chunk binary. This may cause
potential problem when the chunk size is not 8 bytes.

- To address this issue, we need to support generic endian-safe
conversion between KVS ID (8-byte integer) and variable length chunk.
Whatever the chunk size is, KVS ID is converted and aligned to the
chunk size. Since the minimum chunk size is 4 bytes, we can support
up to 2^32 KVS ID.

- Unlike ID-index, chunk size of the Seq-tree is fixed to 8 bytes
since the sequence number is always 8-byte integer.

Change-Id: I9ebb43287a59422a63c6237d6921ce2dd6facdab

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


# 084ca987 14-Nov-2014 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Correct handling result of btree_insert() call

- 'r != BTREE_RESULT_SUCCESS' does not mean failure because it returns
'BTREE_RESULT_UPDATE' when existing key is successfully updated as a

Correct handling result of btree_insert() call

- 'r != BTREE_RESULT_SUCCESS' does not mean failure because it returns
'BTREE_RESULT_UPDATE' when existing key is successfully updated as a
result of btree_insert() call.

Change-Id: I152d3546ea7a4d6d50df2e126f15dfd2b5f4dca0

show more ...


# 2f5f0791 13-Nov-2014 Chiyoung Seo <chiyoung.seo@gmail.com>

Correct incorrect sanity checks on hbtrie test

Change-Id: Id9ccbca1b6701b3b838ce931e709dfaf2519f5d9


# 90754b4b 13-Nov-2014 Trond Norbye <trond.norbye@gmail.com>

Cleanup: remove unused variables

Reported on macosx with -Wunused-variable

Change-Id: I27902945944ca862162b375bf39f0aca03300690


# 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


# dddfd6fe 12-Nov-2014 Sundar Sridharan <sundar.sridharan@gmail.com>

MB-12613_1 Fix compiler warnings and errors

Change-Id: Ib78bc6be0aa239483b3352d83fd6302e0f92b5e9


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

Remove unused variables (-Wunused-variable)

Change-Id: I9f63f438848d61de3ca85b4e88a900c3ae5e6ba6


# d32401da 05-Sep-2014 Jung-Sang Ahn <jungsang.ahn@gmail.com>

MB-11071 Support multiple KV instances

- Add three new main operations: open (create), close, remove of KV
instance in a DB file handle.

- All other operations (get, set, rollba

MB-11071 Support multiple KV instances

- Add three new main operations: open (create), close, remove of KV
instance in a DB file handle.

- All other operations (get, set, rollback, snapshot, etc.) are shared
with the original APIs.

- Same as snapshot, KV instance uses the fdb_handle structure, but
commit and compaction can be invoked only using the DB file handle.

Change-Id: Iad571745c57053d46130be584c5213e98baa9b9f

show more ...


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


# 59c1c4f5 21-May-2014 Jung-Sang Ahn <jungsang.ahn@gmail.com>

MB-11123 Transaction support in ForestDB

- Add transactional features to existing get/set API calls.
- Dirty updates belonging to a transaction cannot be seen by other
handles until

MB-11123 Transaction support in ForestDB

- Add transactional features to existing get/set API calls.
- Dirty updates belonging to a transaction cannot be seen by other
handles until the transaction is committed.
- Isolation level: read committed. Both non-repeatable reads and
phantoms may occur, and concurrent transactions will not be
serialized. Please refer to the following link:
http://en.wikipedia.org/wiki/Isolation_level

Change-Id: I42b60f3b65a6c169770dee7ac34d588fa10a35f1

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


# f64e6bb5 29-Apr-2014 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-10915 Support SET with an empty doc body.

Some use cases might want to do SET with an empty doc body.
To separate this from DEL operation, this change requires
an application to s

MB-10915 Support SET with an empty doc body.

Some use cases might want to do SET with an empty doc body.
To separate this from DEL operation, this change requires
an application to set "deleted" flag in FDB_DOC instance to
true for DEL operation.

Change-Id: Ie19d7000e7bed78ad7afd5c726dc817849e58736

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


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

MB-10689: Document body compression is fully implemented

- New option for compression is added into JSON config file (the
compression is disabled by default).
- docio_length contains

MB-10689: Document body compression is fully implemented

- New option for compression is added into JSON config file (the
compression is disabled by default).
- docio_length contains both original body length and compressed
body length.

Change-Id: Ib7b3114d874f874269a98a39a9fc91f4d42101be

show more ...


12