Skip to content

Memory leak with kong.response.exit #137

@vtlkvl

Description

@vtlkvl

Hi Kong team,

We ran into another memory leak in the plugin server and were able to boil it down to the following pattern:

try:
    return kong.response.exit(some_response_code)
finally:
    kong.ctx.shared.set("memory", "leak")

I didn't have much time to debug the plugin server code myself, but the thing is that kong.response.exit does not terminate the execution of Python code and it seems that kong.ctx.shared.set (or virtually any other PDK API call) is going to create a new event queue after it was deleted by kong.response.exit. The new queue is never deleted and it's causing the memory leak.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions