pawel-bugalski-dynatrace opened a new pull request #8:
URL: https://github.com/apache/lucene/pull/8


   # Description
   
   Removes `scratch1` field in `BytesRefHash` by accessing underlying bytes 
pool directly
   in `equals` method. As a result it is now possible to call 
`BytesRefHash#find`
   concurrently as long as there are no concurrent modifications to 
BytesRefHash instance
   and it is correctly published.
   
   This addresses the concurrency issue with Monitor (aka Luwak) since it
   is using `BytesRefHash#find` concurrently without additional synchronization.
   
   # Solution
   
   Remove unnecessary state from `BytesRefHash` so that non-mutating find 
method behaves similar
   to `HashMap`'s get/containsKey.
   
   # Tests
   
   Added a new unit test that reproduces a problem.
   
   # Checklist
   
   Please review the following and check all that apply:
   
   - [x] I have reviewed the guidelines for [How to 
Contribute](https://wiki.apache.org/lucene/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 Lucene 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`.
   - [x] I have added tests for my changes.
   
   # Issue link
   https://issues.apache.org/jira/browse/LUCENE-9791
   
   
   


----------------------------------------------------------------
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.

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



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

Reply via email to