siddharthteotia commented on code in PR #8874:
URL: https://github.com/apache/pinot/pull/8874#discussion_r894806085


##########
pinot-core/src/test/java/org/apache/pinot/core/common/datatable/DataTableSerDeTest.java:
##########
@@ -163,6 +163,135 @@ public void testAllDataTypes()
     verifyDataIsSame(newDataTable, columnDataTypes, numColumns);
   }
 
+  @Test
+  public void testV3V4Compatibility()
+      throws IOException {
+    DataSchema.ColumnDataType[] columnDataTypes = 
DataSchema.ColumnDataType.values();
+    int numColumns = columnDataTypes.length;
+    String[] columnNames = new String[numColumns];
+    for (int i = 0; i < numColumns; i++) {
+      columnNames[i] = columnDataTypes[i].name();
+    }
+
+    DataSchema dataSchema = new DataSchema(columnNames, columnDataTypes);
+
+    // Verify V4 broker can deserialize data table (has data, but has no 
metadata) send by V3 server

Review Comment:
   If not already covered, can we write a test to simulate the following 
scenario ?
   
   - same cluster (broker tenant and server tenant) are processing 2 queries 
   -- 1 query on the existing engine
   -- 1 query on the multi-stage engine
   - both broker and server have been upgrade to new version that has V4
   - for query 1, server sends a data table that has no concept of row / 
columnar / metadata blok / block type
   - for query 2, server sends a data table that is aware of multi-engine's 
DataBlock
   - Broker is able to correctly handle both data tables



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to