[Tarantool-patches] [PATCH v12 4/8] module_cache: direct update a cache value on reload
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Sun Jan 24 19:27:18 MSK 2021
Thanks for the patch!
On 19.01.2021 13:46, Cyrill Gorcunov wrote:
> On Mon, Jan 18, 2021 at 11:35:52PM +0300, Cyrill Gorcunov wrote:
>> Currently when we reload modules we remove old instance
>> from the module cache and then try to insert a new one
>> back. Note that module cache is a string based hash table:
>> we lookup for a pointer to the module via package name.
>
> This approach doesn't work.
Why?
> ---
> From: Cyrill Gorcunov <gorcunov at gmail.com>
> Date: Tue, 12 Jan 2021 11:53:50 +0300
> Subject: [PATCH v12 4/8] module_cache: panic if module cache update failed
>
> Currently when we reload modules we remove old instance
> from the module cache and then try to insert a new one
> back. If error happens inbetween (say machine reached
> lack of memory and hash resize failed) we try to restore
> functions on old module. This is fine but we can't continue
> working with modules -- next reload action won't find
> the module in hash and won't reload. Since this is a really
> rare case plain panic should be fine here.
>
> Part-of #4642
>
> Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
> ---
More information about the Tarantool-patches
mailing list