- Jun 06, 2012
-
-
Konstantin Osipov authored
Do not use buffered file I/O which doesn't give a precise account of failure, when it happens. Instead, batch writes to WAL or SNAP files and write batches using writev(). If writev() fails, we can accurately evaluate which requests (those that belong to the batch) were not written to disk. In case of a partial write, rollback the failed requests, and seek back to the end of the last fully written request. To support writev() and IO with file descriptors, implement nio library, which provides a set of EINTR- and error log- aware wrappers around syscalls.
-
Konstantin Osipov authored
-
- Jun 04, 2012
-
-
Konstantin Osipov authored
Extract the WAL rotation into a separate function.
-
- May 30, 2012
-
-
Konstantin Shulgin authored
-
Konstantin Shulgin authored
-
- May 29, 2012
-
-
Konstantin Osipov authored
Merge common code in wal_write() and snapshot_write_row() by introducing a structure to represent a single snapshot or WAL row to be written.
-
Konstantin Osipov authored
No code changes.
-
Konstantin Shulgin authored
iproto packages validation routine was added.
-
- May 28, 2012
-
-
Konstantin Osipov authored
Continue code cleanup in log_io.m, remove more dead code.
-
- May 25, 2012
-
-
Konstantin Osipov authored
Remove log_io_iter from snapshot IO. Do not use coroutines and extra buffers. This opens the way to more agressive buffering of snapshot IO, as compared to no buffering of WAL IO.
-
Konstantin Osipov authored
Cleanup work with eof/row markers. Remove unnecessary members of log_io_class.
-
Konstantin Osipov authored
Fix a regression introduced by the yesterday's cleanup: recover_wal() can return 0, -1, or 1: 0 - ok, eof read -1 - error reading wal 1 - can't read eof marker from wal. recover_remaining_wals() looks at this, and when doing final recovery deletes wal which don't have eof marker (return value from recover_wal() == 1). Yesterday I mistakenly merged 0 and 1 return values into one. Revert this part of the yesterday's patch. On the same token, log_io_cursor_next() can't throw an exception, ever. Take this into account and simplify code. recover_remaining_wals() continues to stay a mess.
-
- May 24, 2012
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
- remove unused parameters - add SystemError exception (derived form net-split tree) - improve error printouts.
-
Dmitry E. Oboukhov authored
-
- May 22, 2012
-
-
Dmitry E. Oboukhov authored
-
Konstantin Osipov authored
Conflicts: include/tarantool_lua.h src/tarantool_lua.m
-
Konstantin Osipov authored
Adjust naming, an error message, don't use a global function where a static one would make do.
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Shulgin authored
-
Dmitry Simonenko authored
-
Konstantin Shulgin authored
-
- May 21, 2012
-
-
Dmitry Simonenko authored
* using new delete version with flags * splice offset type fixed * added tnt_tuple_reply tuple validation + test case
-
Konstantin Shulgin authored
The nullify potential unsafe (in security mind) functions was moved from box.lua to separate functions which calls after init.lua. It allows call require, os.execute, and another unsafe function in init.lua.
-
Konstantin Osipov authored
-
pcherenkov authored
-
Pavel Cherenkov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
- May 18, 2012
-
-
pcherenkov authored
-
Pavel Cherenkov authored
-
Pavel Cherenkov authored
-
- May 17, 2012
-
-
Konstantin Osipov authored
Add Request object with method execute. Allocate Requests on fiber->gc_pool. Clear txn from request data. Make txn commit/rollback algorithm independent on the actual request or request data. Update valgrind suppressions with new call paths.
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Rename a global variable, which had too common name, to avoid easy to miss bugs.
-
Pavel Cherenkov authored
-
Yuriy Nevinitsin authored
-