Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add sql max select result set rows limit and sql max execute time limit #122

Open
Uarealoser opened this issue Nov 10, 2020 · 0 comments
Open

Comments

@Uarealoser
Copy link
Contributor

Uarealoser commented Nov 10, 2020

  1. 通过在namespace中添加可配置选项:max_sql_execute_time(最大sql执行时间限制)用来实现gaea慢SQL自动熔断功能。
  • 实现方式:通过context.WithTimeout超时取消机制,主线程监听到取消信号后进行err返回,避免客户端等待超时。

  • 使用方式:在namespace中,配置max_sql_execute_time值为超时时间,单位为毫秒。 该值配置小于等于0,则表示不开启慢SQL熔断。对于超过该超时时间的查询返回:“out of max sql execute time ” err.

  1. 通过在namespace中添加可配置选项:max_select_result_set,用来避免gaea由于过大的结果集导致的OOM异常。
  • 实现方式:通过对结果集的行数进行限制,超出该限制,则利用context的cancel函数对执行分片SQL的协程发送取消信号。

  • 使用方式:在namespace中,配置max_select_result_set,该值代表单个分片SQL返回的结果集最大行数。对与超出该限制的结果集查询,返回:“out of max select result set limit” err.

@Uarealoser Uarealoser changed the title add select limit add sql max select result set rows limit and sql max execute time limit Nov 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant