Hi, Sergey! On Jun 03, Sergey Vojtovich wrote:
On May 28, Sergey Vojtovich wrote:
Hi Alexey,
More aggressive caching of audit plugins sounds good in general. But I doubt versioning worth it: in this patch idle connections don't allow concurrent UNINSTALL PLUGIN anyway. And it'd be another obstacle for further optimisations.
What obstacle? E.g. if we ever decide to get rid of LOCK_plugin, we'll have to study locking
On Mon, Jun 03, 2019 at 07:24:56PM +0200, Sergei Golubchik wrote: pattern of another global variable. It is fun, but rather time consuming.
I see. I would definitely prefer to get rid of LOCK_plugin, but I'd use something RCU-like, which is, in a way, a versioning too, so this global variable would not be an issue.
In current state of audit API, I'd just pre-acquire all plugins on connect and release on disconnect.
I leave it up to you and Sergei to decide upon which approach to take. My comments for this particular approach inline.
For this particular approach - versioning should also be used to avoid calling acquire_plugins all the time. I assume "this particular" is the one that I suggested, that is pre-acquire all plugins on connect. Why would one need versioning in this case?
Sorry. I've just quoted you. You wrote above "My comments for this particular approach inline", so I meant versioning too. That is, if we'll be using versioning to avoid releasing plugins for every statement, we should also use versioning to avoid looking for new plugins for every statement. Regards, Sergei Chief Architect MariaDB and security@mariadb.org