Skip to content

Commit 7e9ad05

Browse files
authored
[minor] following HUDI-4739, fix the extraction for simple record keys (apache#6594)
1 parent af78567 commit 7e9ad05

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/KeyGenUtils.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,9 @@ public static String[] extractRecordKeys(String recordKey) {
7575
String[] fieldKV = recordKey.split(",");
7676
return Arrays.stream(fieldKV).map(kv -> {
7777
final String[] kvArray = kv.split(":");
78-
if (kvArray[1].equals(NULL_RECORDKEY_PLACEHOLDER)) {
78+
if (kvArray.length == 1) {
79+
return kvArray[0];
80+
} else if (kvArray[1].equals(NULL_RECORDKEY_PLACEHOLDER)) {
7981
return null;
8082
} else if (kvArray[1].equals(EMPTY_RECORDKEY_PLACEHOLDER)) {
8183
return "";

hudi-client/hudi-client-common/src/test/java/org/apache/hudi/keygen/TestKeyGenUtils.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public class TestKeyGenUtils {
2525

2626
@Test
2727
public void testExtractRecordKeys() {
28+
// test complex key form: field1:val1,field2:val2,...
2829
String[] s1 = KeyGenUtils.extractRecordKeys("id:1");
2930
Assertions.assertArrayEquals(new String[]{"1"}, s1);
3031

@@ -33,5 +34,9 @@ public void testExtractRecordKeys() {
3334

3435
String[] s3 = KeyGenUtils.extractRecordKeys("id:1,id2:__null__,id3:__empty__");
3536
Assertions.assertArrayEquals(new String[]{"1", null, ""}, s3);
37+
38+
// test simple key form: val1
39+
String[] s4 = KeyGenUtils.extractRecordKeys("1");
40+
Assertions.assertArrayEquals(new String[]{"1"}, s4);
3641
}
3742
}

0 commit comments

Comments
 (0)