Skip to content
Snippets Groups Projects
  1. Jan 16, 2025
  2. Jan 15, 2025
  3. 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
  4. 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
  5. Jan 10, 2025
  6. Jan 09, 2025
  7. Dec 28, 2024
  8. Dec 27, 2024
    • Maksim Kaitmazian's avatar
      refactor: allow default ports to be listened on by other protocols · 30558fa0
      Maksim Kaitmazian authored and Dmitry Rodionov's avatar Dmitry Rodionov committed
      Previously, using a default port of another protocol would result in an
      error like the following
      ```
      error: Invalid value "localhost:8080" for '--pg-listen <[HOST][:PORT]>': PGPROTO cannot listen on port 8080 because it is default port for HTTP
      ```
      
      This commit allows default ports to be used by other protocols,
      as long as the port is not already occupied.
      
      Close #1254
      30558fa0
    • Kurdakov Alexander's avatar
      adr: configuration · 583cac4a
      Kurdakov Alexander authored and Alexander Kurdakov's avatar Alexander Kurdakov committed
      583cac4a
    • Georgy Moshkin's avatar
      fix: bug in conf_test when demoting excess voters · 08a9d0a8
      Georgy Moshkin authored
      The bug was introduced when I changed the behaviour of conf_change in
      regard to instances with target_state Expelled. As a result we would
      sometimes arbitrarily demote healthy voters in presence of degenerate
      ones.
      
      For example we could have this situation:
      
      instance i1: raft_id=1, target_state=Online, raft_configuration=voter
      instance i2: raft_id=2, target_state=Expelled, raft_configuration=voter (!)
      instance i3: raft_id=3, target_state=Offline, raft_configuration=voter (!)
      instance i4: raft_id=4, target_state=Online, raft_configuration=learner (!)
      instance i5: raft_id=5, target_state=Online, raft_configuration=learner (!)
      08a9d0a8
    • Georgy Moshkin's avatar
      7863470b
Loading