History log of /4.0.0/forestdb/src/docio.h (Results 1 - 24 of 24)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v1.2, v1.1, v1.0
# 7171f367 29-May-2015 Sundar Sridharan <sundar.sridharan@gmail.com>

MB-15183: allow libaio key-meta only batch reads

Change-Id: I3ede2b6fe16769959379c0c647316237c4aa8059


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


# ccf0294f 24-Apr-2015 Chiyoung Seo <chiyoung.seo@gmail.com>

Remove the WAL recovery module from a partially compacted file.

With a new compaction method, we don't need to restore the WAL
documents from the partially compacted file.

Chang

Remove the WAL recovery module from a partially compacted file.

With a new compaction method, we don't need to restore the WAL
documents from the partially compacted file.

Change-Id: I0f3f7af24d8354f027e998b1bce424994464db1d

show more ...


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


# 20a71dce 09-Sep-2014 Chiyoung Seo <chiyoung.seo@gmail.com>

Free memory segments allocated in fdb_get_byoffset before returning an error

Change-Id: I079a18ddd03c7829ce8020a6bc01350f7383aecb


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


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


# 1907e9be 22-Apr-2014 Jung-Sang Ahn <jungsang.ahn@gmail.com>

MB-10691: Logically deleted docs are purged after a given interval

- Add purging interval in config file.
- Add timestamp for each docio_object, and store the most recent time
that t

MB-10691: Logically deleted docs are purged after a given interval

- Add purging interval in config file.
- Add timestamp for each docio_object, and store the most recent time
that the document is updated.
- During compaction, logically deleted docs are purged when its
timestamp is overdue.

Change-Id: Icd89fd67b353ac63565807f58c0b034e0e53f698

show more ...


# 5cb673f8 10-Apr-2014 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-10695 Add API to read a doc body given its doc offset.

This change adds a new API to read a doc body through its
doc offset. To support this, it is required to adapt
fdb_get_metao

MB-10695 Add API to read a doc body given its doc offset.

This change adds a new API to read a doc body through its
doc offset. To support this, it is required to adapt
fdb_get_metaonly, fdb_get_metaonly_byseq, and
fdb_iterator_next_offset, so that they return the offset
to a doc (header + key + metdata + body) because a doc body
can be compressed using snappy.

Change-Id: I06eb5cf409add9deb987ae4d0c935f8748543de0

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


# 35fc43f6 30-Mar-2014 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Add 1-byte CRC for docio_length

- When recovering corrupted file, recovery procedure have to read
entire document to check CRC value is correct.
- If length structure in document is

Add 1-byte CRC for docio_length

- When recovering corrupted file, recovery procedure have to read
entire document to check CRC value is correct.
- If length structure in document is corrupted, then the procedure
tries to allocate in-memory buffer according to the length.
This causes crash if the length is abnormally large.
- To avoid this, we add a simple CRC for the length structure. By
using this, corrupted document's length can be filtered without
reading the entire body.

Change-Id: Ia26b99b6b65ff05c0f00a966c83ff17ce2586bba

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


# 505f35b8 05-Feb-2014 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Compaction & fdb_set() interleaving

- Writer can write data on the file even though the file is undergoing
compaction. New documents are appended at the WAL of new file, and appending

Compaction & fdb_set() interleaving

- Writer can write data on the file even though the file is undergoing
compaction. New documents are appended at the WAL of new file, and appending
document is interleaved between compaction processes.

show more ...


# abe1d5a9 02-Jan-2014 Sundar Sridharan <sundar.sridharan@gmail.com>

ForestDB Crash Recovery Features and Tests

1) Reverse scan file to restore until last valid DB Header
2) Re-populate WAL entries in case of a crash before a flush

Add test case

ForestDB Crash Recovery Features and Tests

1) Reverse scan file to restore until last valid DB Header
2) Re-populate WAL entries in case of a crash before a flush

Add test case to simulate crash and incomplete write

Change-Id: Ifd584d9a6175545228e6fbf75571731bbb09bbbe

show more ...


# 3d812dfc 22-Sep-2013 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Multi-thread compatibility for Block Cache and WAL
- Pthread spin locks have been added to block cache & WAL operations so that they are multi-thread safe now.
- File manager and Doc IO layer

Multi-thread compatibility for Block Cache and WAL
- Pthread spin locks have been added to block cache & WAL operations so that they are multi-thread safe now.
- File manager and Doc IO layer are not multi-thread safe yet when there are two writers on the same DB file. They MUST BE modified.
- ForestDB test file (forestdb_test.c) has been revised. We have to add MT-safe test soon.

show more ...


# 02cf2f57 19-Aug-2013 Jung-Sang Ahn <jungsang.ahn@gmail.com>

ForestDB sequence number counting
- ForestDB can count sequence number of incoming updates by itself.
- A couple of data structures related to document are modified.


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


# d5c88c55 07-Aug-2013 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Block cache bug fix & disabling doc IO align mode has been added
- A critical bug has been fixed; when retrieving hash table in block cache, hash function calculates hash value using both BID and

Block cache bug fix & disabling doc IO align mode has been added
- A critical bug has been fixed; when retrieving hash table in block cache, hash function calculates hash value using both BID and hash value of file name that the block belongs to, but retrieving query only contains BID. The hash function has been modified (not to use hash value of file name).
- doc IO align mode can be disabled using pre-compile option defined in option.h

show more ...


# bc90e0e2 02-Aug-2013 Jung-Sang Ahn <jungsang.ahn@gmail.com>

couchstore API has been added & b-tree iterator optimization
- An additional layer that can handle ForestDB using couchstore API has been added.
- When using b-tree iterator, b-tree nodes fro

couchstore API has been added & b-tree iterator optimization
- An additional layer that can handle ForestDB using couchstore API has been added.
- When using b-tree iterator, b-tree nodes from root to leaf were read from file (or buffer) for each next function. Optimization has been added: these nodes are kept in memory across the next calls so that they don't need to be re-read until they become unnecessary.

show more ...


# b27ae347 26-Jul-2013 Jung-Sang Ahn <jungsang.ahn@gmail.com>

Compaction code has been added
- ForestDB compaction function has been added to forestdb.c
- get function has been modified (meta and body fields are dynamically allocated on-demand)


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

Initial commit