-
Notifications
You must be signed in to change notification settings - Fork 25.1k
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
bad indexing performance in elasticsearch 8.2.0 #87036
Comments
I've run the steps and was able to reproduce the issue. The document takes multiple seconds to index on 8.x while it takes fractions of a second to index on 6.x. There looks to be a regression here, hot_threads have not been very helpful pinpointing it though. I've minimized the example that shows the issue (only the Can you provide more context on why there is so much cross-copying? |
Pinging @elastic/es-search (Team:Search) |
Regarding to our much cross-copying, we have alot of different searchfields on different layers of our search tree in our application. Therefore we do much cross-copying. Up until Elasticsearch 6.7.1, this always worked without any problems. What may also be interesting in this context is the index size for the index request which i provided previously
|
We changed how copy_to is implemented in #79922, which moved the handling of dots in field names into a specialised parser. Unfortunately, while doing this we added a bug whereby every time a copy_to directive is processed for a nested field, the nested field's include_in_parent logic would be run, meaning that the parent would end up with multiple copies of the nested child's fields. This commit fixes this by only running include_in_parent when the parser is not in a copy_to context. It also fixes another bug that meant the parent document would contain multiple copies of the ID field. Fixes #87036
We changed how copy_to is implemented in elastic#79922, which moved the handling of dots in field names into a specialised parser. Unfortunately, while doing this we added a bug whereby every time a copy_to directive is processed for a nested field, the nested field's include_in_parent logic would be run, meaning that the parent would end up with multiple copies of the nested child's fields. This commit fixes this by only running include_in_parent when the parser is not in a copy_to context. It also fixes another bug that meant the parent document would contain multiple copies of the ID field. Fixes elastic#87036
We changed how copy_to is implemented in #79922, which moved the handling of dots in field names into a specialised parser. Unfortunately, while doing this we added a bug whereby every time a copy_to directive is processed for a nested field, the nested field's include_in_parent logic would be run, meaning that the parent would end up with multiple copies of the nested child's fields. This commit fixes this by only running include_in_parent when the parser is not in a copy_to context. It also fixes another bug that meant the parent document would contain multiple copies of the ID field. Fixes #87036
Elasticsearch Version
8.2.0
Installed Plugins
No response
Java Version
bundled
OS Version
docker-image = docker.elastic.co/elasticsearch/elasticsearch:8.2.0
Problem Description
We are trying to migrate from Elasticsearch 6.7.1 to Elasticsearch 8.2.0.
With the same amount of documents per bulk request (100 docs per request), we always get a socket timeout in Elasticsearch 8.2.0. Everything works fine in Elasticsearch 6.7.1.
I noticed that indexing the same document in Elasticsearch 8.2.0 takes 44152ms. In Elasticsearch 6.7.1, indexing takes 50ms.
Steps to Reproduce
elasticsearch_8.2.0.txt
elasticsearch_6.7.1.txt
Logs (if relevant)
No response
The text was updated successfully, but these errors were encountered: