DiceDB / dice

DiceDB is an in-memory real-time database with SQL-based reactivity. It is hyper-optimized for building and scaling truly real-time applications on modern hardware while being a drop-in replacement for Redis.
https://dicedb.io/
Other
3.97k stars 492 forks source link

QWATCH Co-ordinator design for multi threaded mode #353

Closed yashs360 closed 3 days ago

yashs360 commented 3 weeks ago

Qwatch: each io thread launches a qwatch command, this fans out to every shard. Each shard now maintains records for which io threads are listening to which queries (same as watchlist today, except we maintain io thread details instead of fd). For each mutate, we send the update on the watch channel, from where a coordinator goroutine can decide which io threads to be notified (on its response channel), every time the io thread receives any such update - it launches a query execution (in future we can have a read only shard/batching etc at the io thread level). moar thoughts - the watchlist can be maintained at the said coordinator level

yashs360 commented 3 weeks ago

Assigned to @JyotinderSingh

arpitbbhayani commented 3 days ago

Hello @JyotinderSingh,

There has been no activity on this issue for the past 5 days. It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.

We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.

Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.

Thanks again.