Fix for a bug where we "leak" cache blocks.

Summary:

Fix for a bug where we "leak" INVALID blocks. This happens if we
get uncacheable reads on a fresh cache. The symptom of this is that
after a few days of running (and load), the cache will always be < 100%
utilized. Thanks to Domas Mituzas for finding the bug and Kumar Sundararajan
for his help in fixing this.

Test Plan:

Reviewers:

CC:

Task ID: #

Blame Rev: