Github user franz1981 commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/1851#discussion_r170185326
--- Diff:
artemis-commons/src/main/java/org/apache/activemq/artemis/utils/collections/ConcurrentLongHashMap.java
---
@@ -457,11 +459,11 @@ private void rehash() {
}
}
- capacity = newCapacity;
keys = newKeys;
values = newValues;
usedBuckets = size;
- resizeThreshold = (int) (capacity * MapFillFactor);
+ capacityUpdater.lazySet(this, newCapacity);
+ resizeThreshold = (int) (newCapacity * MapFillFactor);
--- End diff --
`capacityUpdater.lazySet` is store-releasing `keys` , `values`,
`usedBuckets`, but not `resizeThreshold`: that means that the `resizeThreshold`
store could be happen before the update of the `capacity`, is it correct?
---