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);

Reply via email to