spring-cloud / spring-cloud-stream

Framework for building Event-Driven Microservices
http://cloud.spring.io/spring-cloud-stream
Apache License 2.0
1k stars 610 forks source link

Failure if using multi output function with partitioning support #2068

Open chringwer opened 3 years ago

chringwer commented 3 years ago

Describe the issue If a PartitionAwareFunctionWrapper is registered for a multi output function it will be invoked with the output publisher Tuple instead of the actual message. This leads to a java.lang.IllegalArgumentException: Partition key cannot be null error.

To Reproduce Please see this example project for a repro case. https://github.com/chringwer/spring-cloud-stream-bug/tree/partition-key

Version of the framework Spring Cloud Stream 3.1.0-RC1 Spring Cloud Function 3.1.0-RC1

chringwer commented 3 years ago

@olegz I upgraded the demo app to the latest release. The issue still exists. Let me know if you need anything else to reproduce. Thanks!

antonywhatever commented 3 years ago

@garyrussell

olegz commented 3 years ago

We have not addressed this issue nor have we looked at what it would take as the multi-in/out is rarely used feature, hence it is low on the priority. Also, if community member decides to contribute, we'll be happy to work with you