[
https://issues.apache.org/jira/browse/IGNITE-3227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15339657#comment-15339657
]
Ilya Lantukh edited comment on IGNITE-3227 at 6/27/16 3:03 PM:
---------------------------------------------------------------
Hi Saikat,
I don't think that implementation of GridCacheAdapter#localSizeLong(int
partition, CachePeekMode[] peekModes) is correct. Currently it will count all
local entries, even from other partitions.
To obtain partition size, you should use GridDhtLocalPartition#publicSize()
method. It also has methods to check whether partition is primary or backup for
a given topology version. An instance of GridDhtLocalPartition can be accessed
from GridCacheAdapter by calling {code}ctx.topology().localPartition(int p,
AffinityTopologyVersion topVer, boolean create){code}.
To count entries in swap and offheap, methods
GridCacheSwapManager#swapEntriesCount(int partId) and
GridCacheSwapManager#offheapEntriesCount(int partId) should be used,
respectively.
was (Author: ilantukh):
Hi [~saikatr],
I don't think that implementation of GridCacheAdapter#localSizeLong(int
partition, CachePeekMode[] peekModes) is correct. Currently it will count all
local entries, even from other partitions.
To obtain partition size, you should use GridDhtLocalPartition#publicSize()
method. It also has methods to check whether partition is primary or backup for
a given topology version. An instance of GridDhtLocalPartition can be accessed
from GridCacheAdapter by calling {code}ctx.topology().localPartition(int p,
AffinityTopologyVersion topVer, boolean create){code}.
To count entries in swap and offheap, methods
GridCacheSwapManager#swapEntriesCount(int partId) and
GridCacheSwapManager#offheapEntriesCount(int partId) should be used,
respectively.
> IgniteCache: add method to calculate size per partition
> -------------------------------------------------------
>
> Key: IGNITE-3227
> URL: https://issues.apache.org/jira/browse/IGNITE-3227
> Project: Ignite
> Issue Type: Improvement
> Reporter: Denis Magda
> Assignee: Saikat Maitra
> Labels: community, important
>
> It makes sense to add size calculation per partition. Actually the following
> methods should be added to the {{IgniteCache}} API.
> {code}
> public int size(int partition, CachePeekMode... peekModes) throws
> CacheException;
> public int localSize(int partition, CachePeekMode... peekModes);
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)