Andrey Mashenkov created IGNITE-24166:
-----------------------------------------
Summary: EventLog. Fix ChannelRegistry implementation performance
issues.
Key: IGNITE-24166
URL: https://issues.apache.org/jira/browse/IGNITE-24166
Project: Ignite
Issue Type: Bug
Reporter: Andrey Mashenkov
Every `EventLogImpl.log()` method call causes
`ConfigurationBasedChannelRegistry.findAllChannelsByEventType()` call on the
hot path.
The last one may return a copy of cached collection, which is designed to be
immutable, by no reason.
The cache is updated from another thread when cluster configuration changed,
which is rarely happened.
A new caches can be constructed outside the lock, and just replaced with new
instances under the lock.
Let's implement copy-on-write properly.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)