Skip to content
Snippets Groups Projects
  1. Aug 01, 2023
  2. Jul 28, 2023
  3. Jul 21, 2023
  4. Jul 11, 2023
    • Yaroslav Dynnikov's avatar
      build: do cargo update · 8e034e34
      Yaroslav Dynnikov authored and Yaroslav Dynnikov's avatar Yaroslav Dynnikov committed
      Don't update blake3 version, otherwise it results in
      
      ```
      Updating constant_time_eq v0.2.5 -> v0.3.0
      
      error: package `constant_time_eq v0.3.0` cannot be built because it
      requires rustc 1.66.0 or newer, while the currently active rustc version
      is 1.65.0
      ```
      8e034e34
  5. Jul 03, 2023
  6. Jun 16, 2023
  7. Jun 05, 2023
  8. Jun 02, 2023
  9. May 04, 2023
    • Denis Smirnov's avatar
      feat: add distributed SQL support · a1ed2657
      Denis Smirnov authored
      
      Current commit introduces distributed SQL in picodata (we use
      'sbroad' library). Now it is possible to execute cluster-wide
      SQL with 'pico.sql([[query]], {params})' lua method.
      
      Current limitations:
      1. DDL is still not implemented in picodata, so space sharding
         is mocked by '_pico_space' space (we'll remove it later).
      2. We still have duplicating symbols of the Tarantool module in
         sbroad and in picodata rlibs.
      3. We need to reuse piocdata's sharding functions and handle the
         case when different spaces in the query have different sharding
         functions.
      
      Co-authored-by: Georgy Moshkin's avatarGeorgy Moshkin <gmoshkin@picodata.io>
      Verified
      a1ed2657
  10. Apr 24, 2023
  11. Apr 14, 2023
  12. Apr 11, 2023
    • Yaroslav Dynnikov's avatar
      chore: bump tarantool-module · 2a64ec6b
      Yaroslav Dynnikov authored
      Bumping `tarantool-module` fixes the `fiber::csw()` performance issue
      that caused flaky tests in CI.
      
      Also this patch increases the `test_sigsegv_child` timeout. The test is
      flaky too, let's see if it helps.
      2a64ec6b
  13. Apr 06, 2023
  14. Mar 27, 2023
  15. Mar 07, 2023
  16. Feb 03, 2023
  17. Feb 02, 2023
  18. Feb 01, 2023
  19. Jan 31, 2023
    • Yaroslav Dynnikov's avatar
      build: refactor build.rs · b9aeab59
      Yaroslav Dynnikov authored
      1. Remove build dependency on cmake crate. It doesn't fulfill all our
         needs, so we run cmake directly via `std::process::command`. It also
         makes `build.rs` easier to understand.
      2. Arrange paths variable names.
      b9aeab59
  20. Dec 27, 2022
  21. Dec 08, 2022
  22. Dec 05, 2022
  23. Nov 22, 2022
  24. Nov 08, 2022
  25. Jul 18, 2022
  26. Jul 08, 2022
  27. Jun 23, 2022
  28. May 21, 2022
    • Yaroslav Dynnikov's avatar
      feature: topology module · 955aa02e
      Yaroslav Dynnikov authored
      It encapsulates the logics of a JoinRequest batch processing.
      
      Topology module will be quite important in picodata. This first version
      misses a lot of features, but a few commits later it's going to
      implement quite a lot of logics.
      
      When a new instance is joined - there's one complex thing: raft leader
      has to decide where this new instance is going to be emplaced, i.e. what
      replicaset should it join. There're many different parameters have an
      influence - `repliction_factor`, `failure-domain`, and of course the
      existing topology. So, this new `topology` module must make the decision.
      
      This patch only refactors the current Picodata behavior, and doesn't
      bring new features for its users. Instead, it opens the door to a future
      development.
      
      Also, this patch provides a unit-testing basis for the future features.
      Verified
      955aa02e
  29. Apr 26, 2022
  30. Apr 18, 2022
    • Yaroslav Dynnikov's avatar
      Fix macos build · af4a2db7
      Yaroslav Dynnikov authored
      Remove prctl dependency that is not available on mac.
      Verified
      af4a2db7
    • Yaroslav Dynnikov's avatar
      Squash the huge patch · 10b6eb1c
      Yaroslav Dynnikov authored
      feat: raft peer discovery PoC
      
      chore: prevent C functions from being optimized out
      
      feat: improve peer discovery
      
      fix: fix tests after making instance_id arg mandatory
      
      Smart supevision with fork
      
      Make it work
      
      Under development
      
      IPC messages to supervisor
      
      One more little step: entrypoint enum
      
      Arrange IPC from child to supervisor
      
      Remove tarantool_main macro
      
      Persist snapshot
      
      Fix some fresh bugs
      
      Implement postjoin
      
      Discovery under refactoring
      
      Enhance discovery
      
      Working on discovery
      
      Fix all discovery bugs known so far
      
      Draft join algorithm
      
      Fail applying snapshot
      
      Joining a learner works
      
      Cleanup snapshot generation
      
      Reorganize traft code and call join automatically
      
      Change peer.commit_index type from option to u64
      
      Implement autopromotion to voter
      
      Implement read_index
      
      Take read_index before self-romotion
      
      Cleanup excess logs
      
      Cleanup logs and code
      
      Deep refactoring in progress
      
      Finish refactoring db schema
      
      Embed entries applying inside traft node
      
      Refactor raft node communication
      
      Replace fiber channel with a mailbox, which is a `Vec<_>` + fiber cond.
      It allows to batch raft commands in a more predictable way and makes
      the code less error-prone.
      
      Remove commented code
      
      Simplify raft nodes interaction over net_box
      
      Eliminate `traft::Message` struct because its internals aren't used.
      Instead, serialize `raft::Message` using protobuf.
      
      Batch ConnectionPool requests
      
      1. Send messages in batches.
      2. Allow changing connection uri.
      3. Close unused connections after `inactivity_timeout`.
      
      Enhance the raft node
      
      1. Collect results from raft node
      2. Fix initial bootstrap which used to fail due to fiber race.
      3. Wrap raft storage operations in a transaction.
      
      Bump tarantool module
      
      Add documentation draft
      
      Cleanup warnings
      
      Try fixing tests
      
      Fix test_storage_log
      
      Fix test_traft_pool
      
      Fix luatest single and couple
      
      Start fixing threesome test
      
      Implement concurrent join requests handling
      Verified
      10b6eb1c
  31. Apr 14, 2022
  32. Mar 15, 2022
  33. Mar 10, 2022
  34. Mar 09, 2022
  35. Feb 22, 2022
Loading