For example, see here. The initial DataStoreUpdateException disappears because a new exception is thrown when disposing PlaceholderResourceCollector before the first exception can be caught. This results in a 500 error response plus a log entry at error level. Instead the follow-up exception should be swallowed so that the original DataStoreUpdateException can propagate.