-
Notifications
You must be signed in to change notification settings - Fork 63
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
"IN" (Set condition) for small namespaces after v2.9.2 #61
Comments
Hello oruchreis, thanks for reporting the issue. We'll take a look at it in the nearest future. |
Hi, |
Hi,
Data:
The query that fails:
If I add |
I've also tested x64-release build and the setup file from appveyor artifacts (which afaik it is VS 2017 and x64-release). In both release version the query failed like before, but I could get the explain result without crash. Here are explain outputs of the failed query:
|
Actually problem looks like tsl::hopscotch_set or MSVC compiler bug. I wrote issue to tsl::hopscotch_set repo - Tessil/hopscotch-map#52 In the next reindexer release we will introduce workaround: just replace |
This change can seriously slow down queries execution with wide IN () condition to low selectivity indexes. |
I confirm that it is fixed in v2.11.1. Thanks for your effort. |
Hi,
After v2.9.2 we can't search small namespaces with IN condition but bigger namespaces works expected.
This works on small namespaces:
Id IN (1)
But this doesn't work:
Id IN (1,1,1,1)
If items count in the namespace is bigger than 50 or something it works expected.
I've figured out that if I set
kMaxSelectivityPercentForIdset
to100
inindexunorderd.cc
, it works like before v2.9.2. I think there is a bug in this condition inindexunorderd.cc
at line 192:reindexer/cpp_src/core/index/indexunordered.cc
Line 192 in 0575789
Best Regards.
The text was updated successfully, but these errors were encountered: