Skip to content
Snippets Groups Projects
  1. Dec 30, 2022
  2. Dec 29, 2022
    • Denis Smirnov's avatar
      feat!: dispatch IR instead of the SQL with parameters · 214b55a5
      Denis Smirnov authored
      BREAKING CHANGE: api functions have changed signatures.
      
      This commit changes the way how the router dispatches commands to
      the storages. Previously, the router compiled the SQL statements
      with parameters from the plan subtrees and sent them to the storages.
      
      Now the router sends the raw IR subtrees to the storages.
      
      1. The subtrees are constructed from the original plan nodes
         for performance reasons: the node's memory chunk is extracted
         from the original plan tree (replaced with invalid parameter node)
         and reused in the sub-plan.
      2. The router-storage message consists of the two parts: required and
         optional. The required part is the hash of the sub-plan (excluding
         constants - analogue of the SQL pattern in the previous version)
         and parameters. The optional part is the IR itself and the syntax
         node tree (precompiled on the router to skip redundant work on the
         multiple storages). Storage uses a lazy deserialization of the message:
         - first it deserialized the part with the hash and parameters (to
           check the plan cache)
         - if the cache lookup failed, it deserializes the IR and the syntax
           node tree and updates the cache.
      3. The SHA256 hash was replaced with BLAKE3 for performance reasons.
      Verified
      214b55a5
  3. Dec 23, 2022
  4. Dec 22, 2022
  5. Nov 28, 2022
  6. Nov 25, 2022
  7. Nov 22, 2022
  8. Nov 17, 2022
  9. Nov 07, 2022
  10. Nov 03, 2022
  11. Nov 02, 2022
  12. Oct 26, 2022
  13. Oct 25, 2022
  14. Oct 24, 2022
  15. Oct 21, 2022
  16. Oct 20, 2022
  17. Oct 19, 2022
  18. Oct 18, 2022
  19. Oct 14, 2022
  20. Oct 13, 2022
  21. Oct 12, 2022
  22. Oct 11, 2022
    • Denis Smirnov's avatar
      feat: add statistics initialization to the API · ce184461
      Denis Smirnov authored
      Though we can lazily initialize statistics spaces, there is still a
      problem with read-only replicas. If the workload does not write to
      the storage (only reads with SELECTs), then callbre is used and no
      queries will be dispatched to the storage master. As a result, no
      statistics spaces will be initialized on the storage failover group.
      
      To deal with it, we add a new API method to initialize statistics
      on the instance startup.
      Verified
      ce184461
Loading