[
https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16274529#comment-16274529
]
Alexey Kuznetsov commented on IGNITE-6846:
------------------------------------------
[~vkulichenko]
"8. And once again, it should be consistent with other operations Invoke is a
regular cache operation; the only difference is that it can do both read and
update/remove in one go. Let's not overcomplicate this."
Imagine, we perform regular get operation.The value would be extracted from
near cache on the same node.As a result 'get' metric would be incremented on
local node.
Now, consider performing invoke:
{code:java}
cache0.invoke(i, new CacheEntryProcessor<Integer, Integer,
Object>() {
@Override public Object process(MutableEntry<Integer,
Integer> entry,
Object... arguments) throws EntryProcessorException {
entry.getValue();
return null;
}
});
{code}
It would be executed on primary node(a-priory), and 'read-only invoke' metric
must be incremented on primary node only(not on local node!).
So, how could they be consistent with each other?
> Add metrics for entry processor invocations
> -------------------------------------------
>
> Key: IGNITE-6846
> URL: https://issues.apache.org/jira/browse/IGNITE-6846
> Project: Ignite
> Issue Type: Improvement
> Components: cache
> Affects Versions: 2.3
> Reporter: Valentin Kulichenko
> Assignee: Alexey Kuznetsov
> Priority: Critical
> Labels: iep-6
> Fix For: 2.4
>
>
> {{CacheMetrics}} object has multiple metrics for various cache operations
> like {{get}}, {{put}} and {{remove}}, but nothing for
> {{invoke}}/{{EntryProcessor}}. It makes sense to add such metrics, for
> example:
> * Total number of `invoke` operations executed.
> * Number of `invoke` operations that included updates.
> * Number of read-only `invoke` operations.
> * Min/max/avg execution time.
> * ...
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)