Skip to content
Snippets Groups Projects
  1. Jan 25, 2024
  2. Nov 01, 2023
  3. Sep 12, 2023
    • Arseniy Volynets's avatar
      fix: block vshard rebalancing during dql · 4a1bebf5
      Arseniy Volynets authored
      When reading from multiple storages it is
      possible that some requests will execute faster
      than the others. And it could lead to wrong
      results when vhard moved the buckets between
      nodes.
      
      For example: we execute `select * from t`
      on storage 1 and get the results. Vshard
      moves the data from storage 1 to stroage 2,
      and then we execute `select * from t` and in
      result we get the data (that moved) twice.
      
      This commit fixes it by using vshard's
      storage ref api. Now multi-node read requests
      first create the ref on each node which
      blocks vshard rebalancing. Then we call
      our stored procedure and remove the ref.
      4a1bebf5
  4. Jul 28, 2023
    • Arseniy Volynets's avatar
      feat: introduce sql_vdbe_max_steps, vtable_max_rows options · b3a20a66
      Arseniy Volynets authored
      Option sql_vdbe_max_steps stops long running
      queries from blocking tx thread or queries that 
      use too much memory during local execution. 
      
      Each sql query is compiled into VDBE opcodes on storages. This
      parameter sets max number of opcodes that VDBE
      can execute.
      
      Example: `select * from t option(sql_vdbe_max_steps=1000)`
      
      Option vtable_max_rows limits the maximum number of rows in
      virtual table. This limit is checked on storages before returning
      intermediate results and on routers when receiving results from
      storages.
      
      Example: `select * from t option(vtable_max_rows=1000)`
      b3a20a66
  5. Jul 26, 2023
  6. Jul 18, 2023
  7. May 02, 2023
    • Denis Smirnov's avatar
      feat(POC): picodata engine · 93685c03
      Denis Smirnov authored
      Implement the picodata engine for sbroad to integrate distributed
      SQL into the picodata binary. In fact, picodata engine simple
      exports public rust functions from api.rs. On the picodata side
      they (and some lua functions) are imported and included into the
      bunary on the build phase.
      
      Current commit is POC and have some problems:
      - DDL is still not implemented in the picodata (_pico_space is mocked);
      - we include tarantool module symbols twice (first time in sbroad,
        second time in picodata binary);
      
      But anyway, it works and all these problems should be solved in the
      next commits.
      Verified
      93685c03
Loading