- Jan 31, 2017
-
-
Roman Tsisyk authored
-
Vladimir Davydov authored
This is pure refactoring. No functional changes intended.
-
Vladimir Davydov authored
Closes #1811
-
Konstantin Osipov authored
Convert requeset.cc to request.c (plain C) to make request_normalize_ops() callable from C. Move all prepareatory work from Vinyl_Space::executeUpsert() to vy_upsert() to make vy_upsert() callable from other contexts.
-
Konstantin Osipov authored
Encapsulate vy_insert() in vy_replace(), to make vy_replace() a single entry point to all kinds of replaces. This is necessary to make vy_replace() easily usable in other contexts. Remove VinylEngine::recovery_complete, which was fully dependent on vy_env::status. Provide public access to vy_env::status.
-
Konstantin Osipov authored
In preparation for folding of memtx_replace_build_next() in scope of recovery refactoring, mvoe all replace functions to memtx_space.cc No semantical changes.
-
- Jan 30, 2017
-
-
Konstantin Osipov authored
Don't count snapshot rows when recovering bootstrap.snap. Add a comment to memtx_add_primary_key()
-
Vladimir Davydov authored
In case of multi-level compaction, we compact and hence delete not all runs, so we must not delete the runs left on the list from the metadata log, but we do now. This breaks recovery. Fix this.
-
- Jan 29, 2017
-
-
Konstantin Osipov authored
-
Georgy Kirichenko authored
Add error injection for vinyl schedule timeout. Used for vinyl error injection tests.
-
Georgy Kirichenko authored
New test for vinyl checkpoint
-
Konstantin Osipov authored
-
Vladimir Davydov authored
Before dumping or compacting a range, consider coalescing it with its neighbors. Only coalesce two adjacent ranges if the total size of disk space and in-memory data occupied by them is <= range_size / 2, to avoid split-coalesce oscillations. Closes #1735
-
- Jan 27, 2017
-
-
Roman Tsisyk authored
Rename tuple.cc, tuple_convert.cc, tuple_format.cc No semantic changes.
-
Roman Tsisyk authored
* Re-order code in tuple.h, tuple_format.h and key_def.h * Add _xc prefixes to tuple.h functions * Fix an unchecked exception in box_tuple_iterator()
-
Roman Tsisyk authored
-
Vladimir Davydov authored
Closes #2038
-
Vladimir Davydov authored
-
Vladimir Davydov authored
Add helpers to decode numbers and use them throughout the code.
-
- Jan 26, 2017
-
-
Vladislav Shpilevoy authored
-
Vladislav Shpilevoy authored
tuple_update/upsert was inlined in memtx_space and box_tuple_update/upsert.
-
Vladislav Shpilevoy authored
-
- Jan 25, 2017
-
-
Georgy Kirichenko authored
Fixes #1778
-
Vladislav Shpilevoy authored
Needed to ensure that update_optimize will work after implementation of common memory level for txv and vy_mems. Needed for #1908
-
Vladimir Davydov authored
Exactly the same piece of code (including comment) used by both dump and compact. Factor it out into a separate function.
-
Vladimir Davydov authored
All the three functions that need a write iterator, dump, compact, and split, reuse the same code for initialization of the write iterator. Factor it out into a separate function.
-
Roman Tsisyk authored
* Use SNPRINT() macro from util.h * Prettify formatting with missing schema (e.g. "user@localhost") * Add Lua test case
-
Georgy Kirichenko authored
Fixes #1924
-
Konstantin Osipov authored
1024MB is a lot for small devices and virtual machines. 256 MB is more than sufficient to play with a database, and will make life easier when trying the database for the first time.
-
- Jan 24, 2017
-
-
Alexandr Lyapunov authored
Closes #1692
-
Alexandr Lyapunov authored
Change order of traversal in merge iterator to direct, getting ready for avoiding reading from disk in case of cache hit
-
Vladimir Davydov authored
Required to check if a range should be coalesced with its neighbors.
-
Vladimir Davydov authored
- Do not unaccount mem from the index and unlink it from the scheduler in vy_range_delete(), because it violates encapsulation. Let's just delete it there and leave accounting to specialized helpers, as we do in case of runs. - Delete vy_range_delete_mem() helper, because it has nothing to do with range - it unaccounts a mem from the *index* and removes it from the *scheduler*, and then frees it. - Make vy_index_{acct,unacct}_range() helpers handle mems as well, as those are a part of each range. - Drop vy_index_acct_range_dumped() helper. Use unacct/acct pair instead. Hopefully, ths patch makes the code easier to follow.
-
Vladimir Davydov authored
Besides vy_run_total(), which returns the size of run data file on disk, there's also vy_run_size() which returns the size of run and page info structs in memory. The latter doesn't make much sense, so let's drop it and rename vy_run_total() to vy_run_size().
-
Vladimir Davydov authored
- Generate random keys to prevent compression. - Expect 2 ranges, not 4, because we do not split a range unless it was compacted. We could make the test generate 4 ranges by issuing snapshot more often, but that would increase execution time, so leave it as is.
-
Roman Tsisyk authored
Follow up a49673c9
-
Konstantin Osipov authored
* update the default level_size_ratio * rename level_size_ratio to run_size_ratio * rename max_runs_per_level to run_count_per_level
-
Vladimir Davydov authored
To follow the LSM tree design, group runs of the same range into levels. The division is ephemeral, it is recomputed after each dump and not stored in vy_range struct. The size of the first level is set to the largest run dumped since the last compaction. The size of each subsequent level is level_size_ratio times larger than previous one. When the number of runs at a level exceeds max_runs_per_level, all runs of the maximal level that exceeds the limitation as well as all runs and mems of preceding levels are compacted. max_runs_per_level and level_size_ratio are set in index config. By default, they equal to 2 and 10, respectively. Closes #1821
-
Roman Tsisyk authored
Fix naming convention.
-
- Jan 23, 2017
-
-
Roman Tsisyk authored
Follow up the previous patch.
-