keith-turner commented on code in PR #6052:
URL: https://github.com/apache/accumulo/pull/6052#discussion_r2687443215
##########
core/src/main/java/org/apache/accumulo/core/conf/ConfigurationCopy.java:
##########
@@ -74,9 +74,11 @@ public String get(Property property) {
@Override
public void getProperties(Map<String,String> props, Predicate<String>
filter) {
- for (Entry<String,String> entry : copy.entrySet()) {
- if (filter.test(entry.getKey())) {
- props.put(entry.getKey(), entry.getValue());
+ synchronized (copy) {
Review Comment:
Looking at the javadoc it mentions the following
```
* It is imperative that the user manually synchronize on the returned
* collection when traversing it via {@link Iterator}, {@link
Spliterator}
* or {@link Stream}:
```
One way to read that documentation is that manual sync is only needed when
doing those three specific operations and all other methods (including forEach)
on the interface do not require sync. So maybe the javadoc is kinda correct.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]