Skip to content

help request: plugin limit-conn with redis counter leaks in some condition #12823

Description

@ChenChuang

Description

We use plugin limit-conn to limit the request concurrency of each client. We noticed that when a partial replicas of apisix failed while processing requests, the counter on redis will not be decreased properly, which will result in rejecting coming requests on the rest replicas.
We also noticed that the if the decrease of redis counter failed, it will not be retried, which will leads to counter leaks in an unstable network environment.

How can I solve the above problems?

Environment

  • APISIX version (run apisix version): 3.14.1
  • Operating system (run uname -a): Debian GNU/Linux 11 (bullseye)
  • OpenResty / Nginx version (run openresty -V or nginx -V): nginx version: openresty/1.27.1.2
  • etcd version, if relevant (run curl http://127.0.0.1:9090/v1/server_info):
  • APISIX Dashboard version, if relevant:
  • Plugin runner version, for issues related to plugin runners:
  • LuaRocks version, for installation issues (run luarocks --version):

Metadata

Metadata

Assignees

No one assigned

    Labels

    pluginquestionlabel for questions asked by users

    Type

    No type

    Projects

    Status
    ✅ Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions