Skip to content
Snippets Groups Projects
  1. Mar 06, 2023
    • Mergen Imeev's avatar
      test: add rule to ignore Makefile · 25d93952
      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
      25d93952
  2. Mar 03, 2023
    • Yaroslav Lobankov's avatar
      ci: introduce 3.x related logic for workflows · 140e2c16
      Yaroslav Lobankov authored
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      140e2c16
    • Yaroslav Lobankov's avatar
      ci: eliminate 1.10 related logic for workflows · e0c5a41f
      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
      e0c5a41f
    • Yaroslav Lobankov's avatar
      ci: not to push sources on `*-entrypoint` tag · 45cc4930
      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
      45cc4930
    • Vladimir Davydov's avatar
      memtx: fix eq pagination in case after tuple is absent · bf275ed5
      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
      bf275ed5
    • Igor Munkin's avatar
      ci: enable testing on macOS/M1 back · d807022b
      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
      d807022b
    • Igor Munkin's avatar
      test: disable app-luatest/fiber_parent_backtrace_test.lua on macOS/M1 · 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 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
      f1fc70f4
    • Igor Munkin's avatar
      test: disable app/fiber.test.lua on macOS/M1 · dfa2f128
      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
      dfa2f128
    • Igor Munkin's avatar
      lua: disable JIT engine on macOS by default · ae0db476
      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
      ae0db476
    • Igor Munkin's avatar
      test: drop test-run skipcond for gh-7762 test · 3548afdb
      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
      3548afdb
    • Igor Munkin's avatar
      test: rewrite test for gh-5983 with luatest · 2369b8d4
      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
      2369b8d4
    • Igor Munkin's avatar
      test: rewrite test for gh-1700 with luatest · 455a862c
      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
      455a862c
    • Sergey Bronnikov's avatar
      build: bump zstd submodule · ecbbc925
      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
      ecbbc925
    • Igor Munkin's avatar
      luajit: bump new version · 61da8e87
      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
      61da8e87
  3. Mar 02, 2023
    • Georgiy Lebedev's avatar
      box: refactor `check_select_safety` and add it to `box.internal` · 4221a983
      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>
      4221a983
    • Ilya Verbin's avatar
      main: fix wrong log level printed at first box.cfg{} · 41ead021
      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
      41ead021
    • Serge Petrenko's avatar
      replication: add remote peer connection timeout · 0486a489
      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
      0486a489
    • Yaroslav Lobankov's avatar
      test: add cleanup to digest_crc32_recording_test · 5cbb0daf
      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
      5cbb0daf
    • Vladimir Davydov's avatar
      test: fix gh_7974_force_recovery_bugs flaky test · 1490228a
      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
      1490228a
  4. Mar 01, 2023
    • Sergey Bronnikov's avatar
      box: fix segfault in box.internal.compact · 6a3e3133
      Sergey Bronnikov authored
      There is an internal Lua function `box.internal.compact` that used in
      `index_object:compact()` [1]. Tarantool has crashed when
      `box.internal.compact` running with id of non-existent space.
      
      Patch adds spaces cache initialization to box_init() and removes
      excessive check in space_cache_destroy().
      
      1. https://www.tarantool.io/en/doc/latest/reference/reference_lua/box_index/compact/
      
      Fixes #8196
      
      NO_DOC=bugfix for internal Lua function
      NO_CHANGELOG=bugfix for internal Lua function
      6a3e3133
    • Georgiy Lebedev's avatar
      memtx: fix force recovery handling · b1095c1c
      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
      b1095c1c
    • Georgiy Lebedev's avatar
      box: add `space_id_is_system` helper · 928e5733
      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
      928e5733
    • Vladimir Davydov's avatar
      git: mark snap and xlog files as binary · 24dd505f
      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
      24dd505f
    • Ilya Verbin's avatar
      box: make space_foreach() strictly ordered · 2c39ff71
      Ilya Verbin authored
      This also changes the order in which spaces are stored in .snap files.
      
      Currently space_foreach() iterates over spaces in the following order:
      1. Spaces with id in the range [256..510], ordered by id;
      2. All other (non-system) spaces in unspecified order.
      
      This patch changes the order to:
      1. Spaces with id in the range [256..511], ordered by id;
      2. All other (non-system) spaces, ordered by id.
      
      Strict ordered of non-system spaces is required by users who iterate
      over .snap files with xlog.pairs().
      
      Closes #7954
      
      @TarantoolBot document
      Product: Tarantool
      Title: Update the description of .snap file format
      Root document: https://www.tarantool.io/en/doc/latest/dev_guide/internals/file_formats/#the-snapshot-file-format
      
      Change "the .snap file’s records are ordered by space id" to:
      
      Since Tarantool 3.0 the .snap file's records have the following order:
      1. System spaces (id >= 256 && id <= 511), ordered by id;
      2. All other (non-system) spaces, ordered by id.
      
      In older versions of Tarantool the order of non-system spaces is
      unspecified.
      2c39ff71
    • Sergey Bronnikov's avatar
      httpc: add a test with decoding using a custom body decoder · cccd1f9a
      Sergey Bronnikov authored
      Follows up #8363
      
      NO_CHANGELOG=see previous commit
      NO_DOC=added a test
      cccd1f9a
    • Sergey Bronnikov's avatar
      httpc: add a decoders to a http response · 83168b25
      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: default avatarAlexander Turenko <alexander.turenko@tarantool.org>
      
      Fixes #8363
      
      NO_DOC=bugfix
      83168b25
    • Igor Munkin's avatar
      luajit: bump new version · 48f73867
      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
      48f73867
  5. Feb 27, 2023
    • Boris Stepanenko's avatar
      third_party: update nghttp2 from 1.48.0 to 1.52.0 · a6fae421
      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
      a6fae421
    • Maksim Kokryashkin's avatar
      doc: add RFC for the sysprof · 958a1503
      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
      958a1503
    • Vladimir Davydov's avatar
      vinyl: fix use after free on key alloc error in iterator constructor · 074e4eb8
      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
      074e4eb8
    • Mergen Imeev's avatar
      sql: refactor sqlAddPrimaryKey() · 2ba2c637
      Mergen Imeev authored
      This patch fixes the deprecated behavior of sqlAddPrimaryKey() when the
      only field in the PRIMARY KEY is of type INTEGER.
      
      NO_DOC=refactoring
      NO_TEST=refactoring
      NO_CHANGELOG=refactoring
      2ba2c637
    • Mergen Imeev's avatar
      sql: check column name in index definition · 7935d2c8
      Mergen Imeev authored
      After this patch, the column name will be checked for being an ID before
      resolution, not after.
      
      Closes #8365
      
      NO_DOC=bugfix in debug
      NO_CHANGELOG=bugfix in debug
      7935d2c8
    • Mergen Imeev's avatar
      sql: drop struct sql_stmt · 7201fa1f
      Mergen Imeev authored
      This structure is used as another name for the struct Vdbe. Because of
      this, there is some confusion about when one structure or another is
      used. To avoid such confusion, we must remove the sql_stmt structure.
      
      In addition, this patch removes several unused functions or non-existent
      function definitions.
      
      NO_DOC=refactoring
      NO_TEST=refactoring
      NO_CHANGELOG=refactoring
      7201fa1f
    • Mergen Imeev's avatar
      sql: drop unused functions · dbad19ef
      Mergen Imeev authored
      These functions are not used and should be removed. Most likely these
      are not all unused functions, but they all use struct stmt, which will
      be removed in the next commit.
      
      Also, this patch removes the aCounter field from the struct Vdbe, since
      the only function that uses this field is removed in this commit.
      
      NO_DOC=refactoring
      NO_TEST=refactoring
      NO_CHANGELOG=refactoring
      dbad19ef
    • Mergen Imeev's avatar
      sql: remove type uptr · fa46d16b
      Mergen Imeev authored
      This type is not used and now dropped.
      
      NO_DOC=refactoring
      NO_TEST=refactoring
      NO_CHANGELOG=refactoring
      fa46d16b
    • Mergen Imeev's avatar
      sql: remove macro to convert int to pointer · bbff6158
      Mergen Imeev authored
      This patch removes macros that were used to convert int to pointer and
      vice versa. These macros have been removed as they are no longer needed.
      
      NO_DOC=refactoring
      NO_TEST=refactoring
      NO_CHANGELOG=refactoring
      bbff6158
  6. Feb 22, 2023
    • Kirill Yukhin's avatar
      Cleanup changelog/unreleased · 5d658e7e
      Kirill Yukhin authored
      Remove changelog entries related to 2.11.
      
      NO_DOC=no code changes
      NO_CHANGELOG=see NO_DOC
      NO_TEST=see NO_DOC
      5d658e7e
    • Alexander Turenko's avatar
      Add 2.11.0-rc issue template · 5dce5b60
      Alexander Turenko authored
      We want to explicitly collect feedback that regards 2.11 release
      candidates.
      
      The template automatically adds `2.11.0-rc` label to the new issue, so
      it'll be easier to filter issues relevant for the release candidates.
      
      NO_DOC=no code changes
      NO_CHANGELOG=see NO_DOC
      NO_TEST=see NO_DOC
      5dce5b60
    • Nikolay Shirokovskiy's avatar
      net_box: don't use integer implementation defined · baba38e6
      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
      baba38e6
  7. Feb 21, 2023
Loading