mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-22 01:20:39 +00:00
Currently each tick of the virtual clock immediately schedules the next one at the end of the task queue, but this is too aggressive. If a tick generates work that need two tasks to be scheduled one after another such implementation will make the task queue grow to infinity. Considering that in the debug mode even ready future causes preemption and task queue shuffling may cause two or more ticks to be executed without any other work done in the middle it is very easy to get to such situation. The patch changes the virtual clock to tick only when a shard is idle. Message-Id: <20210606140305.2930189-1-gleb@scylladb.com>