Durable object instance not evicted when blockConcurrencyWhile() callback throws
Problem
Chatting with @bretthoerner in Discord about how to force a DO to be evicted, he suggested throwing from within the blockConcurrencyWhile() callback. While this works in production, it does not work in Miniflare.
Current Behavior Miniflare logs the error as an Unhandled Promise Rejection, but does not destroy the DO instance. (Subsequent DO requests go to the still-active instance rather than causing a new instance to be constructed). Also, websocket connections that terminate at the DO remain open.
Expected Behavior
Unhandled errors in the blockConcurrencyWhile() should mirror the behavior in production. I'm not sure what exactly this entails but, at a minimum, the DO instance should be destroyed such that a new instance is created by the next worker to reference the same DO id, and any associated websocket connections should be closed.