- Jul 19, 2017
-
-
Vladislav Shpilevoy authored
-
Vladislav Shpilevoy authored
-
Vladislav Shpilevoy authored
-
Vladislav Shpilevoy authored
Closes #2569
-
Vladislav Shpilevoy authored
Implement tuple_arena_create method to initialize tuple arena and quota. This method further will be used to initialize both memtx and vinyl arenas. Write a test showing the limit of vinyl statements size. Part of #2569
-
Alexandr Lyapunov authored
-
Alexandr Lyapunov authored
Now if an error happens during the first tuple push from port to obuf, the port is not actually destroyed - only the first tuple is unreferenced. I believe that port dump must not free any data at all, then once a user creates a port he must take the ownership and destroy it in the end of usage. That would simplify the user code, especially C++. Simplify port_dump function and destroy a port in the code that creates the port.
-
- Jul 18, 2017
-
-
Roman Tsisyk authored
LuaRocks requires openssl and curl in order to download manifest from rocks.tarantool.org. Fixes #2612
-
Roman Tsisyk authored
Fix compatibility with original tarantool/http client. Follow up #2530
-
- Jul 17, 2017
-
-
Roman Tsisyk authored
-
Georgy Kirichenko authored
Closes #2605
-
Georgy Kirichenko authored
coio_call() must not release stack until all work is done. Repeat yielding until task is completed in a worker thread. Fixes #2604
- Jul 14, 2017
-
-
Roman Tsisyk authored
-
Roman Tsisyk authored
-
Roman Tsisyk authored
Usage: tarantoolctl rocks install ROCK - install a rock tarantoolctl rocks remove ROCK - remove a rock tarantoolctl rocks show ROCK - show information about an installed rock tarantoolctl rocks search PATTERN - search repository for rocks tarantoolctl rocks list - list all installed rocks There are no other commands, options, configuration files. Our official repository (http://rocks.tarantool.org) works out of the box. All rocks are installed to ${PWD}/.rocks directory to support separate rocks trees per project, as proposed by #2067. Rockspec can use "tarantool >= 1.7.x" inside dependencies = {} block to depend on a specific Tarantool version. LuaRocks has been slightly hacked to support custom configuration via site_config.lua. There are no other changes in the upstream code. It is not a fork and it isn't going to be a fork. All formats, layouts and rockspecs are 100% compatible with the upstream LuaRocks 2017-07-10. This feature intentionally doesn't have CMake option to disable it, because it should be provided on all available platforms out of the box. Other changes: * Add ${PWD}/.rocks to default package.path/package.cpath * Hack tarantoolctl to display subcommands in --help. Currently command line arguments handling are not perfect, but it can be fixed only by a new argparse implementation. Closes #2067
-
Roman Tsisyk authored
A part of #1451
-
Roman Tsisyk authored
No semantic changes. Needed for #1451
-
Roman Tsisyk authored
No semantic changes. Needed for #1451
-
Roman Tsisyk authored
No semantic changes. Needed for #1451
-
Roman Tsisyk authored
No semantic changes. Needed for #1451
-
Roman Tsisyk authored
Follow up 6015e0df
-
- Jul 13, 2017
-
-
Vladislav Shpilevoy authored
Closes #944
-
Vladislav Shpilevoy authored
Do not use BOX_NAME_MAX as size of static buffers. Further it will be strongly increased. Part of #944
-
- Jul 12, 2017
-
-
Vladimir Davydov authored
This flag is needed to skip records corresponding to dropped and incomplete runs on recovery, because given VY_LOG_CREATE_RUN the vy_recovery_iterate() callback can't tell if the run is used or going to be dropped. This flag needlessly complicates the code of vy_recovery_iterate(), which is supposed to simply replay all records recovered from the log, not try to be smart. Let's get rid of it and instead add a hint to vy_log_record indicating that a run created by VY_LOG_CREATE_RUN is going to be dropped.
-
Vladimir Davydov authored
vy_prepare_truncate_space() doesn't need to make directories for truncated indexes - they must already exist as the indexes were created. It just needs to create initial range for each of them. Factor out vy_index_init_range_tree() out of vy_index_create() and use it instead where appropriate.
-
Vladimir Davydov authored
We have vy_recovery_lookup_index() function to look up an index in a recovery context by id and vy_recovery_iterate_index() to iterate over ranges, runs, and slices of a found index. vy_recovery_lookup_index() used to be a part of vy_recovery_iterate_index() and was factored out when index logging was moved to be called after WAL write, from vy_index_commit_create(), because during recovery we need to check if an index creation record was flushed to vylog before restart - currently we do it by trying to look it up in the recovery context. To stop using index lsn as vylog index id and remove lsn from index options, I'm planning to make the function loading an index from vylog advance an internal vylog counter so that the next time it is called it loads a newer incarnation of the same index. vy_recovery_lookup_index() doesn't fit this concept. So I introduce vy_recovery_load_index() that calls vy_recovery_lookup_index() and vy_recovery_iterate_index() internally and make the two functions private to vylog. To deal with indexes not logged due to vylog errors, I introduce a per index flag, vy_index->is_committed, which is set if the index record was flushed to vylog - the same approach is already used to handle index drop (see vy_index_commit_drop()).
-
Roman Tsisyk authored
Closes #2535
-
Vladislav Shpilevoy authored
-
Alexandr Lyapunov authored
Now if a prepared transaction is aborted, it expects to be the latest prepared TX in TX manager. It's not true in two cases: - The transaction failed during preparation. The TX is in partially prepared state and must rollback all the changes it made in mems but the preparation was not finished and thus the TX could not be considered as the latest in TX manager. - It's a cascading rollback with more than on TX. It would be graceful for the latest aborted TX to set the previous TX as the latest after the abortion. But the TX does not know the previous prepared TX and simply set to NULL appropriate pointer; when the time comes for the previous TX to be aborted it does not see itself as the latest. The TX must not expect itself to be the latest but must handle the last_prepared_tx pointer only if it is the latest. Fix it and add tests. Fix #2588 (case 1) Fix #2591 (case 2)
-
- Jul 11, 2017
-
-
Konstantin Osipov authored
Better safe than sorry. @todo@: rewrite to send an error for reporting to iproto thread instead. In scope of gh-2507.
-
Vladislav Shpilevoy authored
Part of the #2507
-
Roman Tsisyk authored
dh_systemd_enable called BEFORE dh_install, which installs file(s) (tarantool.service), required for dh_systemd_enable. A quick workaround is to symlink tarantool.service into debian/ directory. Issue appeared only in cdbs comming with Debian 9. See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864489 Thanks for Alexander Sbitnev + Fix inconsistent debian/changelog and debian/control.
-
Vladimir Davydov authored
Needed for #1906
-
Roman Tsisyk authored
Use two decimal digits in fractional part of quota_used_ratio and arena_used_ratio. Closes #2082
-
Vladimir Davydov authored
So that vy_tx does not depend on vy_cursor. Needed for #1906
-
Vladimir Davydov authored
Needed for #1906
-
Vladimir Davydov authored
We can't move vy_index_new() to a separate file right now, because it depends on vy_env and we can't just replace vy_env with vy_index_env and vy_cache_env there, because the function is called from outside vinyl.c. To deal with that, let's introduce wrappers around vy_index_new() and vy_index_delete(), vy_new_index() and vy_delete_index(), which are vinyl C API functions that simply call the internal functions with appropriate arguments. Also, remove vy_index_ref() and vy_index_unref() from the C API, as they are not really necessary. Needed for #1906
-
Vladimir Davydov authored
- Introduce vy_index_env hosting fields common to all indexes and replace vy_index->env with it. - Use a callback to trigger async upsert squashing. - Pass vy_env or vy_schedule in function arguments instead of using index->env. Needed for #1906
-
Vladimir Davydov authored
So that we can remove vy_env reference from internal Vinyl structures. Needed for #1906
-