Skip to content
Snippets Groups Projects
  1. Jun 27, 2023
    • Alexander Turenko's avatar
      test: return a dir from treegen.prepare_directory() · f81b1aac
      Alexander Turenko authored
      It makes the helper a bit more convenient to use it tests.
      
      NO_DOC=testing helper
      NO_TEST=see NO_DOC
      NO_CHANGELOG=see NO_DOC
      f81b1aac
    • Mergen Imeev's avatar
      config: add current status broadcasting · cac50493
      Mergen Imeev authored
      This patch implements broadcastion of the current statusi.
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      cac50493
    • Mergen Imeev's avatar
      config: introduce module config · 18ed6b6f
      Mergen Imeev authored
      This patch introduces the "config" module. This module allows you to
      access the configuration, apply it, and reload.
      
      Part of #8789
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      18ed6b6f
    • Mergen Imeev's avatar
      config: introduce env source · 82b0cff9
      Mergen Imeev authored
      This patch introduces the env configuration source. This is the instance
      source that can be used to describe configuration options for a single
      instance.
      
      Part of #8789
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      82b0cff9
    • Mergen Imeev's avatar
      config: introduce file source · 66caef39
      Mergen Imeev authored
      This patch introduces the file configuration source. This is the cluster
      source that can be used to describe all configuration options for
      cluster instances.
      
      Part of #8789
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      66caef39
    • Mergen Imeev's avatar
      config: introduce app applier · 07a36510
      Mergen Imeev authored
      This patch introduces the application applier. This applier is used to
      set user application options.
      
      Part of #8789
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      07a36510
    • Mergen Imeev's avatar
      config: introduce fiber applier · 2ef6dd59
      Mergen Imeev authored
      This patch introduces the fiber applier. This applier is used to set
      fiber options.
      
      Part of #8789
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      2ef6dd59
    • Mergen Imeev's avatar
      config: introduce console applier · e4be006c
      Mergen Imeev authored
      This patch introduces the console applier. This applier is used to set
      console options.
      
      Part of #8789
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      e4be006c
    • Mergen Imeev's avatar
      config: introduce credentials applier · a5f68b50
      Mergen Imeev authored
      This patch introduces the credentials applier. This applier is used to
      create roles and users, set roles to users and roles, set password to
      users, set any privileges for users and roles for universe.
      
      Part of #8789
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      a5f68b50
    • Mergen Imeev's avatar
      config: introduce box_cfg applier · 702e4a97
      Mergen Imeev authored
      This patch introduces the box_cfg applier. This applier is used to
      process box options. This appliers is called after mkdir applier because
      we need all necessary directories to exist by the time the box options
      are processed.
      
      Part of #8789
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      702e4a97
    • Mergen Imeev's avatar
      config: introduce mkdir applier · 4cafab54
      Mergen Imeev authored
      This patch introduces the mkdir applier. This appliers is used to create
      all required directories. This applier is called before all other
      appliers.
      
      Part of #8789
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      4cafab54
    • Mergen Imeev's avatar
      config: introduce module configdata · 964431d6
      Mergen Imeev authored
      This patch introduces the configdata module, which prepares data from
      configuration sources before it is provided to appliers.
      
      Part of #8789
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      964431d6
    • Igor Munkin's avatar
      box: reduce luaT_pushtuple Lua GC memory usage · 8d7d1460
      Igor Munkin authored
      
      <luaT_pushtuple> function created a new GCfunc object for a tuple __gc
      handler (i.e. <lbox_tuple_gc>), having no upvalues, on each call when
      tuple object for Lua world is created.
      
      The change introduces the reference to the single GCfunc object created
      on Tarantool startup and stored to Lua registry. Using this approach in
      scope of <luaT_pushtuple> is aimed to reduce Lua GC memory usage.
      
      Part of #5201
      
      NO_DOC=refactoring
      NO_TEST=refactoring
      NO_CHANGELOG=refactoring
      
      Reviewed-by: default avatarVladimir Davydov <vdavydov@tarantool.org>
      Reviewed-by: default avatarSergey Kaplun <skaplun@tarantool.org>
      Signed-off-by: default avatarIgor Munkin <imun@tarantool.org>
      8d7d1460
    • Andrey Saranchin's avatar
      core/lua: introduce func_adapter for Lua · 52bc0407
      Andrey Saranchin authored
      We are going to introduce universal triggers registry and use it for
      tarantool triggers (e.g. space.on_replace). However, when trigger is set
      to the registry, we do not know which arguments will be passed there
      from C. That is why current implementation of triggers in tarantool is not
      suitable for use in universal registry.
      
      We decided to introduce func_adapter interface which allows to call
      functions from any programming language. Now we support only one
      language, which is Lua, so for the most part this interface is needed
      to invert dependencies.
      
      The patch introduces func_adapter interface and its implementation for
      Lua functions.
      
      Part of #8657
      
      NO_CHANGELOG=internal
      NO_DOC=internal
      52bc0407
  2. Jun 23, 2023
    • Georgiy Lebedev's avatar
      box: remove `cord_slab_cache` symbol from public API export · 970ea486
      Georgiy Lebedev authored
      `cord_slab_cache` was not designed to offer a backward compatible API, and
      leaving it exposed inevitably leads to errors like those highlighted in
      #7124 and tarantool/memcached#96: hence, remove it from the public API
      export.
      
      Closes #7124
      
      @TarantoolBot document
      Title: `cord_slab_cache` was removed from public API export
      
      The `cord_slab_cache` needs to be removed from the C API reference of the
      fiber module.
      970ea486
    • Georgiy Lebedev's avatar
      box: fix memory leaks on `ER_MULTISTATEMENT_TRANSACTION` in DDL · 6689f511
      Georgiy Lebedev authored
      Space index build and space format checking operations don't destroy space
      iterator on `txn_check_singlestatement` failure — fix this.
      
      Closes #8773
      
      NO_DOC=bugfix
      NO_TEST=<leak happens in small, cannot be detected by sanitizer>
      6689f511
    • Georgiy Lebedev's avatar
      core: use `malloc` instead of `region` allocator in procedure name cache · 7135910e
      Georgiy Lebedev authored
      The procedure name cache uses a region for hash table entry allocation, but
      the cache is a thread local variable, while the `region` uses a `slab`
      allocator the lifetime of which is bounded by `main`, while thread locals
      are destroyed after `main`: use the `malloc` allocator instead.
      
      Benchmark from #7207 shows that this change does not effect performance.
      
      Closes #8777
      
      NO_CHANGELOG=<leak does not affect users>
      NO_DOC=bugfix
      NO_TEST=<detected by ASAN>
      7135910e
    • Mergen Imeev's avatar
      sql: remove legacy code from vdbesort.c · d63a4bf2
      Mergen Imeev authored
      This patch removes some deprecated code. This code had no user-visible
      effect, but caused problems when running the test with ASAN enabled.
      
      Closes #8761
      
      NO_DOC=refactoring
      NO_TEST=refactoring
      NO_CHANGELOG=refactoring
      d63a4bf2
  3. Jun 22, 2023
    • Sergey Bronnikov's avatar
      test: testing tarantool in background mode · f676fb7c
      Sergey Bronnikov authored
      Before a commit ec1af129 ("box: do not close xlog file descriptors in
      the atfork handler") there was a bug when Tarantool with enabled
      background mode via environment variable could lead a crash:
      
      NO_WRAP
      ```
      $ TT_PID_FILE=tarantool.pid TT_LOG=tarantool.log TT_BACKGROUND=true TT_LISTEN=3301 tarantool -e 'box.cfg{}'
      $ tail -3 tarantool.log
      2021-11-02 16:05:43.672 [2341202] main init.c:696 E> LuajitError: cannot read stdin: Resource temporarily unavailable
      2021-11-02 16:05:43.672 [2341202] main F> fatal error, exiting the event loop
      2021-11-02 16:05:43.672 [2341202] main F> fatal error, exiting the event loop
      ```
      NO_WRAP
      
      With commit ec1af129 ("box: do not close xlog file descriptors in
      the atfork handler") described bug could not be reproduced.
      
      Proposed patch adds a test that starts Tarantool in background mode
      enabled via box.cfg option and via environment variable TT_BACKGROUND to
      make sure this behaviour will not be broken in a future.
      
      Closes #6128
      
      NO_DOC=test
      f676fb7c
    • Mergen Imeev's avatar
      config: add configuration examples · a2ad2709
      Mergen Imeev authored
      This patch adds configuration examples. Although the configuration
      module will be introduced later, the examples can already be tested
      using the instance_config and cluster_config modules.
      
      Closes #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      a2ad2709
    • Mergen Imeev's avatar
      config: introduce cluster_config module · 633410cc
      Mergen Imeev authored
      This patch introduces the cluster_config module. This module contains
      the cluster configuration schema.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      633410cc
    • Mergen Imeev's avatar
      config: introduce EE options · 250809ce
      Mergen Imeev authored
      This patch instroduces instance EE options.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      250809ce
    • Mergen Imeev's avatar
      config: app section for instance config · e91d3a88
      Mergen Imeev authored
      This section describes the instance application configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      e91d3a88
    • Mergen Imeev's avatar
      config: credentials section for instance config · 39de27df
      Mergen Imeev authored
      This section describes the instance credentials configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      39de27df
    • Mergen Imeev's avatar
      config: replication section for instance config · 989afab3
      Mergen Imeev authored
      This section describes the instance replication configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      989afab3
    • Mergen Imeev's avatar
      config: snapshot section for instance config · c9f5a36f
      Mergen Imeev authored
      This section describes the instance snapshot configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      c9f5a36f
    • Mergen Imeev's avatar
      config: wal section for instance config · c6e9b673
      Mergen Imeev authored
      This section describes the instance WAL configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      c6e9b673
    • Mergen Imeev's avatar
      config: vinyl section for instance config · 00300baf
      Mergen Imeev authored
      This section describes the instance vinyl engine configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      00300baf
    • Mergen Imeev's avatar
      config: memtx section for instance config · be98e1ae
      Mergen Imeev authored
      This section describes the instance memtx engine configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      be98e1ae
    • Mergen Imeev's avatar
      config: sql section for instance config · e1de4164
      Mergen Imeev authored
      This section describes the instance SQL configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      e1de4164
    • Mergen Imeev's avatar
      config: database section for instance config · ba3194ab
      Mergen Imeev authored
      This section describes the instance database configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      ba3194ab
    • Mergen Imeev's avatar
      config: iproto section for instance config · 6dd77aad
      Mergen Imeev authored
      This section describes the instance iproto configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      6dd77aad
    • Mergen Imeev's avatar
      config: log section for instance config · 8ea35a34
      Mergen Imeev authored
      This section describes the instance log configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      8ea35a34
    • Mergen Imeev's avatar
      config: fiber section for instance config · ddb530c0
      Mergen Imeev authored
      This section describes the instance fiber configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      ddb530c0
    • Mergen Imeev's avatar
      config: console section for instance config · db80322b
      Mergen Imeev authored
      This section describes the instance console configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      db80322b
    • Mergen Imeev's avatar
      config: process section for instance config · 642ad8da
      Mergen Imeev authored
      This section describes the instance process configuration.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      642ad8da
    • Mergen Imeev's avatar
      config: config section for instance config · dac1dbc9
      Mergen Imeev authored
      This section describes general instance configuration options.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      dac1dbc9
    • Mergen Imeev's avatar
      config: introduce instance_config module · 363b1264
      Mergen Imeev authored
      This patch introduces the instance_config module. This module will
      contain the instance configuration schema.
      
      Part of #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      363b1264
    • Alexander Turenko's avatar
      test: exclude msgpack module from override cases · 5b446db2
      Alexander Turenko authored
      The msgpack module can't lack `msgpack.NULL`, because it leads to the
      'Please call box.cfg{} first' error at access to `box.NULL`.
      
      An upcoming patch regarding schemas for tarantool's new hierarchical
      configuration uses `box.NULL` during tarantool's initialization.
      
      The override feature is tested on a set of modules, which are easy to
      replace with an arbitrary table without losing an ability to pass
      tarantool's initialization. The msgpack module will not meet the
      criteria after the mentioned patch.
      
      The test doesn't attempt to hold a precise list of modules available for
      overriding. It rather checks the overall mechanics. So it is OK to
      adjust the list.
      
      NO_DOC=testing code change
      NO_CHANGELOG=see NO_DOC
      5b446db2
    • Ilya Verbin's avatar
      build: disable backtrace feature on AArch64 Linux · 418e749c
      Ilya Verbin authored
      There are sporadic segfaults in libunwind during backtrace_collect().
      Reproducible with the latest version, and there are open issues with
      similar stacks:
      
      https://github.com/libunwind/libunwind/issues/150
      https://github.com/libunwind/libunwind/issues/260
      https://github.com/libunwind/libunwind/issues/473
      
      Let's disable ENABLE_BACKTRACE for AArch64 Linux until these issues are
      resolved in libunwind.
      
      Closes #8572
      Part of #8791
      
      NO_DOC=bugfix
      418e749c
Loading