Hello,
Marc Alff a écrit, Le 23.03.2009 18:34:
> Hi Guilhem & All
>
> Guilhem Bichot wrote:
>> Hi Marc,
>>
>> You once explained that the data used by the Perf Schema is all-static,
>> allocated at startup. What happens if, after startup, a client does
>> "INSTALL PLUGIN a_plugin;"
>> and this plugin features your instrumentation?
>> Will the plugin's instrumented data be properly reported, or ignored?
>> Does a concurrent SELECT from the Perf Schema risk reading something wrong?
>> What about UNINSTALL PLUGIN?
>>
>
> Let's assume that the server has room for 200 mutex instruments, for
> example because it was started with:
>
> ./mysqld --performance-schema-max-mutex-instruments=200
>
> Let's assume 150 mutex instruments have been loaded already.
>
> Let's assume "a_plugin" contains 40 mutex instruments.
> Let's assume "b_plugin" contains 20 mutex instruments.
>
> INSTALL PLUGIN a_plugin
> --> the server now has 150+40 = 190 mutex instruments.
>
> UNINSTALL PLUGIN a_plugin
> --> the server still has 190 instruments
> All the historical data generated by the plugin code is still available
And thus, room in mutex_info_array (for example) is never freed, and as
you explained, takes up space which the next to-be-installed plugin
cannot use.
Is there a way to force uninstalled plugins to free space occupied in
the above array? Is it planned?