Skip to content

Resolve "Prepared statement with id XXX does not exist"

Denis Smirnov requested to merge 669-issue into main

Summarize the changes

Если сессия, которая создала выражения в кэше тарантула отключилась (это возможно для netbox, если не проходят пинги из-за GC), то ее выражения в кэше могут быть очищены и будет разъезд между lru раста и кэшом тарантула. Можно пробовать с этим жить, обрабатывая всякие краевые случаи. Но гораздо лучше создать сессию в служебном файбере, которая бы никогда не отключалась и через которую sbroad пропускал бы все prepare и unprepare (execute ходит не через этот файбер).

TODO: Обновить образ тарантула в CI для интеграционных тестов катриджа.

Ensure that

  • New code is covered by unit and integration tests.
  • Related issues would be automatically closed with gitlab's closing pattern (Closes #1, #2).
  • Public modules are documented (check the rendered version with cargo doc --open).
  • (if PEST grammar is changed) EBNF grammar reflects these changes (check the result with railroad diagram generator.

Next steps

  • Cherry-pick to: none / 24.2 / 24.3
  • Update sbroad submodule in picodata/picodata.
  • (if EBNF grammar is changed) create a follow-up issue in picodata/docs.

Closes #669 (closed)

Edited by Denis Smirnov

Merge request reports