- Oct 24, 2016
-
-
Roman Tsisyk authored
Synchronize naming with the latest C++ standard. Needed for #1848
-
Roman Tsisyk authored
This patch doesn't introduce any functional changes. See #1585
-
Vladislav Shpilevoy authored
Closes #1585
-
bigbes authored
Closes #1131 * added 'ignore_crc' flag to xlog_cursor * added tests for bad crc, bad version, bad format, good v12/v13 fformat reading + Review fixes from rtsisyk
-
Alexandr Lyapunov authored
Fixes #1854
-
Alexandr Lyapunov authored
-
Vladimir Davydov authored
Currently, an error is propagated from Engine::{begin,wait}Checkpoint() to lbox_snapshot() in errno. This is ugly and inflexible, as we are only allowed to throw SystemError from Engine - see how MemtxEngine::waitCheckpoint converts diag to SystemError in order to extract errno. We should use diag instead of errno all the way from Engine to lbox. For reporting about checkpoint-in-progress, use ClientError with a new code, ER_SNAPSHOT_IN_PROGRESS, instead of EINPROGRESS errno, as it's obviously not a SystemError. Closes #1858
-
Alexandr Lyapunov authored
-
Vladislav Shpilevoy authored
See #1572
-
Georgy Kirichenko authored
-
Georgy Kirichenko authored
xlog for each recovey after new xlog file and pread implementation. Optimize fake eof (not closed xlog) cause for recovery.
-
Georgy Kirichenko authored
-
Georgy Kirichenko authored
-
Georgy Kirichenko authored
xlog for each recovey after new xlog file and pread implementation. Optimize fake eof (not closed xlog) cause for recovery.
-
Georgy Kirichenko authored
-
Georgy Kirichenko authored
-
Georgy Kirichenko authored
-
Georgy Kirichenko authored
-
Georgy Kirichenko authored
-
Roman Tsisyk authored
-
Georgy Kirichenko authored
-
Vladimir Davydov authored
None of existing task kinds return anything but 0 on completion. So let's remove the unused ret code to simplify error handling.
-
Vladimir Davydov authored
Use SystemError and ClientError where appropriate. Note, ER_VINYL is still there - it is used for reporting about corrupted/incomplete range files on recovery. However, as soon as we switch to the xlog file format, we'll probably be able to get rid of it altogether.
-
Vladimir Davydov authored
We need it to propagate system errors from vinyl.
-
Alexandr Lyapunov authored
-
Roman Tsisyk authored
-
Vladislav Shpilevoy authored
Closes #1713
-
- Oct 23, 2016
-
-
Roman Tsisyk authored
Test may fail on OS X due to NOFILE limit.
-
- Oct 20, 2016
-
-
Vladimir Davydov authored
vy_read_iterator->curr_stmt is supposed to store the last statement returned by vy_read_iterator_next() to be used for iterator restore. However, currently it is also updated in vy_read_iterator_next_range(). If the iterator is restored after such an update it will skip the first statement in the range, which might result in invalid select result. For instance, if the first statement (the newest one) in a range is a delete followed by an upsert for the same key (which is older), we will skip the delete on restore, and return the deleted key, see vy_read_iterator_restore: vy_merge_iterator_restore: vy_run_iterator_restore: if (vy_stmt_compare(fnd, last_stmt->data, itr->index->key_def) == 0) { position_changed = false; if (next_stmt->lsn >= last_stmt->lsn) { /* skip the same stmt to next stmt or older version */ This results in occasional vinyl/options test failures. Closes #1853
-
Vladimir Davydov authored
Conflicts: test/unit/bps_tree.cc test/unit/bps_tree_iterator.cc
-
Vladimir Davydov authored
Allow to specify allocator context in matras and matras-based data structures. After this change, the following salad data structures can be passed a custom allocator context: light, rtree, bps_tree.
-
Roman Tsisyk authored
-
Vladimir Davydov authored
Currently, we use a rather dumb way to determine if a statement from xlog should be committed or not on recovery - we lookup the statement in all on-disk runs and, if found, compare its lsn. Obviously, this slows down the recovery procedure significantly. Actually, we can avoid reading on-disk runs altogether. All we need to do is compare the xlog statement's lsn with the range's max lsn - we should only commit the statement if the former is greater. Closes #1697
-
Vladimir Davydov authored
Whenever we need VINYL_EQ order in range iterator, we use VINYL_GE. This behavior exists solely due to historical reasons and needs to be fixed.
-
Vladimir Davydov authored
Currently, we never remove delete statements on dump, even if creating the first run. However, there's no point in preserving deletes in case there's no on-disk data. Closes #1823
-
- Oct 19, 2016
-
-
Alexandr Lyapunov authored
Fixes #1442
-
- Oct 18, 2016
-
-
Konstantin Osipov authored
-
Vladislav Shpilevoy authored
-
Vladimir Davydov authored
Surround key and lsn in parentheses.
-
Vladimir Davydov authored
If there are a lot of successive upserts for the same key, select might take too long to squash them all. So once the number of upserts exceeds a certain threshold, we schedule a fiber to merge them and substitute the latest upsert with the resulting replace statement. Closes #1829
-