On 02/26/2016 08:35 AM, Nathan Scott wrote:
----- Original Message -----
[...]
If this is not possible, then the only options I can think of (assuming mode
777 and mode 1777 directories in /var are unpalatable) would be a
libpcp_pmda extension to use (a new) $PCP_PMDA_CACHE_DIR variable from the
environment or possibly a new method in libpcp_pmda to change the indom
cache directory (for just the caller PMDA), e.g. pmdaCacheInit(char *dir)
Either would be trivial if the use case is compelling ... the environment
variable would not require any library ABI or wrapper code changes.
FWIW, from oracle experience - its a slight pain to go the Install script route
and a bit of a maintenance headache (apart from being obscure / non-obvious) -
have to remember to update the ./Install script every time an indom is added to
the PMDA.
An option to explicitly set the directory for an individual PMDA sounds good.
This gets pretty messy for mortal users using local contexts - they can read
the global system cache, but only write it back out where they have permissions,
e.g. in their $home.
If a private cache diverges from global, reconcilliation could get messy.
IMO it'd be better to just not have alternate caches - the global cache needs
to function read-only.
IIRC there was also a mutex issue with the PMDA caches - readers are not
protected
from concurrent updates - did that ever get fixed?
Regards
|