Skip to content

cache: hot reload techniques support #87

Open
@0x501D

Description

@0x501D

The сache in the module DLL does not respect module hot reloads.
This entails an on_replace trigger duplication if hot reload occurs:

tarantool> box.space._ddl_sharding_func:on_replace()
---
- - 'function: 0x41d07030'
...
tarantool> for k in pairs(package.loaded) do if k:startswith('ddl') then package.loaded[k]=nil end end
---
...
tarantool> ddl = require('ddl')
---
...
tarantool> ddl.bucket_id('users', 42)
---
- 42
...
tarantool> box.space._ddl_sharding_func:on_replace()
---
- - 'function: 0x41d07030'
  - 'function: 0x41dccaf8'
...

There are some ideas how to keep a state between reloads in Consider protecting the default instance from well known hot reload implementations conf#2 (at end of the issue description).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingteamE

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions