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)

Reply via email to