From d1897bc4d17b08914b3bbab6f675053852697838 Mon Sep 17 00:00:00 2001 From: Sean Zatz Date: Thu, 16 Oct 2025 15:27:03 -0400 Subject: [PATCH 1/4] fix function which generates test field names --- .../org/elasticsearch/ingest/RandomDocumentPicks.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java b/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java index e2dd4cbf60fbf..6b6c9e6ffe6d0 100644 --- a/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java +++ b/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java @@ -36,16 +36,12 @@ private RandomDocumentPicks() { public static String randomFieldName(Random random) { int numLevels = RandomNumbers.randomIntBetween(random, 1, 5); StringBuilder fieldName = new StringBuilder(); - for (int i = 0; i < numLevels - 1; i++) { + for (int i = 0; i < numLevels; i++) { if (i > 0) { fieldName.append('.'); } - fieldName.append(randomString(random)); + fieldName.append(randomLeafFieldName(random)); } - if (numLevels > 1) { - fieldName.append('.'); - } - fieldName.append(randomLeafFieldName(random)); return fieldName.toString(); } From 09c14f3839989b8061ec568878e5f3f5144028cf Mon Sep 17 00:00:00 2001 From: Sean Zatz Date: Fri, 17 Oct 2025 10:56:42 -0400 Subject: [PATCH 2/4] include non-alphanumeric chars --- .../org/elasticsearch/ingest/RandomDocumentPicks.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java b/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java index 6b6c9e6ffe6d0..0710435c97627 100644 --- a/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java +++ b/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java @@ -40,7 +40,13 @@ public static String randomFieldName(Random random) { if (i > 0) { fieldName.append('.'); } - fieldName.append(randomLeafFieldName(random)); + + String pathSegment; + // generate new path segments until we get one that doesn't contain a dot "." + do { + pathSegment = randomString(random); + } while (pathSegment.contains(".")); + fieldName.append(pathSegment); } return fieldName.toString(); } From 0938a388c4a9c2635a4fa8e68d6e72f7ad7125b9 Mon Sep 17 00:00:00 2001 From: Sean Zatz Date: Fri, 17 Oct 2025 13:04:52 -0400 Subject: [PATCH 3/4] Update test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java Co-authored-by: Szymon Bialkowski --- .../main/java/org/elasticsearch/ingest/RandomDocumentPicks.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java b/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java index 0710435c97627..5246d50ad4db0 100644 --- a/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java +++ b/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java @@ -42,7 +42,7 @@ public static String randomFieldName(Random random) { } String pathSegment; - // generate new path segments until we get one that doesn't contain a dot "." + // can't contain a dot since might lead to invalid empty segment, e.g. `one..two.three` do { pathSegment = randomString(random); } while (pathSegment.contains(".")); From 9a3ae9d3d73f3d671cbd648585cd3efc99ad05b2 Mon Sep 17 00:00:00 2001 From: Sean Zatz Date: Fri, 17 Oct 2025 13:34:47 -0400 Subject: [PATCH 4/4] minimize changes --- .../java/org/elasticsearch/ingest/RandomDocumentPicks.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java b/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java index 5246d50ad4db0..3f2cb532f539f 100644 --- a/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java +++ b/test/framework/src/main/java/org/elasticsearch/ingest/RandomDocumentPicks.java @@ -36,11 +36,10 @@ private RandomDocumentPicks() { public static String randomFieldName(Random random) { int numLevels = RandomNumbers.randomIntBetween(random, 1, 5); StringBuilder fieldName = new StringBuilder(); - for (int i = 0; i < numLevels; i++) { + for (int i = 0; i < numLevels - 1; i++) { if (i > 0) { fieldName.append('.'); } - String pathSegment; // can't contain a dot since might lead to invalid empty segment, e.g. `one..two.three` do { @@ -48,6 +47,10 @@ public static String randomFieldName(Random random) { } while (pathSegment.contains(".")); fieldName.append(pathSegment); } + if (numLevels > 1) { + fieldName.append('.'); + } + fieldName.append(randomLeafFieldName(random)); return fieldName.toString(); }