Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 3.1.2, 3.2.0
-
Fix Version/s: 3.1.4 (EE only), 3.2.3 (EE only), 3.3.1
-
Component/s: Core: Transformers
-
Labels:
-
User impact:High
-
Configuration:
-
Log Output:
-
Similar Issues:None
Description
The default behaviour of collection-aggregator seems strange in Mule 3.2.0 and 3.1.2;
intuitively, this is a bug (or class of bugs).
If the following is correct or partially correct then there is probably room for improvement in the docs.
Take the following structure:
<flow ...
...
<collection-splitter />
...
<collection-aggregator />
<transformer ...
<outbound-endpoint ...
</flow>
- The above flow will afaics output what is emitted by the collection-aggregator, ignoring any latter transfomer before the outbound-endpoint.
- If the collection-splitter emits sequence ids for the correlation group (e.g. if it's fed a list) the collection-aggregator doesn't seem to make use of it by default. Of course, a collection splitter might also be fed other payload types with no inherent ordering such as sets, where ordered output should not be expected.
There seems to have been related issues in the past as well, e.g.MULE-5844
In the attached config, the output of the outbound-endpoint and the return value of the last transformer are different. And, as per the second point above, the order of elements in the payload is different between the same constant flow input.
If the splitter and aggregator are commeted out, they will show the same message payloads, and the ordering is constant when the input is constant.
Issue Links
- is duplicated by
-
MULE-5745
<script:component>'s output ignored if used after an 'All' message processor
-
- relates to
-
MULE-5534
CLONE - Message modifications are discarded when using Collection Aggregator
-
-
DOCS-43
Combine-collections-transformer is not a transformer so it should be moved from the Transformer Configuration Reference to the Routing Message Processors page
-
-
MULE-4213
Response transformer results are discarded when using multicasting router
-
Having similar issues with a different configuration. Configuring the transformer at outbound endpoint level with transformer-refs is not working either.
Everything works if the outbound-endpoint is request-response.