Skip to content
Snippets Groups Projects
  1. Jan 27, 2025
  2. Jan 24, 2025
  3. Jan 23, 2025
  4. Jan 22, 2025
    • Georgy Moshkin's avatar
      test: update log prefix asynchronously when instance name not known at startup · 16073be5
      Georgy Moshkin authored
      Previously in our integration tests we would explicitly provide instance
      names on startup. One of the reasons for that was, that we process all
      the logging output from the instances by adding the prefix with the
      instance name to them. After we stopped generating names explicitly this
      feature broke, and the logs started being prepended with just the listen
      port, which is not as useful.
      
      This commit partially resolves this issue by making it so that logging
      prefix is automatically updated after the instance is bootstrapped and
      we find out it's name. This is implemented just by checking the
      Instance.name member variable, which is updated when
      Instance.instance_info() method is called. It is implicitly called in
      Instance.wait_online() which happens in almost every test (often
      implicitly as well). But if you notice that your test output doesn't
      contain instance names at the start of the lines, you may want to call
      Instance.instance_info() explicitly at some point.
      
      Also note that there's an inherent problem with that approach -- any
      log output which is handled before the instance name is known will be
      prefixed with just the port number. Hopefully this is not a very big
      problem in most cases...
      
      A better solution would be to add the instance_name to all the logger
      output automatically from picodata.
      See #1303
      16073be5
    • Вартан Бабаян's avatar
  5. Jan 21, 2025
  6. Jan 20, 2025
  7. Jan 17, 2025
  8. Jan 16, 2025
  9. Jan 15, 2025
  10. Jan 14, 2025
    • Maksim Kaitmazian's avatar
      fix: avoid no such user error when the user is dropped during DROP USER IF EXISTS execution · 12edc947
      Maksim Kaitmazian authored and Maksim Kaitmazian's avatar Maksim Kaitmazian committed
      Here is how DROP USER IF EXISTS query can result in such error:
      
      - [client 1]: check user exists
      - [client 1]: send CAS request 1
      - [client 2]: check user exists
      - [client 2]: send CAS request 2
      - [leader]: recv CAS request 1 -> access_check: ok -> check predicate: ok -> apply(async)
      - [leader]: recv CAS request 2 -> access_check: no such user
                                     /|\
                                      |
                                      |
                                   applied
      
      To address such errors, access_check was made to not return errors when
      trying to drop non-existent users or roles.
      
      Now the above example is handled as follows:
      When a user is dropped during handling the request, it causes a schema change
      that leads to the rejection of the operation on the predicate check.
      Upon retry, the initiator will detect that the user has been dropped
      and handle it accordingly.
      12edc947
    • Виталий Шунков's avatar
      ci: fix long path to socket · 8773a919
      Виталий Шунков authored
      8773a919
  11. Jan 13, 2025
    • Вартан Бабаян's avatar
      feat: change the default pattern to generate instance and replicaset names · e33d1482
      Вартан Бабаян authored
      Replicaset name: {tier_name}_{replicaset_number_in_this_tier}
      Instance name: {tier_name}_{replicaset_number}_{instance_number_in_replicaset}
      e33d1482
    • Антон Фетисов's avatar
      disable CONFIG_SITE envvar at build time · 72330494
      Антон Фетисов authored and Антон Фетисов's avatar Антон Фетисов committed
      CONFIG_SITE is an environment variable which may point to a global autoconf initialization script,
      which is run at the start of every autoconf invocation and can modify its parameters.
      Most systems don't have that script, and don't set that variable. On OpenSUSE, the variable is set.
      The default script overwrites paths to local builds of libraries from `lib` to `lib64`, breaking our
      builds. This override makes no sense for our project, since all libraries are linked statically, and
      only ever built in 64-bit versions (the script allows side by side 32- and 64-bit builds).
      
      It is unlikely that this script is used in practice, since the possibility of breaking random builds is
      too high. It's also relevant only for building C code which relies on autoconf. Most new projects and
      projects in modern languages don't do that.
      
      For this reason I unset CONFIG_SITE in our default builds of Tarantool.
      72330494
    • Антон Фетисов's avatar
      b2054934
  12. Jan 10, 2025
Loading