Dishonest schema reload timeout
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 43
- Forks
- 17
- Avg merge
- 28m
- Merged PRs (30d)
- 2
Description
There is a problem with this timeout:
local function call_reload_schema(replicasets)
for _ = 1,replicasets_num do
if channel:get(const.RELOAD_SCHEMA_TIMEOUT) == nil then
for _, f in ipairs(fibers) do
if fiber:status() ~= 'dead' then
f:cancel()
end
end
return nil, ReloadSchemaError:new("Reloading schema timed out")
end
end
...
end
replicasets_num * const.RELOAD_SCHEMA_TIMEOUT may require much more time than const.RELOAD_SCHEMA_TIMEOUT
Originally posted by @oleg-jukovec in https://github.com/tarantool/crud/pull/319#discussion_r951224342
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at call_reload_schema(replicasets) and inspect how replicasets_num and const.RELOAD_SCHEMA_TIMEOUT determine the reload loop's timeout. Trace the schema-reload fibers and look for existing tests or validation around reload failures. Done means the timeout behavior matches the intended overall operation and the timeout path remains covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100