trafficserver-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leif Hedstrom <>
Subject Re: Remap plugin DSO reloading - enabling and disabling
Date Fri, 08 May 2020 00:35:21 GMT

> On May 7, 2020, at 18:24, Alan Carroll <> wrote:
> As part of the ATS 9 upgrade, a feature was added so that remap plugins could have their
DSO reloaded. This means not just the configuration, but the implementation itself. While
very useful, this has some unfortunate side effects with plugins that are used in both a global
and remap context. To alleviate this, a configuration variable as added to disable the feature.
> Although reasonable, this is a rather heavy handed way to deal with the problem. What
would be better is the ability to reload the DSO or not on a per remap plugin basis. I have
a few ways this could be done:
> 1) Add the keyword "@global" to "remap.config". This would behave exactly as "@plugin"
except it would prohibit reloading of the DSO for that plugin.

This was one of the suggestions brought up. I don’t know why it was shutdown.
> 2) Have the remap reload configuration check to see if the plugin is also a global plugin
and disable remap DSO reload for that plugin.

I think this is worse, many plugins won’t have problems with a global not being reloaded.
Worse, many plugins works as either global or remap,  but not both, and this limits what the
user can do.

> 3) Add a flag to the global plugin registry information which can be set during TSPluginInit
which disables DSO reloading for that plugin, should it occur in "remap.config". This is similar
to (2) but requires a  plugin to prohibit DSO reloading. The call woud be TSPluginDSOReloadEnable(flag)
and would only be valid when called from TSPluginInit.
> 4) As (3), except the flag is set by default and must be cleared to enable DSO reloading
in "remap.config".

Either is fine. I think option 1 is by far the easiest and most flexible (let the user decide,
not the plugin).

— Leif 
> I'm willing to see if I can make this work, but I would like to have some feedback on
the preferred approach first.

View raw message