Passes them all to the backend instead of silently dropping them all
if any of them is not missing.
Depends on D2662.
I guess this is the minimal step to unbreak the logic, but I'm not fond of what this is doing at all: the "key" for a skipped content really is the quadruple of hashes, some potentially null; not any single one of them.
At some point this logic should be adapted to use a proper key tuple instead of a single hash.
Well. If we consider the case of two different contents with an identical sha1_git, different other_hashes, and a size larger than the limit, in practice the current implementation of the filter would make one mask the other.
This is the edge of an edge case that shouldn't show up in practice, of course. But we should note it down and fix that eventually.