Hi, we use the Javascript bulk helper API to bulk import data to ES.
Randomly the import process crashes with out of memory exception (OOME). Of course we check for errors from the bulk import but there aren't any.
I'm familar with backpressure issues with nodejs stream processing but I can't see any backpressure controling mechanicm here for the ES bulk import, although the input comes from a readable stream.
I have tried to analyze heap dumps taken shortly before the OOME, but so far I couldn't get a clue of it. I'm not too familar with nodejs heapdump analyze. however.
Interesting fact too is that I never get these OOMEs from my dev console, but only from deployments. They both address the same ES cluster. The dev environment has similar memory limits as the deployment.
I have to add that I'm comparing behaviour using the same test data set. If it's a feature branch deployment, there are no other actions running in parallel. I have no insight about the cluster status because this is out of my Dev scope
What is the size of your bulk requests? What is the specification and configuration of your cluster? Which version of Elasticsearch are you using? Is there possibly a difference in the number of concurrent bulk requests between the two scenarios?
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.