Bug #113846 | Fulltext Index has Missing Rows If They are from Concurrent Inserts | ||
---|---|---|---|
Submitted: | 1 Feb 2024 8:11 | Modified: | 2 Feb 2024 11:54 |
Reporter: | Sunny Chung | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: FULLTEXT search | Severity: | S3 (Non-critical) |
Version: | 8.0 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[1 Feb 2024 8:11]
Sunny Chung
[1 Feb 2024 11:54]
MySQL Verification Team
Hi Mr. Chung, Thank you for your bug report. However, we do need a test case in SQL. We can also accept a test case as a shell script. We can also accept a test case in multi-threaded execution. We have several tools that we can use for testing. Hence, take a look at our mysqlslap client program and even sysbench and see if you can come up with a repeatable test case. This way, we can not tell whether this is a bug in C/J or our Docker Operator or in the server. Can't repeat.
[2 Feb 2024 8:33]
Sunny Chung
Thanks for letting me know the tools. I have translated the reproducer into a sh script. In the sh version, the issue is much less serious, but still exists. 5000 relevant rows were inserted, and only 4994 rows can be queried back via the fulltext index. Same MySQL server setting as the docker compose file was used, i.e. the command options are --ft_stopword_file="" --ngram_token_size=1.
[2 Feb 2024 11:54]
MySQL Verification Team
Hi Mr. Chung, Thank you for your new test case. We managed to repeat the behaviour that you reported: Preparing Start Benchmark Average number of seconds to run all queries: 0.001 seconds Minimum number of seconds to run all queries: 0.000 seconds Maximum number of seconds to run all queries: 0.020 seconds Number of clients running queries: 50 Average number of queries per client: 1 Finish insert. count 0 We even have added a sleep of 4 seconds before SELECT , but still got the same results. This is now a verified bug report. Do let us inform you that this may turn out as a documentation bug and not as a code bug, but it is on others to decide on that. Thank you for your effort.
[1 Apr 2024 1:50]
Chahatpreet Grewal
Search results could be improved if we maximize the resource for generating auxiliary index tables for full text index search. Using the following parameters: innodb_ft_total_cache_size = 1600000000 innodb_ft_sort_pll_degree = 12 This indicates that issue might be in building the auxiliary index table itself.
[2 Apr 2024 10:16]
MySQL Verification Team
Thank you, Mr. Grewal. Your comment will be copied to our internal bug database.