We can't just return false and keep going, or we'll queue up pending log writes that will eventually lead to a memory issue.

I don't love doing it, but I think we would want to actually throw here.  At least you realize the issue right away instead of masking it.