If an IOException occurs when we putAll(), keep the key in cache.
Yes, this means that we might busy-loop until we get hard-drive space...