PersistentApplicationEventMulticaster.resubmitIncompletePublications does not update the event as completed #1049
Labels
in: event publication registry
Event publication registry
meta: waiting for feedback
Waiting for feedback of the original reporter
We have encountered an issue where our scheduled retry job for failed events is successfully resubmitting the event for publication using PersistentApplicationEventMulticaster.resubmitIncompletePublications, the event is handled by the event listener successfully, but the event completion_date in the event_publication table is not set.
We have identified the root cause, the JSON field order changed in the release after the initial failed events were created. The JSON field values are identical and the JSON has a unique field to make each event unique. Modulith deserializes the event successfully, resubmits it for publication, but the EventPublicationRepository.markCompleted does not update the event's completion_date column due to the JSON text not being identical because of serialization differences with the field order (nothing else is different, just field order).
Modulith 1.3 added a feature which would fix this issue, Completing Event Publications by Identifier, by using the publication id instead of the JSON text match to update the completed event.
Can the completing event by identifier also used for the flow used by PersistentApplicationEventMulticaster.resubmitIncompletePublications? I believe this would fix the issue.
Specifically, this is the method in Modulith 1.3 I believe would fix the issue
Would it be possible for PersistentApplicationEventMulticaster.resubmitIncompletePublications to be updated to use the new Completing Event Publications by Identifier?
The text was updated successfully, but these errors were encountered: