jeqo commented on code in PR #15379:
URL: https://github.com/apache/kafka/pull/15379#discussion_r1572436483


##########
connect/transforms/src/test/java/org/apache/kafka/connect/transforms/ValueToKeyTest.java:
##########
@@ -60,6 +62,30 @@ public void schemaless() {
         assertEquals(expectedKey, transformedRecord.key());
     }
 
+    @Test
+    public void schemalessAndNestedFields() {
+        Map<String, Object> configs = new HashMap<>();
+        configs.put("fields", "a,b.c");
+        configs.put(FieldSyntaxVersion.FIELD_SYNTAX_VERSION_CONFIG, 
FieldSyntaxVersion.V2.name());
+        xform.configure(configs);
+
+        final HashMap<String, Object> value = new HashMap<>();
+        value.put("a", 1);
+        final HashMap<String, Integer> nested = new HashMap<>();
+        nested.put("c", 3);
+        value.put("b", nested);
+
+        final SinkRecord record = new SinkRecord("", 0, null, null, null, 
value, 0);
+        final SinkRecord transformedRecord = xform.apply(record);
+
+        final HashMap<String, Integer> expectedKey = new HashMap<>();
+        expectedKey.put("a", 1);
+        expectedKey.put("b.c", 3);

Review Comment:
   Good catch. I don't remember this scenario being discussed in the KIP 
thread. Was using the original keys as they are meant to be unique, but they 
could also contain all kind of escape fields making it hard to use. 
   Happy to switch into deriving the key schema from the nesting structure. 
Will make an update to the KIP to make this explicit as well. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to