Hi,
I am currently in the process of trying to upgrade our Elastic Cloud clusters from 1.7.3 to 2.3.1.
For testing I have created a new cluster (ID is 14de95) which is running 2.3.1. This was setup to have the same settings and mappings as our current non PROD cluster (ID is bf0245).
However, I have been having some issues whilst indexing all of our data into the 2.3.1 instance. From my application, whenever I trigger all the of the data to be indexed into Elasticsearch 2.3.1 the cluster runs out of memory, normally after about 1 hour of indexing. This process works fine when indexing against 1.7.3. I have tried increasing the RAM available for the cluster (from 4GB to 8 GB) and increasing the refresh_interval from the default value to 30s. Neither of these things seemed to help. (4GB and the default refresh_interval works without any noticeable issues on our 1.7.3 cluster).
Monitoring the node using the stats API, I did notice that the segments.index_writer_memory
value seemed to be increasing in size more than I'd expect. During a complete index I saw this value reach 2.2GB using Elasticsearch 2.3.1 just before the OutOfMemoryError. I've included the details below. Using Elasticsearch 1.7.3 I never saw this value go above 11Mb.
"segments" : {
"count" : 30,
"memory" : "17.4mb",
"memory_in_bytes" : 18259186,
"terms_memory" : "17.1mb",
"terms_memory_in_bytes" : 17987986,
"stored_fields_memory" : "35kb",
"stored_fields_memory_in_bytes" : 35896,
"term_vectors_memory" : "0b",
"term_vectors_memory_in_bytes" : 0,
"norms_memory" : "63.8kb",
"norms_memory_in_bytes" : 65408,
"doc_values_memory" : "165.9kb",
"doc_values_memory_in_bytes" : 169896,
"index_writer_memory" : "2.2gb",
"index_writer_memory_in_bytes" : 2419813928,
"index_writer_max_memory" : "395.9mb",
"index_writer_max_memory_in_bytes" : 415183667,
"version_map_memory" : "91.2kb",
"version_map_memory_in_bytes" : 93477,
"fixed_bit_set" : "13kb",
"fixed_bit_set_memory_in_bytes" : 13336
},
I'd have thought that this value would decrease automatically with Elasticsearch calling flush without any intervention from me.
I'd be very grateful if someone could point me towards what could be causing this?
Thanks,
James