Nouveau fixes - #6096
Conversation
| } | ||
|
|
||
| searcherManager.maybeRefreshBlocking(); | ||
| if (searcherManagerStale.getAndSet(false)) { |
There was a problem hiding this comment.
This seems racy if say after an update? A first search call triggers getAndSet(false) but then a concurrent, second search won't block anymore even if the first one hadn't finished updating?
|
|
||
| private final ConcurrentMap<String, Type> map; | ||
|
|
||
| private final ConcurrentMap<Locale, Map<String, PointsConfig>> pointsConfigCache = new ConcurrentHashMap<>(); |
There was a problem hiding this comment.
This is caching a locale => number format instances to share between client calls?
Since it seem to be shared I checked https://lucene.apache.org/core/10_5_0/queryparser/org/apache/lucene/queryparser/flexible/standard/config/PointsConfig.html and it doesn't mention any synchronization safety but the number format warns about using them in different threads https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/text/NumberFormat.html#synchronization maybe it need a lock or if you looked and think it's fine it's ok. I am just going by superficial impressions and docs
Overview
Selection of small fixes
Testing recommendations
covered by existing tests, these changes have no visible effect.
Related Issues or Pull Requests
N/A
Checklist
rel/overlay/etc/default.inisrc/docsfolder