[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