This is an automated email from the ASF dual-hosted git repository.
mimaison pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git
The following commit(s) were added to refs/heads/trunk by this push:
new 0df4615 KAFKA-10720: Document prohibition on header mutation by SMTs
(#9597)
0df4615 is described below
commit 0df461582c78449fd39e35b241a77a7acf5735e2
Author: Tom Bentley <[email protected]>
AuthorDate: Thu Nov 26 22:39:41 2020 +0000
KAFKA-10720: Document prohibition on header mutation by SMTs (#9597)
Reviewers: Mickael Maison <[email protected]>, Chris Egerton
<[email protected]>
---
.../java/org/apache/kafka/connect/transforms/Transformation.java | 5 +++++
1 file changed, 5 insertions(+)
diff --git
a/connect/api/src/main/java/org/apache/kafka/connect/transforms/Transformation.java
b/connect/api/src/main/java/org/apache/kafka/connect/transforms/Transformation.java
index 0803fa8..238a642 100644
---
a/connect/api/src/main/java/org/apache/kafka/connect/transforms/Transformation.java
+++
b/connect/api/src/main/java/org/apache/kafka/connect/transforms/Transformation.java
@@ -33,6 +33,11 @@ public interface Transformation<R extends ConnectRecord<R>>
extends Configurable
* Apply transformation to the {@code record} and return another record
object (which may be {@code record} itself) or {@code null},
* corresponding to a map or filter operation respectively.
*
+ * A transformation must not mutate objects reachable from the given
{@code record}
+ * (including, but not limited to, {@link
org.apache.kafka.connect.header.Headers Headers},
+ * {@link org.apache.kafka.connect.data.Struct Structs}, {@code Lists},
and {@code Maps}).
+ * If such objects need to be changed, a new ConnectRecord should be
created and returned.
+ *
* The implementation must be thread-safe.
*/
R apply(R record);