tboeghk opened a new pull request, #1118:
URL: https://github.com/apache/solr/pull/1118

   # Description
   
   Under heavy machine load, accessing any Solr CaffeineCache can lead to 
threads spinning in an endless loop. In our setup we had machines spinning at 
70% cpu load without receiving any request for hours.
   
   # Solution
   
   The problem is caused by delegating the `SolrCache#put` method to 
`Cache#asMap#put` Under heavy machine load with concurrent read and write 
access to the same key, the `ConcurrentHashMap#put` method does not terminate 
an endless loop.
   
   # Tests
   
   The behavior happens under heavy load when the cache is under congestion and 
read / write access is happening in different threads. We had this small fix 
live for a couple of weeks now without any stuck threads.
   
   # Checklist
   
   Please review the following and check all that apply:
   
   - [x] I have reviewed the guidelines for [How to 
Contribute](https://wiki.apache.org/solr/HowToContribute) and my code conforms 
to the standards described there to the best of my ability.
   - [x] I have created a Jira issue and added the issue ID to my pull request 
title.
   - [x] I have given Solr maintainers 
[access](https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork)
 to contribute to my PR branch. (optional but recommended)
   - [x] I have developed this patch against the `main` branch.
   - [x] I have run `./gradlew check`.
   - [ ] I have added tests for my changes.
   - [ ] I have added documentation for the [Reference 
Guide](https://github.com/apache/solr/tree/main/solr/solr-ref-guide)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to