- Sep 29, 2016
-
-
Roman Tsisyk authored
-
Nick Zavaritsky authored
-
Roman Tsisyk authored
-
Roman Tsisyk authored
-
- Sep 28, 2016
-
-
Roman Tsisyk authored
fiber.cancel() is now asynchronous, see #1732
-
Nick Zavaritsky authored
-
Nick Zavaritsky authored
Created Lua bindings for history load/save functions. Lua console module is now responsible for persisting the history. Formerly history setup was done in main, but only when tarantool was invoked sans arguments. Affected tarantoolctl.
-
Alexandr Lyapunov authored
Added test for ranged queries
-
Roman Tsisyk authored
-
Roman Tsisyk authored
Fix rb psearch/nsearch methods for partial key
-
Roman Tsisyk authored
Automatically kill all servers after the crash.
-
Nick Zavaritsky authored
-
Nick Zavaritsky authored
-
Roman Tsisyk authored
Vinyl tuple is one of engine's operations - REPLACE, DELETE, UPSERT or GET. Rename `tuple` to `statement` to meet the current situation. See #1572
-
Roman Tsisyk authored
Ancient Red Hell 6 doesn't support Recommends.
-
Roman Tsisyk authored
Fix compilation warnings
-
Roman Tsisyk authored
Use strong dependency on `netbase` for Debian and weak dependencies on /etc/protocols and /etc/services files for RPM. Thanks to Ivan Kosenko Closes #1794
-
Roman Tsisyk authored
Raise an error for non-string arguments instead of trying to handle digest.crc32(12345LL) as digest.crc32('12345LL') This is a breaking change. Fixes #1561
-
Roman Tsisyk authored
Thanks Alexey Antipovsky Closes #1448
-
Roman Tsisyk authored
Closes #1657
-
- Sep 27, 2016
-
-
Konstantin Osipov authored
Move the ANY index type to tuple_compare.cc to simplify merges with 1.8. Remove dead code. Collateral: fix a release mode warning in vinyl.
-
Nick Zavaritsky authored
Raising errors from GC finalizers is apparently not supported. The error was due to the finalizer running in net.box.transport worker fiber by chance. Hence the fiber was attempting to cancel thyself. Normal Lua execution is interleaved with GC work, that's why they call it incremental GC.
-
Roman Tsisyk authored
Fixes #1724
-
Vladimir Davydov authored
src/box/vinyl.c: In function ‘vy_range_write_run’: src/box/vinyl.c:2365:1: error: label ‘create_failed’ defined but not used [-Werror=unused-label] create_failed: ^ src/box/vinyl.c: In function ‘vy_task_compact_execute’: src/box/vinyl.c:3190:31: error: suggest braces around empty body in an ‘if’ statement [-Werror=empty-body] rc = -1; goto out;}); ^ src/box/vinyl.c:3208:1: error: label ‘unlink_error’ defined but not used [-Werror=unused-label] unlink_error: ^ src/box/vinyl.c: In function ‘vy_mem_iterator_close’: src/box/vinyl.c:6829:26: error: unused variable ‘itr’ [-Werror=unused-variable] struct vy_mem_iterator *itr = (struct vy_mem_iterator *) vitr; ^ src/box/vinyl.c: In function ‘vy_txw_iterator_close’: src/box/vinyl.c:7087:26: error: unused variable ‘itr’ [-Werror=unused-variable] struct vy_txw_iterator *itr = (struct vy_txw_iterator *) vitr; ^
-
Vladimir Davydov authored
Successful compaction may create a range w/o tuples, and currently we don't store empty range files on disk. As a result, such a range won't be loaded on recovery, which breaks the index tree invariant (prev->end equals next->begin). Hence we must silently create a new range for each gap found on recovery.
-
Vladimir Davydov authored
Successful merge+split may result in ranges w/o tuples. Before commit 559102a7 ("vinyl: store range lower and upper bounds on disk") it was OK to delete such ranges, because there was no range->end. To illustrate this, suppose compaction splits a range as follows: [A, C) => [A, B) + [B, C) If range [B, C) turns out to be empty, then we could simply drop it as all inserts would go to range [A, B) and as B was not stored anywhere, it would effectively become range [A, C). After the above-mentioned commit, however, removal of range [B, C) breaks the index invariant that for each two adjacent ranges prev->end always equals next->begin. This, in turn, can result in data loss in case [A, B) gets split again, as B will be used to break the run write loop (see vy_range_compact_execute()) which is premature since there may be tuples >= B. That being said, let's remove this small optimization altogether.
-
Vladimir Davydov authored
A "stale" range is an old range file left after compaction. A "partial" range is a range file left after failed split. Although we can handle such files, they should not normally exist in the index directory, so let's warn about their presence on recovery.
-
Vladimir Davydov authored
The vinyl/compact issues two snapshots and expects that there will be two runs after it, then it keeps waiting until compaction merges them. There is a race condition intrinsic to this test - compaction might have finished before the test checks that there are exactly two runs. To eliminate it, let's set the test index's compact_wm parameter to 3 and add one more snapshot to trigger compaction. Since currently, it's impossible to modify vinyl options dynamically, this patch moves compact_wm to index options where page_size and range_size reside. Closes #1758
-
Konstantin Osipov authored
-
Roman Tsisyk authored
-
Nick Zavaritsky authored
-
Alexandr Lyapunov authored
-
Roman Tsisyk authored
Regression by d36ba279
-
Roman Tsisyk authored
-
- Sep 26, 2016
-
-
Nick Zavaritsky authored
-
bigbes authored
-
Vladimir Davydov authored
Currently, we postpone old range file removal until checkpoint, but we can do it right after successful compaction - this will save us some disk space.
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Tweak constants to reduce test execution time.
-
Roman Tsisyk authored
-