Skip to content

bug: Memory leak when logger log the traffic with large (about 128K) response body #11244

Description

@caogw279

Current Behavior

When configured kafka-logger in global rules with include_resp_body set to true and upstream server response 128K body, the memory will increase during the test and never get down, if the test continue, the memory usage will continue increase until the OOM happen.

Expected Behavior

The memory usage will keep in a range during the test and will return to normal after the stress stop.

Error Logs

No error logs, please have look at output of "free" and the RES of very worker process
apisix_memory_leak

Steps to Reproduce

  1. Run apisix in CentOS
  2. APISIX Config route with Admin API
  3. APISIX Config kafka-logger to globale_rules with include_resp_body set to true
  4. Stress the APISIX (with Avalanche, server response 128K )
  5. Monitor the system memory usage (such as via order free -h)
  6. Check the memory usage of every worker process (such as via top)

Environment

  • APISIX version (run apisix version): apisix 3.8.0
  • Operating system (run uname -a): Linux localhost.localdomain 3.10.0-1160.105.1.el7.x86_64 change: added doc of how to load plugin. #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
  • OpenResty / Nginx version (run openresty -V or nginx -V): openresty/1.21.4.2
  • etcd version, if relevant (run curl http://127.0.0.1:9090/v1/server_info): 3.5.0
  • APISIX Dashboard version, if relevant: No APISIX Dashboard used.
  • Plugin runner version, for issues related to plugin runners: no external plugin is used
  • LuaRocks version, for installation issues (run luarocks --version): No luarocks is installed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    📋 Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions