I'm wondering if it makes sense to log a MONIT end or MONIT failure when an answer is sent (at the provider side, as we do currently) instead of logging it when the consumer receives it.
If it was done as in the second case, then we could handles this issue by logging a failure when we realise the exchange was sent with sendAsync and it had expired.
Just an idea… more generally, it would make sense to log the MONIT trace only when the consumer received the answer properly, because if there is, for example, a problem during remote transport, the logs kind of lie about the fact the exchange is finished...
We could even go farther and say that we should only log the MONIT end when the provider receives the DONE after the consumer got its response…
In the end, the best solution to resolve the problem of the description is:
It would make sense that usually, a provideFlowStepFailure should most certainly be logged, I don't see how a failure to contact one of the sub-provider would result in the success of a composition…
- when possible, the provideFlowStepFailure should be logged if one of the sub-provider failed
- if not possible (in specific case where it does not make sense), then an error should be logged
It would make sense that usually, a provideFlowStepFailure should most certainly be logged, I don't see how a failure to contact one of the sub-provider would result in the success of a composition…