WIP: Do not send invalidations for new oids, just like ZEO
It's only after I wrote this commit that I ran the whole test suite and then I realized that it breaks backup, because the backup master relies on invalidations to know which partition needs to be synced from upstream.
Even if this commit would reduce the impact of a memory leak, it does not avoid it completely, so it's just optimization. Is it worth, for example:
- adding an RPC for the backup master to tell the upstream one that it's interested in invalidations for both modified and new oids ?
- or rather stop using invalidations for that and send directly the list of partitions ?
The second option is actually an extra optimization.
This merge request contains merge conflicts
To merge this request, resolve these conflicts or ask someone with write access to this repository to merge it locally.
Where is the leak being reduced by this change ?
I like the idea of notifying backup nodes of modified partitions instead of individual oids. The downside I can see is that it means another mechanism which may fail and go unnoticed, while invalidations failing will become quickly obvious on client nodes too. It is not a very strong argument against, I think.