### Description

_**Sipwise** hat on_

We noticed that pkg memory was getting exhausted and we found out that 
pv_cache_add() was the origin of the allocations.
We are using ``$xavp(user_<UUID>)`` variables that, for sure, are kind of 
dynamic.

There is a pv_cache_drop() that tries to remove ``$sht()`` occurrences when the 
cache is about to be filled but in our case that's not helping.

#### Log Messages

```
WARNING: ROUTE_SET_CALLEE_DIALOG_TOTAL <core> [core/pvapi.c:340]: 
pv_cache_add(): pv cache limit is going to be exceeded - pkg memory may get 
filled with pv declarations
WARNING: dialog:failed <core> [core/pvapi.c:340]: pv_cache_add(): pv cache 
limit is going to be exceeded - pkg memory may get filled with pv declarations
```

### Possible Solutions

Possible solutions that came on the top of my head:

- add a datetime member to struct _pv_cache so we can keep the last time it was 
accessed and search for the oldest and remove them in pv_cache_drop()
- add pv module parameter to define a magic prefix, for instance '__' that will 
mark those vars as "temporal" should remove it from cache when needed.
- add pv module parameter to control what types of variables will be added to 
cache

Any thoughts about this?

-- 
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3440
You are receiving this because you are subscribed to this thread.

Message ID: <kamailio/kamailio/issues/3...@github.com>
_______________________________________________
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org

Reply via email to