Skip to content
Snippets Groups Projects
  1. Mar 07, 2023
  2. Mar 06, 2023
    • Oleg Jukovec's avatar
      httpc: check region_join result · 7a86f262
      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)
      Unverified
      7a86f262
    • Vladimir Davydov's avatar
      box: check iterator position against search criteria · 54c50e53
      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)
      54c50e53
    • Vladimir Davydov's avatar
      box: raise ER_ITERATOR_POSITION on any kind of invalid position · 000e5e8f
      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)
      000e5e8f
    • Vladimir Davydov's avatar
      key_def: make key_compare take keys without header · 0cff8847
      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)
      0cff8847
    • Yaroslav Lobankov's avatar
      ci: fix code block indentation in pack-and-deploy · 4ba7e0a1
      Yaroslav Lobankov authored
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit dcf1f1ec)
      Unverified
      4ba7e0a1
    • Yaroslav Lobankov's avatar
      ci: enable for release/x.y.z branches · 2db2da49
      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)
      Unverified
      2db2da49
    • Mergen Imeev's avatar
      test: add rule to ignore Makefile · df062b6a
      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)
      Unverified
      df062b6a
    • Igor Munkin's avatar
      ci: enable testing on macOS/M1 back · 727e44a1
      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)
      727e44a1
    • Igor Munkin's avatar
      test: disable app-luatest/fiber_parent_backtrace_test.lua on macOS/M1 · b9705010
      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)
      b9705010
    • Igor Munkin's avatar
      test: disable app/fiber.test.lua on macOS/M1 · c78e5a99
      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)
      c78e5a99
    • Igor Munkin's avatar
      lua: disable JIT engine on macOS by default · 44af252c
      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)
      44af252c
    • Igor Munkin's avatar
      test: drop test-run skipcond for gh-7762 test · 6c832fd8
      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)
      6c832fd8
    • Igor Munkin's avatar
      test: rewrite test for gh-5983 with luatest · efddfba2
      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)
      efddfba2
    • Igor Munkin's avatar
      test: rewrite test for gh-1700 with luatest · ae538cf4
      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)
      ae538cf4
  3. Mar 03, 2023
  4. Mar 02, 2023
    • Georgiy Lebedev's avatar
      box: refactor `check_select_safety` and add it to `box.internal` · a23f4022
      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)
      a23f4022
    • Ilya Verbin's avatar
      main: fix wrong log level printed at first box.cfg{} · 861d6ae7
      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)
      861d6ae7
    • Mergen Imeev's avatar
      sql: fix assertion in case FK or CK declared first · 3a10085b
      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
      3a10085b
    • Serge Petrenko's avatar
      replication: add remote peer connection timeout · 03d3362d
      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)
      03d3362d
    • Yaroslav Lobankov's avatar
      test: add cleanup to digest_crc32_recording_test · dd421b0f
      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)
      Unverified
      dd421b0f
    • Vladimir Davydov's avatar
      test: fix gh_7974_force_recovery_bugs flaky test · 971266d7
      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)
      971266d7
  5. Mar 01, 2023
    • Georgiy Lebedev's avatar
      memtx: fix force recovery handling · 3d71f7df
      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)
      3d71f7df
    • Georgiy Lebedev's avatar
      box: add `space_id_is_system` helper · a4a80d00
      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)
      a4a80d00
    • Vladimir Davydov's avatar
      git: mark snap and xlog files as binary · b5114553
      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)
      b5114553
    • Sergey Bronnikov's avatar
      httpc: add a test with decoding using a custom body decoder · 5dcf3114
      Sergey Bronnikov authored
      Follows up #8363
      
      NO_CHANGELOG=see previous commit
      NO_DOC=added a test
      
      (cherry picked from commit cccd1f9a)
      Unverified
      5dcf3114
    • Sergey Bronnikov's avatar
      httpc: add a decoders to a http response · cf396115
      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
      
      (cherry picked from commit 83168b25)
      Unverified
      cf396115
    • Igor Munkin's avatar
      luajit: bump new version · f0f9d452
      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
      f0f9d452
  6. Feb 27, 2023
  7. Feb 22, 2023
  8. Feb 20, 2023
Loading