History log of /6.0.3/forestdb/include/ (Results 1 - 25 of 160)
Revision (<<< Hide revision tags) (Show revision tags >>>)Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
5623660309-Mar-2018 sduvuru <sduvuru@gmail.com>

MB-28014: Index node crashing with FDB error

When ForestDB encounters a corrupted buffer, currently it just asserts and crashes.
When indexer restarts, it again encounters the same corru

MB-28014: Index node crashing with FDB error

When ForestDB encounters a corrupted buffer, currently it just asserts and crashes.
When indexer restarts, it again encounters the same corrupted buffer and crashes again.
The indexer then has no way of determining the specific index file (forestDB file)
which is corrupt and disable the specific index.

This fix will handle corruption that is detected in the following way.
If buffer (on disk or on the buffer pool) is found to be corrupt,
the current dbheader will be marked as invalid and an error, FDB_RECOVERABLE_ERR,
will be returned. When the file is reopened, forestdb will move to the first valid
dbheader skipping the DBheaders that were marked as invalid. If the forestdb file open
encounters "num_keeping_headers", a config parameter, invalid dbheaders it will return
FDB_NONRECOVERABLE_ERR, a nonrecoverable error. The indexer will now be able to
determine the index is not recoverable and invalidate it so that it can be rebuilt.

The fix also has two functional tests which corrupt index and data pages and recovers
up to num_keeping_headers configuration value.

Change-Id: I181abface1ffe2e926597dccb883bb818b31d63a
Reviewed-on: http://review.couchbase.org/91777
Reviewed-by: Sundar Sridharan <sundar@couchbase.com>
Tested-by: Sundar Sridharan <sundar@couchbase.com>

show more ...

b6e47bcd22-Jun-2017 Jung-Sang Ahn <jungsang.ahn@gmail.com>

[BP] MB-22718: Add an API to find last valid file

* Added a new flag to DB header, indicates whether or not compaction
has been done successfully.

* Added a new API to check val

[BP] MB-22718: Add an API to find last valid file

* Added a new flag to DB header, indicates whether or not compaction
has been done successfully.

* Added a new API to check validity of the given series of files, using
above flag.

* It returns the last valid index number of the given file name array.

* All given files should belong to the same series of logical DB
instance.

Change-Id: Id6fd51cb3186e614f6c76837512374292a8877dd
Reviewed-on: http://review.couchbase.org/79901
Reviewed-by: Sundararaman Sridharan <sundar@couchbase.com>
Tested-by: Jung-Sang Ahn <jungsang.ahn@gmail.com>

show more ...

Revision tags: v1.2
9b16c7ee13-May-2016 Sundar Sridharan <sundar.sridharan@gmail.com>

MB-19619: Add latencies for fdb_open, kvs_open, snapshot clone

Change-Id: I45ea98ff730555eefc1af4b04ad3104051e9fd75
Reviewed-on: http://review.couchbase.org/63996
Reviewed-by: Chiyou

MB-19619: Add latencies for fdb_open, kvs_open, snapshot clone

Change-Id: I45ea98ff730555eefc1af4b04ad3104051e9fd75
Reviewed-on: http://review.couchbase.org/63996
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: Chiyoung Seo <chiyoung@couchbase.com>

show more ...

b95738ed23-Mar-2016 abhinavdangeti <abhinav@couchbase.com>

MB-18837: BreakPAD & Backtrace Support with ForestDB

+ fdb_assert() will print the backtrace.
+ Integrating breakpad support for Windows and Linux,
generates minidump only in case

MB-18837: BreakPAD & Backtrace Support with ForestDB

+ fdb_assert() will print the backtrace.
+ Integrating breakpad support for Windows and Linux,
generates minidump only in case of fdb_assert.

Change-Id: Ic6fc0cb796fb8acbfe78018605fc595cdfcb3a67
Reviewed-on: http://review.couchbase.org/61897
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>

show more ...

Revision tags: v1.1, v1.0
c1ea545123-Feb-2016 Sundar Sridharan <sundar.sridharan@gmail.com>

MB-17239: Track Latency stats for iterator apis

Change-Id: I49de5a51dde5b64f71e7aba79018c7f7ed5e9e90

671d9fba19-Feb-2016 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-17757 Return file system's error code to the client upon operation failure

A file system's error can happen while performing various file operations and
is captured in errno in linux

MB-17757 Return file system's error code to the client upon operation failure

A file system's error can happen while performing various file operations and
is captured in errno in linux and _get_errno() or GetLastError on Windows.
These errors are logged through the log callback from the client, but not
returned to the client as part of a response.

To address the above issue, this commit adds a new set of error codes that
correspond to potential errno codes that can happen while performing file
operations.

Change-Id: I84fe2edd281689570798e30cee5afe054a972a90

show more ...

e4935a2027-Feb-2016 Jung-Sang Ahn <jungsang.ahn@gmail.com>

MB-16594 Deny reading a very old DB file

- Since DB files that are based on the initial magic number (renamed
to FILEMGR_MAGIC_000) don't contain any version info for identifying
var

MB-16594 Deny reading a very old DB file

- Since DB files that are based on the initial magic number (renamed
to FILEMGR_MAGIC_000) don't contain any version info for identifying
various DB formats, we cannot verify if its DB header is correct or
not.

Change-Id: I26f83b9ab172a11c15be845f325d53961f1d066d

show more ...

6ffdf64822-Feb-2016 Sundar Sridharan <sundar.sridharan@gmail.com>

Track latencies for persisted & in-memory snapshots separately

If some application is using persisted snapshots when it should
be using in-memory snapshots instead, this change can help

Track latencies for persisted & in-memory snapshots separately

If some application is using persisted snapshots when it should
be using in-memory snapshots instead, this change can help catch
the cause of any "perf regression".

Change-Id: I0f13b77fb3fd2178fae0dc03e6c70e2b7ac07490

show more ...

f7a5b7a715-Feb-2016 Chiyoung Seo <chiyoung.seo@gmail.com>

Add a new API to return the version of a given ForestDB file

This change adds the new API fdb_get_file_version to return the string
representation of a ForestDB file version.

In

Add a new API to return the version of a given ForestDB file

This change adds the new API fdb_get_file_version to return the string
representation of a ForestDB file version.

In addition, this changes adds --header-only option to forestdb_dump tool
to print out the latest database header info including a file version.

$ ./forestdb_dump --header-only path_to_database_file

DB header info:
BID: 113 (0x71, byte offset: 462848)
DB header length: 88 bytes
DB header revision number: 5
DB file version: ForestDB v1.x format
...

Change-Id: I51e90bfb9aca3ae6c63db1292882f578f7e07cf0

show more ...

9666a83512-Feb-2016 Chiyoung Seo <chiyoung.seo@gmail.com>

Add a new API to return a string representation of ForestDB library version

A string representation of ForestDB library version is based on git-describe.

Change-Id: I834cc726d4d965b

Add a new API to return a string representation of ForestDB library version

A string representation of ForestDB library version is based on git-describe.

Change-Id: I834cc726d4d965b7ae78fa2d08e1319643d56177

show more ...

bb71615f21-Jan-2016 Chiyoung Seo <chiyoung.seo@gmail.com>

Support configurable daemon compaction interval per file at runtime

With this change, the client can change the daemon compaction interval
for a given file at runtime once it is opened.

Support configurable daemon compaction interval per file at runtime

With this change, the client can change the daemon compaction interval
for a given file at runtime once it is opened.
Note that when a given file is opened for the first time, then its
daemon compaction interval is set by the global config param.

Change-Id: I5e5c87eb1df014484e67d41bd05fb6796a814913

show more ...

f6642c4e21-Jan-2016 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-17384 Make block reusing parameters configurable at runtime

With this change, block_reusing_threshold and num_keeping_headers
parameters can be tuned at runtime.

Change-Id: I

MB-17384 Make block reusing parameters configurable at runtime

With this change, block_reusing_threshold and num_keeping_headers
parameters can be tuned at runtime.

Change-Id: I5864eae6882e7a90d670f9fa7ad331d3ae98089e

Conflicts:
src/forestdb.cc

show more ...

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

9e1a467011-Jan-2016 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-16947 Support fdb_cancel_compact API

This new API cancels the compaction task for a given file if it is
currently running.

Change-Id: Ia496ac8cfe15f5c8f63d88603c6f29e6822d71c6

71233a8612-Nov-2015 Sundar Sridharan <sundar.sridharan@gmail.com>

Expose fdb_latency_stat_name() api to stringify stat

Change-Id: I86b4a4100021beabd7674f16100cdc69f5846ebd

ac637aba06-Nov-2015 Sundar Sridharan <sundar.sridharan@gmail.com>

Provide latency timings of forestdb APIs

Currently, this change provides min, max, and avg latency of
fdb_set, fdb_get, fdb_commit, fdb_snapshot_open, and fdb_compact APIs.

late

Provide latency timings of forestdb APIs

Currently, this change provides min, max, and avg latency of
fdb_set, fdb_get, fdb_commit, fdb_snapshot_open, and fdb_compact APIs.

latency(us) min avg max num_samples
sets : 1 19 78430 100000
gets : 1 2 23 2000
commits : 45 68 1179 10000
snapshots: 3 2852 9868 2000
compact : 343546 1086552 1932497 6

Change-Id: If3e25e7cebb0df00a172b39e983e23f4cc7e7a75

show more ...

e3729c1927-Oct-2015 Sundar Sridharan <sundar.sridharan@gmail.com>

MB-16575: compaction callback returns kv_store_name+userkey

key returned by FDB_CS_MOVE_DOC compaction callback is now
stripped of its prefix in multi-kv mode and also its owner's
kv

MB-16575: compaction callback returns kv_store_name+userkey

key returned by FDB_CS_MOVE_DOC compaction callback is now
stripped of its prefix in multi-kv mode and also its owner's
kv_store_name is returned in the callback.

Change-Id: I341291e61b89dc714c5ee65a7d90cb895a191f76

show more ...

b609b73e08-Oct-2015 Sundar Sridharan <sundar.sridharan@gmail.com>

MB-16407: return deleted doc count in kvs_info * file_info

Track deleted count as part of wal_flush and store in DB header
version it for backward compatbility.
test in scenarios lik

MB-16407: return deleted doc count in kvs_info * file_info

Track deleted count as part of wal_flush and store in DB header
version it for backward compatbility.
test in scenarios like rollback.

Change-Id:I64f12d29c0362e2668513dea21e46b09a44cf5d7

show more ...

d84bdcbb05-Oct-2015 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-16443 Provide the number of KV store instances in fdb_file_info structure

Change-Id: I3569b531bb96dcd1b16f5eb6006cc38a5234d078

22642b0e28-Sep-2015 Jens Alfke <jens@couchbase.com>

Implemented fdb_rekey(), to change a database's encryption

It operates by compacting the database to a new file, setting the new
file's filemgr's encryption_key to the new key.

Implemented fdb_rekey(), to change a database's encryption

It operates by compacting the database to a new file, setting the new
file's filemgr's encryption_key to the new key.

Change-Id: I125a55be2f9a957d9af47b9e60764980b9463138

show more ...

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

e771c4dc25-Sep-2015 Sundar Sridharan <sundar.sridharan@gmail.com>

add FDB_CS_COMPLETE compaction completion callback

This callback allows clients like cblite to track completion
of auto compactions.

Change-Id: Ifbee1182b378c0c5f4435bf4c6dd6ce1

add FDB_CS_COMPLETE compaction completion callback

This callback allows clients like cblite to track completion
of auto compactions.

Change-Id: Ifbee1182b378c0c5f4435bf4c6dd6ce1104e03ba

show more ...

874fd6ce22-Sep-2015 Chiyoung Seo <chiyoung.seo@gmail.com>

Merge remote-tracking branch 'origin/sherlock'

* origin/sherlock:
MB-16263: Add background bcache flushing capability
MB-16263: Track & flush immutable dirty buffer blocks

Merge remote-tracking branch 'origin/sherlock'

* origin/sherlock:
MB-16263: Add background bcache flushing capability
MB-16263: Track & flush immutable dirty buffer blocks

Conflicts:
CMakeLists.txt
src/forestdb.cc
tests/functional/CMakeLists.txt

Change-Id: Iaf37bd65d96de926becf7c916058ac731fff374c

show more ...


4cdca91e22-Sep-2015 Sundar Sridharan <sundar.sridharan@gmail.com>

MB-16263: Add background bcache flushing capability

New background flusher threads will iterate over all files
and flush any immutable dirty blocks in a loop sleeping when
there are

MB-16263: Add background bcache flushing capability

New background flusher threads will iterate over all files
and flush any immutable dirty blocks in a loop sleeping when
there are no dirty immutable blocks. Keeps I/O utilized frees
more buffer cache blocks for front end end threads

Change-Id: Ib55c8c6cea43caa7f5f2635d35826c7d5be7f022

show more ...

2eac781525-Aug-2015 Chiyoung Seo <chiyoung.seo@gmail.com>

Merge remote-tracking branch 'origin/sherlock'

* origin/sherlock:
MB-16154: Add new API to trigger a callback upon a fatal error
Revert "Spawn gdb to get backtrace of all threads

Merge remote-tracking branch 'origin/sherlock'

* origin/sherlock:
MB-16154: Add new API to trigger a callback upon a fatal error
Revert "Spawn gdb to get backtrace of all threads on assert (Linux only)"

Change-Id: If4109cac438d96fe7a28520b5ad1a2773fb119c6

show more ...


1234567