rocicorp / replicache

Realtime Sync for Any Backend Stack
https://doc.replicache.dev
1.05k stars 37 forks source link

Garbage collect old IDB instances #803

Closed phritz closed 2 years ago

phritz commented 2 years ago

When we do new Replicache({name: 'x'}) we create an IDB instance that maps to 'x'. If the app is of the nature that it generates unique names (for example for different rooms) we end up creating a lot of IDB instances that might never be accessed again.

We should delete old IDB databases that are older than 90 days (for example) to reduce the amount of disk storage the Replicache IDB databases take up.

aboodman commented 2 years ago

This seems related to rocicorp/mono#121 and to normal GC too. Right now our GC just looks for clients for the same {name, format, schema}. But GC should really be paying attention to all clients across all databases (that it has the ability to read). Perhaps we can knock them both out together?