Exactly how it is implemented is up to the journal implementation I guess. A journal that doesn't support update (or think it is too costly) could store the "failed marker" in a separate collection.