This is an automated email from the ASF dual-hosted git repository.
jianliangqi pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new 1cb1d94b87d branch-3.0: [test](regression)Fix unstable write inverted
index case #46046 (#46066)
1cb1d94b87d is described below
commit 1cb1d94b87de5e55dc56dc6e71f761f4cc59f274
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Dec 27 14:09:11 2024 +0800
branch-3.0: [test](regression)Fix unstable write inverted index case #46046
(#46066)
Cherry-picked from #46046
Co-authored-by: qiye <[email protected]>
---
...inverted_index_exception_fault_injection.groovy | 66 +++++++++-------------
1 file changed, 26 insertions(+), 40 deletions(-)
diff --git
a/regression-test/suites/fault_injection_p0/test_write_inverted_index_exception_fault_injection.groovy
b/regression-test/suites/fault_injection_p0/test_write_inverted_index_exception_fault_injection.groovy
index 6deb96bfdea..9fbb245c243 100644
---
a/regression-test/suites/fault_injection_p0/test_write_inverted_index_exception_fault_injection.groovy
+++
b/regression-test/suites/fault_injection_p0/test_write_inverted_index_exception_fault_injection.groovy
@@ -51,7 +51,6 @@ suite("test_write_inverted_index_exception_fault_injection",
"nonConcurrent") {
logger.info("changed variables: " + changed_variables.toString())
// sql "UNSET GLOBAL VARIABLE ALL;"
- sql "SET global enable_match_without_inverted_index = false"
boolean inverted_index_ram_dir_enable = true
boolean has_update_be_config = false
@@ -100,7 +99,7 @@ suite("test_write_inverted_index_exception_fault_injection",
"nonConcurrent") {
}
def run_select = { String tableName, boolean normal ->
- def result = sql_return_maparray "SELECT * FROM ${tableName} WHERE
name MATCH 'andy'"
+ def result = sql_return_maparray "SELECT /*+
SET_VAR(enable_match_without_inverted_index = false,
enable_common_expr_pushdown = true) */ * FROM ${tableName} WHERE name MATCH
'andy'"
assertEquals(3, result.size())
assertEquals(1, result[0]['id'])
assertEquals("andy", result[0]['name'])
@@ -109,7 +108,7 @@
suite("test_write_inverted_index_exception_fault_injection", "nonConcurrent") {
assertEquals(3, result[2]['id'])
assertEquals("andy", result[2]['name'])
- result = sql_return_maparray "SELECT * FROM ${tableName} WHERE age <
11"
+ result = sql_return_maparray "SELECT /*+
SET_VAR(enable_match_without_inverted_index = false,
enable_common_expr_pushdown = true) */ * FROM ${tableName} WHERE age < 11"
assertEquals(3, result.size())
assertEquals("andy", result[0]['name'])
assertEquals(2, result[1]['id'])
@@ -117,7 +116,7 @@
suite("test_write_inverted_index_exception_fault_injection", "nonConcurrent") {
assertEquals(3, result[2]['id'])
assertEquals("andy", result[2]['name'])
- result = sql_return_maparray "SELECT * FROM ${tableName} WHERE
description MATCH 'sports'"
+ result = sql_return_maparray "SELECT /*+
SET_VAR(enable_match_without_inverted_index = false,
enable_common_expr_pushdown = true) */ * FROM ${tableName} WHERE description
MATCH 'sports'"
assertEquals(3, result.size())
assertEquals("andy", result[0]['name'])
assertEquals("andy is good at sports", result[0]['description'])
@@ -127,7 +126,7 @@
suite("test_write_inverted_index_exception_fault_injection", "nonConcurrent") {
assertEquals("andy is good at sports", result[2]['description'])
if (normal) {
- result = sql_return_maparray "SELECT * FROM ${tableName} WHERE
array_contains(scores, 79)"
+ result = sql_return_maparray "SELECT /*+
SET_VAR(enable_match_without_inverted_index = false,
enable_common_expr_pushdown = true) */ * FROM ${tableName} WHERE
array_contains(scores, 79)"
assertEquals(3, result.size())
assertEquals("bason", result[0]['name'])
assertEquals("[79, 85, 97]", result[0]['scores'])
@@ -135,48 +134,38 @@
suite("test_write_inverted_index_exception_fault_injection", "nonConcurrent") {
assertEquals("[79, 85, 97]", result[1]['scores'])
assertEquals("bason", result[2]['name'])
assertEquals("[79, 85, 97]", result[2]['scores'])
-
- result = sql_return_maparray "SELECT * FROM ${tableName} WHERE
array_contains(hobbies, 'football')"
- assertEquals(3, result.size())
- assertEquals("andy", result[0]['name'])
- assertEquals('["football", "basketball"]', result[0]['hobbies'])
- assertEquals("andy", result[1]['name'])
- assertEquals('["football", "basketball"]', result[1]['hobbies'])
- assertEquals("andy", result[2]['name'])
- assertEquals('["football", "basketball"]', result[2]['hobbies'])
-
- result = sql_return_maparray "SELECT * FROM ${tableName} WHERE
array_contains(evaluation, 'andy is so nice')"
- assertEquals(3, result.size())
- assertEquals("andy", result[0]['name'])
- assertEquals('["andy has a good heart", "andy is so nice"]',
result[0]['evaluation'])
- assertEquals("andy", result[1]['name'])
- assertEquals('["andy has a good heart", "andy is so nice"]',
result[1]['evaluation'])
- assertEquals("andy", result[2]['name'])
- assertEquals('["andy has a good heart", "andy is so nice"]',
result[2]['evaluation'])
} else {
- result = sql_return_maparray "SELECT * FROM ${tableName} WHERE
array_contains(scores, 79)"
- assertEquals(0, result.size())
-
- result = sql_return_maparray "SELECT * FROM ${tableName} WHERE
array_contains(hobbies, 'football')"
- assertEquals(0, result.size())
-
- result = sql_return_maparray "SELECT * FROM ${tableName} WHERE
array_contains(evaluation, 'andy is so nice')"
+ result = sql_return_maparray "SELECT /*+
SET_VAR(enable_match_without_inverted_index = false,
enable_common_expr_pushdown = true) */ * FROM ${tableName} WHERE
array_contains(scores, 79)"
assertEquals(0, result.size())
}
+ result = sql_return_maparray "SELECT /*+
SET_VAR(enable_match_without_inverted_index = false,
enable_common_expr_pushdown = true) */ * FROM ${tableName} WHERE
array_contains(hobbies, 'football')"
+ assertEquals(3, result.size())
+ assertEquals("andy", result[0]['name'])
+ assertEquals('["football", "basketball"]', result[0]['hobbies'])
+ assertEquals("andy", result[1]['name'])
+ assertEquals('["football", "basketball"]', result[1]['hobbies'])
+ assertEquals("andy", result[2]['name'])
+ assertEquals('["football", "basketball"]', result[2]['hobbies'])
+
+ result = sql_return_maparray "SELECT /*+
SET_VAR(enable_match_without_inverted_index = false,
enable_common_expr_pushdown = true) */ * FROM ${tableName} WHERE
array_contains(evaluation, 'andy is so nice')"
+ assertEquals(3, result.size())
+ assertEquals("andy", result[0]['name'])
+ assertEquals('["andy has a good heart", "andy is so nice"]',
result[0]['evaluation'])
+ assertEquals("andy", result[1]['name'])
+ assertEquals('["andy has a good heart", "andy is so nice"]',
result[1]['evaluation'])
+ assertEquals("andy", result[2]['name'])
+ assertEquals('["andy has a good heart", "andy is so nice"]',
result[2]['evaluation'])
}
// define debug points array
def debug_points = [
"inverted_index_parser.get_parser_stopwords_from_properties",
"CharFilterFactory::create_return_nullptr",
- "InvertedIndexFileWriter::open_local_fs_exists_error",
- "InvertedIndexFileWriter::open_local_fs_exists_true",
"InvertedIndexFileWriter::delete_index_index_meta_nullptr",
"InvertedIndexFileWriter::delete_index_indices_dirs_reach_end",
"InvertedIndexFileWriter::copyFile_openInput_error",
"InvertedIndexFileWriter::copyFile_remainder_is_not_zero",
"InvertedIndexFileWriter::copyFile_diff_not_equals_length",
- "InvertedIndexFileWriter::write_v1_ram_output_is_nullptr",
"InvertedIndexFileWriter::write_v1_out_dir_createOutput_nullptr",
"FSIndexInput::~SharedHandle_reader_close_error",
"DorisFSDirectory::FSIndexInput::readInternal_reader_read_at_error",
@@ -196,7 +185,7 @@
suite("test_write_inverted_index_exception_fault_injection", "nonConcurrent") {
"DorisFSDirectory::fileExists_status_is_not_ok",
"DorisFSDirectory::touchFile_status_is_not_ok",
"DorisFSDirectory::fileLength_status_is_not_ok",
- //"DorisFSDirectory::close_close_with_error", // will block the
process, off now
+ "DorisFSDirectory::close_close_with_error",
"DorisFSDirectory::doDeleteFile_status_is_not_ok",
"DorisFSDirectory::deleteDirectory_throw_is_not_directory",
"DorisFSDirectory::renameFile_exists_status_is_not_ok",
@@ -219,7 +208,6 @@
suite("test_write_inverted_index_exception_fault_injection", "nonConcurrent") {
"InvertedIndexColumnWriter::init_inverted_index_writer_init_error",
"InvertedIndexColumnWriter::close_on_error_throw_exception",
"InvertedIndexColumnWriter::init_bkd_index_throw_error",
- "InvertedIndexColumnWriter::create_chinese_analyzer_throw_error",
"InvertedIndexColumnWriter::open_index_directory_error",
"InvertedIndexColumnWriter::create_index_writer_setRAMBufferSizeMB_error",
"InvertedIndexColumnWriter::create_index_writer_setMaxBufferedDocs_error",
@@ -242,7 +230,6 @@
suite("test_write_inverted_index_exception_fault_injection", "nonConcurrent") {
]
def inverted_index_storage_format = ["v1", "v2"]
-
try {
String backend_id;
backend_id = backendId_to_backendIP.keySet()[0]
@@ -256,7 +243,7 @@
suite("test_write_inverted_index_exception_fault_injection", "nonConcurrent") {
for (Object ele in (List) configList) {
assert ele instanceof List<String>
if (((List<String>) ele)[0] == "inverted_index_ram_dir_enable") {
- invertedIndexCompactionEnable =
Boolean.parseBoolean(((List<String>) ele)[2])
+ inverted_index_ram_dir_enable =
Boolean.parseBoolean(((List<String>) ele)[2])
logger.info("inverted_index_ram_dir_enable: ${((List<String>)
ele)[2]}")
}
}
@@ -275,8 +262,8 @@
suite("test_write_inverted_index_exception_fault_injection", "nonConcurrent") {
GetDebugPoint().enableDebugPointForAllBEs(debug_point)
run_insert("${tableName}")
check_count("${tableName}", 6)
- // if debug_point equals
InvertedIndexColumnWriterImpl::add_array_values_count_is_zero, run_select(false)
- // else run_select(true)
+ // if debug_point equals
InvertedIndexColumnWriterImpl::add_array_values_count_is_zero,
run_select(false(abnormal))
+ // else run_select(true(normal))
if (debug_point ==
"InvertedIndexColumnWriterImpl::add_array_values_count_is_zero") {
run_select("${tableName}", false)
} else {
@@ -295,7 +282,6 @@
suite("test_write_inverted_index_exception_fault_injection", "nonConcurrent") {
if (has_update_be_config) {
set_be_config.call("inverted_index_ram_dir_enable",
inverted_index_ram_dir_enable.toString())
}
- sql "SET global enable_match_without_inverted_index = true"
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]