-
-
Notifications
You must be signed in to change notification settings - Fork 596
Problem with bigint range filtering #3300
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
could you provide your data that reproduce this case locally here? As from your description it is not clear what cause this issue full-scan or secondary index |
OK, I made a test data that can perfectly reproduce my problem. Create a test table: First generate 8192 data:
Then batch import the import:
Now there are 8192 records in the test1 table. Try to execute the following statement: You can see that the third statement clearly meets the conditions, but returns an empty set. Let's continue to try to import only 8191 data. First, rebuild the test1 table. Import again. The difference from the import code above is only in this part:
You can see that the same statement returns the result for the third line. I don’t know what the reason is, I hope this test data set can help you reproduce the problem. |
Hello @zhangsanhuo I can't reproduce your issue. To be on the same page I've created repo https://github.com/sanikolaev/issue-3300 based on the details you provided. Here's how it works for me:
The last command returns:
i.e. I can't see this:
Can you please modify the Dockerfile, so the issue can be reproduced? |
Thanks for your reply. I'm sorry I don't know much about docker, but I looked at the Dockerfile you tested. The version of manticore search is manticore:9.2.14. Then I upgraded the manticore version on the server. It was: But if you use Server version: 7.0.0 for testing, you will find that the BUG I described will appear 9 times out of 10 times. It is really strange. This problem puzzled me for many days. |
@zhangsanhuo I can't reproduce the issue in 7.0.0 either:
The Dockerfile is:
I'm afraid there's not much we can do until we can reproduce the issue. It would be really helpful if you could:
|
Uh oh!
There was an error while loading. Please reload this page.
Bug Description:
Create Table Statement:
Data Volume:
The data volume is approximately 3 million records.
Issue Description:
The following query works fine in actual use when filtering and comparing:
SELECT * FROM t1 WHERE start_int <= 16777217 AND last_int >= 16777217;
However, the following query often returns empty results. I am not certain, but in multiple tests of recreating the index, it returns empty results about 17 out of 20 times:
SELECT * FROM t1 WHERE start_int <= 16819712 AND last_int >= 16819712;
I am confident that this data exists in the index every time, as it can be retrieved using the following command:
SELECT * FROM t1 WHERE start_int = 16819712;
I truly haven't been able to identify the possible cause of this issue.
Additional Test 3:
I have tested dozens of times, and I found that it is not related to the number of imports, but seems to be related to the quantity of 8192. When the number of imports exceeds 8191, the query SELECT start_int, last_int FROM test1 WHERE start_int <= 16819712 AND last_int >= 16819712; does not work.
Here are my test results. To avoid interference from randomness, I did two rounds of testing for each row.
Table creation statement:
Query statements:
success:
Batch quantity per time 1000
Total quantity 5000
Batch quantity per time 1000
Total quantity 8000
Batch quantity per time 2000
Total quantity 8000
Batch quantity per time 3000
Total quantity 8000
Batch quantity per time 5000
Total quantity 8000
Batch quantity per time 1000
Total quantity 8100
Batch quantity per time 1000
Total quantity 8150
Batch quantity per time 1000
Total quantity 8175
Batch quantity per time 1000
Total quantity 8180
Batch quantity per time 1000
Total quantity 8190
Batch quantity per time 1000
Total quantity 8191
Batch quantity per time 8191
Total quantity 8191
failed:
Batch quantity per time 1000
Total quantity 10000
Batch quantity per time 1000
Total quantity 9000
Batch quantity per time 1000
Total quantity 8500
Batch quantity per time 1000
Total quantity 8200
Batch quantity per time 1000
Total quantity 8199
Batch quantity per time 1000
Total quantity 8195
Batch quantity per time 1000
Total quantity 8192
Batch quantity per time 8192
Total quantity 8192
Manticore Search Version:
Server version: 7.0.0 92c650401@25013002 (columnar 4.0.0 5aa8e43@25012409) (secondary 4.0.0 5aa8e43@25012409) (knn 4.0.0 5aa8e43@25012409) git branch manticore-7.0.0...origin/manticore-7.0.0
Operating System Version:
Linux hcss-ecs-1aa6 6.1.0-22-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.94-1 (2024-06-21) x86_64 GNU/Linux
Have you tried the latest development version?
None
Internal Checklist:
To be completed by the assignee. Check off tasks that have been completed or are not applicable.
The text was updated successfully, but these errors were encountered: