-
Nikita Pettik authored
It may turn out that dump_generation does not catch up with current generation and no other dump tasks are in progress. This may happen dump process is throttled due to errors. In this case generation is bumped but dump_generation is not (since dump is not completed). In turn, throttling opens a window for DDL operations. For instance, index dropping and creation of new one results in mentioned situation: box.snapshot() -- fails for some reason; next attempt at dumping will be -- taken in one second. s:drop() -- drop index to be dumped s = box.schema.space.create('test', {engine = 'vinyl'}) -- create new one (its mem generation is greater than scheduler's one) i = s:create_index('pk') Closes #4821
Nikita Pettik authoredIt may turn out that dump_generation does not catch up with current generation and no other dump tasks are in progress. This may happen dump process is throttled due to errors. In this case generation is bumped but dump_generation is not (since dump is not completed). In turn, throttling opens a window for DDL operations. For instance, index dropping and creation of new one results in mentioned situation: box.snapshot() -- fails for some reason; next attempt at dumping will be -- taken in one second. s:drop() -- drop index to be dumped s = box.schema.space.create('test', {engine = 'vinyl'}) -- create new one (its mem generation is greater than scheduler's one) i = s:create_index('pk') Closes #4821
vy_scheduler.c 58.16 KiB