2025년 7월 4일 금요일

Using Rust async for Query Execution and Cancelling Long-Running Queries 요점

 https://datafusion.apache.org/blog/2025/06/30/cancellation/

 

tokio의 특성(Cooperative)상 poll이 제어권을 넘겨야 런타임이 다음 과정을 진행할 수 있다.
따라서 poll 안에서 pending이 될 때까지 무한 루프를 도는 경우에 문제가 발생할 수 있다.
이에 대한 해결을 위해 tokio 전체에 대해 budget을 두고 이 값이 0이 되면 무조건 pending을 발생시키는 기능이 tokio에 들어가 있다.

  

댓글 없음:

댓글 쓰기

Building Replication-Safe LSM Trees in Postgres 요점

  https://www.paradedb.com/blog/lsm_trees_in_postgres     pg_search에 LSM 트리를 사용. 문제는 postgres의 replication 사용시 LSM 트리가 안전하지 않음 primary에서 VAC...