This is an automated email from the ASF dual-hosted git repository.

jackie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new c5c4f7d0c4 Enhance ClusterTest.sanitizeResponse() to reduce error 
(#15593)
c5c4f7d0c4 is described below

commit c5c4f7d0c4b57972060e65caef7c40d94140ba2f
Author: Xiaotian (Jackie) Jiang <17555551+jackie-ji...@users.noreply.github.com>
AuthorDate: Mon Apr 21 14:21:48 2025 -0600

    Enhance ClusterTest.sanitizeResponse() to reduce error (#15593)
---
 .../pinot/integration/tests/ClusterTest.java       | 34 +++++++++++++---------
 1 file changed, 20 insertions(+), 14 deletions(-)

diff --git 
a/pinot-integration-test-base/src/test/java/org/apache/pinot/integration/tests/ClusterTest.java
 
b/pinot-integration-test-base/src/test/java/org/apache/pinot/integration/tests/ClusterTest.java
index f7dc441f5d..6f8e86be0a 100644
--- 
a/pinot-integration-test-base/src/test/java/org/apache/pinot/integration/tests/ClusterTest.java
+++ 
b/pinot-integration-test-base/src/test/java/org/apache/pinot/integration/tests/ClusterTest.java
@@ -628,21 +628,27 @@ public abstract class ClusterTest extends ControllerTest {
   }
 
   private static JsonNode sanitizeResponse(JsonNode responseJsonNode) {
+    JsonNode resultTable = responseJsonNode.get("resultTable");
+    if (resultTable == null) {
+      return responseJsonNode;
+    }
+    JsonNode rows = resultTable.get("rows");
+    if (rows == null || rows.isEmpty()) {
+      return responseJsonNode;
+    }
     try {
-      DataSchema schema =
-          
JsonUtils.jsonNodeToObject(responseJsonNode.get("resultTable").get("dataSchema"),
 DataSchema.class);
-      JsonNode rowsJsonNode = responseJsonNode.get("resultTable").get("rows");
-      if (rowsJsonNode != null) {
-        for (int i = 0; i < rowsJsonNode.size(); i++) {
-          ArrayNode rowJsonNode = (ArrayNode) rowsJsonNode.get(i);
-          for (int j = 0; j < schema.size(); j++) {
-            DataSchema.ColumnDataType columnDataType = 
schema.getColumnDataType(j);
-            JsonNode jsonValue = rowJsonNode.get(j);
-            if (columnDataType.isArray()) {
-              rowJsonNode.set(j, extractArray(columnDataType, jsonValue));
-            } else if (columnDataType != DataSchema.ColumnDataType.MAP) {
-              rowJsonNode.set(j, extractValue(columnDataType, jsonValue));
-            }
+      int numRows = rows.size();
+      DataSchema dataSchema = 
JsonUtils.jsonNodeToObject(resultTable.get("dataSchema"), DataSchema.class);
+      int numColumns = dataSchema.size();
+      for (int i = 0; i < numRows; i++) {
+        ArrayNode row = (ArrayNode) rows.get(i);
+        for (int j = 0; j < numColumns; j++) {
+          DataSchema.ColumnDataType columnDataType = 
dataSchema.getColumnDataType(j);
+          JsonNode value = row.get(j);
+          if (columnDataType.isArray()) {
+            row.set(j, extractArray(columnDataType, value));
+          } else if (columnDataType != DataSchema.ColumnDataType.MAP) {
+            row.set(j, extractValue(columnDataType, value));
           }
         }
       }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to