- Dec 28, 2023
-
-
Kurdakov Alexander authored
-
- Dec 19, 2023
-
-
- Nov 23, 2023
-
-
Dmitry Rodionov authored
sbroad needs to be updated to the version that supports newer tarantool-module sbroad support for new module version was merged here: https://git.picodata.io/picodata/picodata/sbroad/-/merge_requests/355
-
- Nov 14, 2023
-
-
Georgy Moshkin authored
-
- Nov 07, 2023
-
-
Dmitry Rodionov authored
-
- Oct 10, 2023
-
-
- Oct 02, 2023
-
-
Dmitry Rodionov authored
The problem lies in nix package which references memfd_create libc symbol which doesnt exist in older libc versions available in centos and astra. The solution is to patch nix to the state of previous version which uses raw syscall.The offending commit that broke nix for us is: https://github.com/nix-rust/nix/commit/cf15c2bb5505231bc3128ef61522336e315e2169#diff-17f9119515eead05b2e65afe0b31095ec95425112c31fe3c529a02f46528b970R56 Another instance of the problem in the wild: https://github.com/lucab/libsystemd-rs/pull/144 The patch uses nix version 26.4 while the latest one is 27 because rustyline didnt update to 27 yet and keeping two patched versions doesnt make sense. So this is our fork with the patch: https://git.picodata.io/picodata/picodata/nix/-/tree/fix-memfd-create-for-older-libc-backport-26-4 And upstream PR: https://github.com/nix-rust/nix/pull/2146 In the long run nix doesnt look like a stable option. There is no libc version compatibility policy at the moment. The way symbols are used makes them required even if we're not using them. The alternative, rustix uses weak symbols or falls back to raw syscalls: https://github.com/bytecodealliance/rustix/blob/b08519f046787b93121214622aac015b68733c8f/src/backend/libc/fs/syscalls.rs#L1631 I believe with this solution we wouldnt have had this problem in the first place. There is an open issue in rustyline with suggestion to use rustix instead of nix: https://github.com/kkawakam/rustyline/issues/733
-
- Sep 20, 2023
-
-
Georgy Moshkin authored
-
- Sep 19, 2023
-
-
Kurdakov Alexander authored
Allow connecting interactive console over a unix socket `picodata run --console-sock`. Use `picodata connect --unix` to connect.
-
- Aug 15, 2023
-
-
- Aug 07, 2023
-
-
Georgy Moshkin authored
-
- Aug 01, 2023
-
-
Egor Ivkov authored
-
Egor Ivkov authored
-
- Jul 19, 2023
-
-
Egor Ivkov authored
-
-
- Apr 21, 2023
-
-
This patch introduces `picodata connect` CLI command. It allows connecting to interactive lua console of a picodata instance via iproto The whole implementation comes down to invoking a lua script with `require("console").start()`.
-
- Apr 19, 2023
-
-
- Apr 04, 2023
-
-
Georgy Moshkin authored
-
- Mar 27, 2023
-
-
Егор Ивков authored
-
- Dec 23, 2022
-
-
Georgy Moshkin authored
-
- Dec 16, 2022
-
-
Georgy Moshkin authored
-
- Nov 15, 2022
-
-
Eliminate code duplication, use `define_str_enum` macro from tarantool-module. Remove personalized `FromStr::Err` for every enum defined that way.
-
Georgy Moshkin authored
-
- Nov 08, 2022
-
-
Georgy Moshkin authored
-
- Oct 31, 2022
-
-
Georgy Moshkin authored
-
-
- Oct 27, 2022
-
-
- Oct 25, 2022
-
-
- Sep 22, 2022
-
-
Yaroslav Dynnikov authored
1. Encapsulate topology access in a dedicated function. 2. Remove obsolete CachedCell
-
- Sep 21, 2022
-
-
Georgy Moshkin authored
-
- Sep 15, 2022
-
-
Yaroslav Dynnikov authored
-
replication_factor now goes into cluster_state
-
- Sep 13, 2022
-
-
- Jul 14, 2022
-
-
It prints the raft log in a concise and readable way
-
- Jul 05, 2022
-
-
Georgy Moshkin authored
-
Georgy Moshkin authored
-
Yaroslav Dynnikov authored
Initially, JoinResponse was supplied with every single peer in cluster. If the cluster is big enough, it results in the "max tuple size limit reached" error. In fact, only voters are needed for the raft to operate normally.
-
- Jul 01, 2022
-
-
Georgy Moshkin authored
-
- May 31, 2022
-
-
Georgy Moshkin authored
Previously the discovery algorithm would try to reach each known peer sequentially requiring each consequent request to succeed until the next one can be attempted. This would not work in some cases (see test in previous commit). So the new algorithm instead makes a single attempt to reach each peer within a round, and if some failed they're retried in the next round of requests. This allows overall discovery to succeed in cases when some of the initial peers never respond. Closes #54
-