Resolve "Prepared statement with id XXX does not exist"
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