[Functions] Function workers require more memory on Pulsar 2.8.x+
- Dominant language
- Java
- Stars
- 15.3k
- Forks
- 3.8k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 160
Description
**Describe the bug**
Function workers consume more resident RAM memory on Pulsar 2.8.x compared to Pulsar 2.7.x .
The "built-in" NAR files from the connectors directory are loaded and retained in memory as NARClassLoaders.
This change was made as part of #9413.
This could lead to OOM killer killing the function worker on Kubernetes when there are low limits for the function worker.
**Expected behavior**
The expectation is that a function worker on Pulsar 2.8.x+ wouldn't require more memory that Pulsar 2.7.x .
Contributor guide
Research direction
The issue names no files or tests; start by tracing how built-in NAR files from the connectors directory are loaded and retained as NARClassLoaders in the function worker. Compare memory behavior between Pulsar 2.7.x and 2.8.x+, then verify that the worker no longer requires increased resident RAM under the reported Kubernetes limits.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kubernetes
- Domain
- devops, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100