[infinispan-issues] [JBoss JIRA] (ISPN-7338) Don't send RemoveExpiredCommand when no expiration listeners are registered
Radim Vansa (JIRA)
issues at jboss.org
Fri Jan 6 10:39:01 EST 2017
[ https://issues.jboss.org/browse/ISPN-7338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Radim Vansa updated ISPN-7338:
------------------------------
Labels: performance (was: )
> Don't send RemoveExpiredCommand when no expiration listeners are registered
> ---------------------------------------------------------------------------
>
> Key: ISPN-7338
> URL: https://issues.jboss.org/browse/ISPN-7338
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Affects Versions: 9.0.0.Beta1
> Reporter: Radim Vansa
> Assignee: William Burns
> Labels: performance
>
> Currently dist and repl caches send {{RemoveExpiredCommand}} for each expired entry. That causes unnecessary overhead when there are no expiration listeners registered (expiring the entry at ~same moment on all nodes does not provide too much benefit without listeners).
> As the command is executed in async thread and locks the entry, in can introduce extra delay to following write operation (or fail it if this has {{Flag.ZERO_LOCK_ACQUISITION_TIMEOUT}}).
> There is a way to prevent the command using {{ExpirationManager.registerIncomingWrite}} but as this is implemented using a CHM write, it will cause non-trivial overhead and possible contention as well, even in cases the entry is not expired.
> The only viable workaround ATM is replacing {{ClusterExpirationManager}} with {{ExpirationManagerImpl}} in component registry manually.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the infinispan-issues
mailing list