zhannngchen commented on code in PR #46766: URL: https://github.com/apache/doris/pull/46766#discussion_r1962930376
########## regression-test/suites/fault_injection_p0/cloud/test_cloud_mow_stream_load_with_commit_fail.groovy: ########## @@ -133,13 +367,69 @@ suite("test_cloud_mow_stream_load_with_commit_fail", "nonConcurrent") { assertEquals("success", json.Status.toLowerCase()) } } + getTotalRetry.call() + assertEquals(last_total_retry + 6, total_retry) qt_sql """ select * from ${tableName} order by id""" - } finally { - reset_be_param("mow_stream_load_commit_retry_times") - GetDebugPoint().disableDebugPointForAllFEs('FE.mow.commit.exception') - sql "DROP TABLE IF EXISTS ${tableName};" - GetDebugPoint().clearDebugPointsForAllFEs() } + //6.test calculate delete bitmap task timeout, after retry, will succeed + setFeConfigTemporary(customFeConfig1) { + // 6.1 first load will retry because of calculating delete bitmap timeout, and finally succeed + GetDebugPoint().enableDebugPointForAllBEs("CloudEngineCalcDeleteBitmapTask.execute.enable_wait") + + def now = System.currentTimeMillis() + streamLoad { + table "${tableName}" + + set 'column_separator', ',' + set 'columns', 'id, name, score' + file "test_stream_load.csv" + + time 10000 // limit inflight 10s + + check { result, exception, startTime, endTime -> + log.info("Stream load result: ${result}") + def json = parseJson(result) + assertEquals("success", json.Status.toLowerCase()) + } + } + def time_cost = System.currentTimeMillis() - now + getTotalRetry.call() + assertEquals(last_total_retry + 7, total_retry) + assertTrue(time_cost > 2000, "wait time should bigger than total retry interval") + qt_sql """ select * from ${tableName} order by id""" + + // 6.2 second load will success and no need retry because of removing timeout simulation + GetDebugPoint().disableDebugPointForAllBEs("CloudEngineCalcDeleteBitmapTask.execute.enable_wait") + streamLoad { + table "${tableName}" + + set 'column_separator', ',' + set 'columns', 'id, name, score' + file "test_stream_load.csv" + + time 10000 // limit inflight 10s + + check { result, exception, startTime, endTime -> + log.info("Stream load result: ${result}") + def json = parseJson(result) + assertEquals("success", json.Status.toLowerCase()) + } + } + getTotalRetry.call() + assertEquals(last_total_retry + 7, total_retry) + qt_sql """ select * from ${tableName} order by id""" + } + } finally { + reset_be_param("mow_stream_load_commit_retry_times") + GetDebugPoint().disableDebugPointForAllFEs('FE.mow.check.lock.release') Review Comment: only the following 2 lines is enough? ``` GetDebugPoint().clearDebugPointsForAllBEs() GetDebugPoint().clearDebugPointsForAllFEs() ``` -- 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: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org