- Mar 07, 2023
-
-
Georgiy Lebedev authored
In some cases unsafe extension decoding was done without bound and type checks: add necessary checks. Closes tarantool/security#73 NO_DOC=bugfix (cherry picked from commit 1de6a071)
-
- Mar 06, 2023
-
-
Oleg Jukovec authored
This patch addresses coverity complain 1535241. Follow-up #8047 NO_TEST=nit NO_CHANGELOG=nit NO_DOC=nit (cherry picked from commit 089cbfa9)
-
Vladimir Davydov authored
If the 'after' key is less than the search key in case of ge/gt or greater than the search key in case of le/lt, the iterator either crashes (vinyl) or returns invalid result (memtx). This happens because the engine implementation doesn't expect an invalid 'after' key. Let's fix this by raising an error at the top level in case the 'after' key doesn't meet the search criteria. Closes #8403 Closes #8404 NO_DOC=bug fix NO_CHANGELOG=unreleased (cherry picked from commit c561202d)
-
Vladimir Davydov authored
Currently, if the position isn't compatible with the index, we raise an error like "Invalid key part count ...". From this error it's difficult to figure out whether it's for the given iterator position of for the search key. Let's always raise ER_ITERATOR_POSITION in this case. Later on we'll use stacked diag to add extra error info. Needed for #8403 Needed for #8404 NO_DOC=bug fix NO_CHANGELOG=unreleased (cherry picked from commit 81d43c17)
-
Vladimir Davydov authored
We need to compare a tuple position with a search key in select() and pairs() to make sure the tuple position meets the search criteria. The problem is that we strip the MessagePack header from the position while key_compare() takes keys with headers. Let's make key_compare take keys without headers like the rest of comparator functions. Since in Vinyl we often need to compare keys with headers, we also add vy_key_compare() helper function. Needed for #8403 Needed for #8404 NO_DOC=refactoring NO_TEST=refactoring NO_CHANGELOG=refactoring (cherry picked from commit 41b8a012)
-
Yaroslav Lobankov authored
NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci (cherry picked from commit dcf1f1ec)
-
Yaroslav Lobankov authored
Enable CI for branches with names `release/x.y.z`. Sometimes we are going to create such branches, and we need to have working CI for them. NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci (cherry picked from commit 9fe135c5)
-
Mergen Imeev authored
This patch adds a rule to ignore the Makefile on the path test/*/*/. NO_DOC=No need, changes in .gitignore NO_TEST=No need, changes in .gitignore NO_CHANGELOG=No need, changes in .gitignore (cherry picked from commit 25d93952)
-
Igor Munkin authored
Since JIT is disabled in the previous commit, regular testing on macOS/M1 can be returned back to Tarantool CI routine. Furthermore, all specialized targets in .test.mk and auxiliary environment tweaks in macOS-related workflows are also removed in scope of this patch. Follows up #8252 NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci (cherry picked from commit d807022b)
-
Igor Munkin authored
Regular testing routine on macOS/M1 platforms will be enabled back in the last patch of the series, but there are some failures unrelated to the changes made within the previous commits. Hence it was decided to add the skip_if directive to app-luatest/fiber_parent_backtrace_test.lua for now. Relates to tarantool/tarantool-qa#309 NO_DOC=tests NO_CHANGELOG=tests (cherry picked from commit f1fc70f4)
-
Igor Munkin authored
Regular testing routine on macOS/M1 platforms will be enabled back in the last patch of the series, but there are some failures unrelated to the changes made within the previous commits. Hence it was decided to add the skipcond unit to app/fiber.test.lua for now. Relates to tarantool/tarantool-qa#308 NO_DOC=tests NO_CHANGELOG=tests (cherry picked from commit dfa2f128)
-
Igor Munkin authored
To improve customer experience it was decided to disable JIT engine on Tarantool startup for macOS builds. Either way, JIT will be aboard as a result of the changes and more adventurous users will be able to enable it via <jit.on> in their code. Furthermore, for convenient maintenance of JIT default behaviour CMake configuration option "LUAJIT_JIT_STATUS" is introduced. Closes #8252 NO_DOC=no behaviour changes (cherry picked from commit ae0db476)
-
Igor Munkin authored
Since luatest provides <skip_if> helper, .skipcond file is not necessary anymore and is removed. Needed for #8252 NO_DOC=refactoring NO_TEST=refactoring NO_CHANGELOG=refactoring (cherry picked from commit 3548afdb)
-
Igor Munkin authored
As a result of the patch, all required files are moved to app-luatest subdirectory. The test itself is rewritten via <justrun> and <treegen> helpers to make it more clear and easy to maintain. Since luatest provides <skip_if> helper, .skipcond file is not necessary anymore and is removed. Needed for #8252 NO_DOC=refactoring NO_TEST=refactoring NO_CHANGELOG=refactoring (cherry picked from commit 2369b8d4)
-
Igor Munkin authored
As a result of the patch, all required files are moved to app-luatest subdirectory. introducing the following layout: app-luatest/ |- <name>_test.lua |- lib/ |- CMakeLists.txt |- <libname>.c The test itself is rewritten via <justrun> and <treegen> helpers to make it more clear and easy to maintain. Since luatest provides <skip_if> helper, .skipcond file is not necessary anymore and is removed. Needed for #8252 NO_DOC=refactoring NO_TEST=refactoring NO_CHANGELOG=refactoring (cherry picked from commit 455a862c)
-
- Mar 03, 2023
-
-
Yaroslav Lobankov authored
NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci (cherry picked from commit 140e2c16)
-
Yaroslav Lobankov authored
The 1.10 branch is not supported anymore and there is no need to keep the logic for it. NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci (cherry picked from commit e0c5a41f)
-
Yaroslav Lobankov authored
Sources should be pushed to the repo on a release tag only, an `*-entrypoint` tag is an auxiliary one. NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci (cherry picked from commit 45cc4930)
-
Vladimir Davydov authored
If the tuple pointed to by 'after' isn't in the space, eq pagination would skip it because of the broken 'equals' flag update in the memtx iterator. Closes #8373 NO_DOC=bug fix NO_CHANGELOG=unreleased (cherry picked from commit bf275ed5)
-
Sergey Bronnikov authored
Updated third_party/zstd submodule from v1.5.2 to pre-1.5.5 version. The new version fixes a rare bug that was introduced in 1.5.0 [1]. A v1.5.5 release version will be produced in March. 1. https://github.com/facebook/zstd/pull/3517 Fixes #8391 NO_DOC=build NO_TEST=build (cherry picked from commit ecbbc925)
-
Igor Munkin authored
* ci: add nojit flavor for exotic builds * test: fix lua-Harness JIT-related tests * test: adjust JIT-related tests in tarantool-tests * build: fix build with JIT disabled * Minor fixes. NO_DOC=LuaJIT submodule bump NO_TEST=LuaJIT submodule bump NO_CHANGELOG=test
-
- Mar 02, 2023
-
-
Georgiy Lebedev authored
Refactor logging of dangerous `select` call out of `check_select_safety` and add it to `box.internal` so that it can be reused for read views. Change all occurrences of 'dangerous' to 'long' to be consistent with the log message. Needed for tarantool/tarantool-ee#211 NO_CHANGELOG=<refactoring> NO_DOC=<refactoring> NO_TEST=<refactoring> (cherry picked from commit 4221a983)
-
Ilya Verbin authored
The `log_level' configuration parameter can be set as a number or a string. When it is a string, cfg_geti() returns 0. Use log_default->level instead, which is initialized earlier during box_init_say(). Closes #8287 NO_DOC=bugfix NO_CHANGELOG=minor bug (cherry picked from commit 41ead021)
-
Mergen Imeev authored
This patch fixes an assertion or segmentation error if a FOREIGN KEY or CHECK constraint is declared before the first column. Closes #8392 NO_DOC=bugfix of the bug added in the current release NO_CHANGELOG=bugfix of the bug added in the current release
-
Serge Petrenko authored
We use coio_connect() to connect the replica to a remote peer. It implies no timeout, and does a non-blocking connect() to the peer and then waits for the socket to become writable indefinitely. When the remote peer changes its IP address, connect() might try connecting to the old address for as long as ~ 2 minutes (given the default tcp_syn_retries value of 6). This blocks replica from trying to reconnect to the updated address and is pretty inconvenient. Let's use coio_connect_timeout() instead and use replication_disconnect_timeout() as a timeout, like everywhere else in master-replica communication. Closes #7294 NO_DOC=bugfix (cherry picked from commit 0486a489)
-
Yaroslav Lobankov authored
Add missing `server:drop()` to digest_crc32_recording_test.lua to avoid running tarantool processes after the test. NO_DOC=test fix NO_TEST=test fix NO_CHANGELOG=test fix (cherry picked from commit 5cbb0daf)
-
Vladimir Davydov authored
The test fails with fail | 2023-03-01 15:54:30.550 [3724975] main/103/server_instance.lua F> can't initialize storage: unlink, called on fd 63, aka unix/:(socket), peer of unix/:(socket): Address already in use We fixed a similar issue in commit 3d3e9dea ("test: fix flaky box-luatest/gh_7917_log_row_on_recovery_error_test") by using unique instance names. Let's do the same here. Fixes commit b1095c1c ("memtx: fix force recovery handling"). Follow-up #7974 NO_DOC=test NO_CHANGELOG=test (cherry picked from commit 1490228a)
-
- Mar 01, 2023
-
-
Georgiy Lebedev authored
Force recovery needs to follow the following logic: any unsuccessful system space request must make recovery fail (including failure to decode an xrow, when we are not sure we have finished processing system space request). If the request is a non-insert one (e.g., raft or synchro) or addresses a user space, it means we have finished processing system space requests, and from this moment force recovery can be enabled — change the behaviour accordingly. We assume the request order in the snapshot is the following: 1. system space requests; 2. user space requests; 3. non-insert requests (e.g., raft or synchro). Refactor the force recovery logic: add a enumeration to track snapshot recovery state and add a new diagnostic for the case when the snapshot contains has no system spaces. Closes #7974 NO_DOC=bugfix (cherry picked from commit b1095c1c)
-
Georgiy Lebedev authored
In some cases we don't have the whole space struct, but we want to determine whether the provided space identifier corresponds to a system space — add a `space_id_is_system` helper and refactor `space_is_system` to reuse it. Needed for #7974 NO_CHANGELOG=refactoring NO_DOC=refactoring NO_TEST=refactoring (cherry picked from commit 928e5733)
-
Vladimir Davydov authored
We often commit snap/xlog files for tests. A snap/xlog file is binary, but it contains a plain text header and, as a result, may be identified as a text file by git, which would enable checkpatch checks for it. Apparently, we don't need to check these files so let's force git to identify them as binary. NO_DOC=git NO_TEST=git NO_CHANGELOG=git (cherry picked from commit 24dd505f)
-
Sergey Bronnikov authored
Follows up #8363 NO_CHANGELOG=see previous commit NO_DOC=added a test (cherry picked from commit cccd1f9a)
-
Sergey Bronnikov authored
Patch fixes a bug when body in response couldn't be decoded: NO_WRAP ``` tarantool> httpc = require('http.client').new() tarantool> response = httpc:get('https://jsonplaceholder.typicode.com/todos/1' ) tarantool> response:decode() --- - error: 'builtin/http.client.lua:301: attempt to index field ''decoders'' (a nil value)' ... ``` NO_WRAP Now response object contains table with decoders defined by user in his http client instance. We hide this table on response serialization by adding underscore because decoders there is not a part of API. Reported-by:
Alexander Turenko <alexander.turenko@tarantool.org> Fixes #8363 NO_DOC=bugfix (cherry picked from commit 83168b25)
-
Igor Munkin authored
* test: make skipcond helper more convenient * test: introduce test:skiprest TAP helper * test: introduce test:skipall TAP helper * test: stop using utils.selfrun in tests * ci: use LuaJIT-test target in testing workflows NO_DOC=LuaJIT submodule bump NO_TEST=LuaJIT submodule bump NO_CHANGELOG=test
-
- Feb 27, 2023
-
-
Maksim Kokryashkin authored
This commit adds the RFC for the sysprof that was approved a year ago. Part of #781 NO_DOC=RFC NO_TEST=RFC NO_CHANGELOG=RFC (cherry picked from commit 958a1503)
-
Boris Stepanenko authored
Updating libcurl from 7.84.0 to 7.87.0 in commit 09f4eca1 ("third_party: update libcurl from 7.84.0 to 7.87.0") made it impossible to built tarantool with bundled curl with nghttp2, because nghttp2 was not updated to fit libcurl 7.87.0, this led to missing function nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation during linking step. https://github.com/nghttp2/nghttp2/releases/tag/v1.52.0 Closes #8268 NO_DOC=there is no known behavior changes, consider the change as not visible for a user NO_TEST=can only reproduce in specific environment NO_CHANGELOG=see NO_DOC (cherry picked from commit a6fae421)
-
Vladimir Davydov authored
Error labes got mixed up. Fix the order and add a test. Fixes commit 3f026339 ("vinyl: implement iterator pagination"). Closes #8372 NO_DOC=bug fix NO_CHANGELOG=fix for unreleased feature (cherry picked from commit 074e4eb8)
-
- Feb 22, 2023
-
-
Kirill Yukhin authored
Remove released entries. NO_DOC=minor NO_TEST=minor NO_CHANGELOG=minor
-
Nikolay Shirokovskiy authored
When calculating `rows_index` in `netbox_decode_execute` etc we use implementation defined behavior of compiler. `i < mapsize` and this is fine according to standard as unsigned arithmetic is well defined on overflows. But then we cast the result to int and this is implementation defined as the result can not be represented by int. Closes https://github.com/tarantool/security/issues/98 NO_DOC=minor NO_TEST=minor NO_CHANGELOG=minor (cherry picked from commit baba38e6)
-
- Feb 20, 2023
-
-
Kirill Yukhin authored
NO_DOC=no code changes NO_TEST=no code changes NO_CHANGELOG=no code changes
-
Pavel Semyonov authored
Proofread changelogs for 2.11.0-rc, part 3 Fix grammar, punctuation, and wording NO_CHANGELOG=changelog NO_DOC=changelog NO_TEST=changelog
-