You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ilya Lantukh (JIRA)" <ji...@apache.org> on 2016/06/27 15:03:52 UTC

[jira] [Comment Edited] (IGNITE-3227) IgniteCache: add method to calculate size per partition

    [ 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)