github-actions[bot] commented on code in PR #65351:
URL: https://github.com/apache/doris/pull/65351#discussion_r3541802696


##########
regression-test/suites/external_table_p0/iceberg/test_iceberg_deletion_vector.groovy:
##########
@@ -328,6 +328,41 @@ class IcebergRestCatalog {
     qt_q3 """ SELECT * FROM dv_test_orc ORDER BY id; """
     qt_no_delete """ SELECT * FROM dv_test_no_delete ORDER BY id; """
 
+    def enableFileScannerV2Rows = sql """SHOW VARIABLES LIKE 
'enable_file_scanner_v2'"""
+    assertTrue(enableFileScannerV2Rows.size() > 0,
+            "Session variable enable_file_scanner_v2 is not found")
+    String originalEnableFileScannerV2 = 
enableFileScannerV2Rows[0][1].toString()
+    try {
+        sql """set enable_file_scanner_v2=false"""
+        GetDebugPoint().clearDebugPointsForAllBEs()
+        GetDebugPoint().enableDebugPointForAllBEs(
+                "IcebergDeleteFileReader.read_deletion_vector.io_error")
+        test {
+            sql """ SELECT count(*) FROM dv_test; """
+            exception "injected Iceberg deletion vector read failure"
+        }
+
+        sql """set enable_file_scanner_v2=true"""
+        GetDebugPoint().clearDebugPointsForAllBEs()
+        GetDebugPoint().enableDebugPointForAllBEs(
+                "TableReader.parse_deletion_vector.io_error")
+        test {
+            sql """ SELECT count(*) FROM dv_test; """
+            exception "injected format v2 deletion vector read failure"
+        }
+
+        GetDebugPoint().clearDebugPointsForAllBEs()
+        GetDebugPoint().enableDebugPointForAllBEs(
+                "TableReader.parse_deletion_vector.should_stop")
+        test {

Review Comment:
   This scanner-v2 `should_stop` case still will not raise the expected SQL 
exception. The debug point makes `TableReader::_parse_delete_predicates` return 
`Status::EndOfFile("stop read.")` during split preparation, but scanner-v2 
treats END_OF_FILE as a normal EOS path: `FileScannerV2::_prepare_next_split` 
propagates the status, the scheduler marks the scanner as `eos`, and 
`ScanTask::set_status`/`status_ok()` convert END_OF_FILE into an EOS task 
rather than an error. `ScannerContext::get_block_from_queue` then finishes the 
scanner and returns OK with eos, so the regression test will not observe 
`exception "stop read"`. Please do not assert a SQL exception for this EOF 
path; use a non-EOF injected error in the regression test, or keep this 
`should_stop`/END_OF_FILE coverage in a BE unit test where the returned status 
is asserted directly.



-- 
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