: facing. We are storing messages in solr as documents. We are running a : pruning job every night to delete old message documents. We are deleting : old documents by calling multiple delete by id query to solr. Document : count can be in millions which we are deleting using SolrJ client. We are : using delete by id because it is faster than delete by query. It works : great for few days but after a week these delete by id get accumulated in : Linked hash map of UpdateLog (variable name as olddeletes). Once this map : is full then we are seeing out of memory.
first off: what version of Solr are you running? UpdateLog.oldDeletes is bounded at numDeletesToKeep=1000 entries -- any more then that and the oldest entry is automatically deleted when more items are added. So it doesn't really make sense to me that you would be seeing OOMs from this map filling up endlessly. Are you seeing more then 1000 entries in this map when you look at your heap dumps? : I am not sure why it is keeping the reference of all old deletes. It's complicated -- the short answer is that it's protection against out of order updates ariving from other nodes in SolrCloud under highly concurrent updates. -Hoss http://www.lucidworks.com/