-
Enhancement
-
Resolution: Unresolved
-
Major
-
None
-
12.0.0.Final
-
None
-
Undefined
If a ResponseCollector throws an exception while processing a response from a target, the request is immediately completed exceptionally with that exception. But for most requests, we don't want to continue immediately: instead we want to wait until all the targets have replied, either with an exception or with a success response, so we can then release locks or retry the command.
This means each ResponseCollector implementation has to implement its own mechanism for collecting exceptions from all the targets and throwing the exception only during finish().
Of course, some of our ResponseCollector implementations don't do it, and throw an exception from addResponse() instead.
It would be best if MultiTargetRequest collected exceptions itself, and ResponseCollectors would only have to throw the exception from addResponse().
- relates to
-
ISPN-12710 IllegalArgumentException in VoidResponseCollector: Self-suppression not permitted
- Closed