You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexand Polyakov (JIRA)" <ji...@apache.org> on 2019/01/12 23:46:00 UTC

[jira] [Comment Edited] (IGNITE-6564) Incorrect calculation size and keySize for cluster cache metrics

    [ https://issues.apache.org/jira/browse/IGNITE-6564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16729298#comment-16729298 ] 

Alexand Polyakov edited comment on IGNITE-6564 at 1/12/19 11:45 PM:
--------------------------------------------------------------------

left three open questions
 * are the counters correctly evaluated in CacheMetricsEntitiesCountTest
||Cache||Size||offHeapEntriesCnt||offHeapPrimaryEntriesCnt||offHeapBackupEntriesCnt||heapEntriesCnt||
|CacheMode = REPLICATED|cacheSize|cacheSize * GRID_CNT|cacheSize|cacheSize * (GRID_CNT - 1)|0|
|CacheMode = PARTITIONED, Backups = 1|cacheSize|cacheSize * 2|cacheSize|cacheSize|0|
|CacheMode = PARTITIONED, Backups = 1, NearCache|cacheSize|cacheSize * 2|cacheSize|cacheSize|216|
|CacheMode = PARTITIONED, Backups = 1, OnheapCache|cacheSize|cacheSize * 2|cacheSize|cacheSize|cacheSize * 2|
|CacheMode = LOCAL|cacheSize|cacheSize|cacheSize|0|0|

 * how to calculate heapsize for NearCache, set the value obtained empirically 216
 * how the assessment is carried out in the checkCache method (clarification is needed, since the calculated and actual figures differ from the theoretical ones)

{noformat}
Checking cache,  igniteIdx=0, cacheIdx=0 
igniteIdx=0, cacheIdx=0  offHeapEntriesCnt offHeapEntriesCnt:300 metrics.getOffHeapEntriesCount(): 300
igniteIdx=0, cacheIdx=0  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:210 metrics.getOffHeapBackupEntriesCount(): 210
igniteIdx=0, cacheIdx=0  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:90 metrics.getOffHeapPrimaryEntriesCount(): 90
igniteIdx=0, cacheIdx=0  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=0, cacheIdx=0  CacheSize cache:300 metrics.getCacheSize(): 90
Checking cache,  igniteIdx=0, cacheIdx=1 
igniteIdx=0, cacheIdx=1  offHeapEntriesCnt offHeapEntriesCnt:187 metrics.getOffHeapEntriesCount(): 187
igniteIdx=0, cacheIdx=1  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:101 metrics.getOffHeapBackupEntriesCount(): 101
igniteIdx=0, cacheIdx=1  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:86 metrics.getOffHeapPrimaryEntriesCount(): 86
igniteIdx=0, cacheIdx=1  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=0, cacheIdx=1  CacheSize cache:187 metrics.getCacheSize(): 86
Checking cache,  igniteIdx=0, cacheIdx=2 
igniteIdx=0, cacheIdx=2  offHeapEntriesCnt offHeapEntriesCnt:187 metrics.getOffHeapEntriesCount(): 187
igniteIdx=0, cacheIdx=2  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:101 metrics.getOffHeapBackupEntriesCount(): 101
igniteIdx=0, cacheIdx=2  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:86 metrics.getOffHeapPrimaryEntriesCount(): 86
igniteIdx=0, cacheIdx=2  heapEntriesCnt heapEntriesCnt:67 metrics.getHeapEntriesCount(): 67
igniteIdx=0, cacheIdx=2  CacheSize cache:225 metrics.getCacheSize(): 86
Checking cache,  igniteIdx=0, cacheIdx=3 
igniteIdx=0, cacheIdx=3  offHeapEntriesCnt offHeapEntriesCnt:100 metrics.getOffHeapEntriesCount(): 100
igniteIdx=0, cacheIdx=3  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:100 metrics.getOffHeapBackupEntriesCount(): 0
igniteIdx=0, cacheIdx=3  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:100 metrics.getOffHeapPrimaryEntriesCount(): 100
igniteIdx=0, cacheIdx=3  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=0, cacheIdx=3  CacheSize cache:0 metrics.getCacheSize(): 100
Checking cache,  igniteIdx=1, cacheIdx=0 
igniteIdx=1, cacheIdx=0  offHeapEntriesCnt offHeapEntriesCnt:300 metrics.getOffHeapEntriesCount(): 300
igniteIdx=1, cacheIdx=0  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:195 metrics.getOffHeapBackupEntriesCount(): 195
igniteIdx=1, cacheIdx=0  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:105 metrics.getOffHeapPrimaryEntriesCount(): 105
igniteIdx=1, cacheIdx=0  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=1, cacheIdx=0  CacheSize cache:300 metrics.getCacheSize(): 105
Checking cache,  igniteIdx=1, cacheIdx=1 
igniteIdx=1, cacheIdx=1  offHeapEntriesCnt offHeapEntriesCnt:205 metrics.getOffHeapEntriesCount(): 205
igniteIdx=1, cacheIdx=1  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:97 metrics.getOffHeapBackupEntriesCount(): 97
igniteIdx=1, cacheIdx=1  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:108 metrics.getOffHeapPrimaryEntriesCount(): 108
igniteIdx=1, cacheIdx=1  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=1, cacheIdx=1  CacheSize cache:205 metrics.getCacheSize(): 108
Checking cache,  igniteIdx=1, cacheIdx=2 
igniteIdx=1, cacheIdx=2  offHeapEntriesCnt offHeapEntriesCnt:205 metrics.getOffHeapEntriesCount(): 205
igniteIdx=1, cacheIdx=2  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:97 metrics.getOffHeapBackupEntriesCount(): 97
igniteIdx=1, cacheIdx=2  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:108 metrics.getOffHeapPrimaryEntriesCount(): 108
igniteIdx=1, cacheIdx=2  heapEntriesCnt heapEntriesCnt:76 metrics.getHeapEntriesCount(): 76
igniteIdx=1, cacheIdx=2  CacheSize cache:238 metrics.getCacheSize(): 108
Checking cache,  igniteIdx=1, cacheIdx=3 
igniteIdx=1, cacheIdx=3  offHeapEntriesCnt offHeapEntriesCnt:100 metrics.getOffHeapEntriesCount(): 100
igniteIdx=1, cacheIdx=3  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:100 metrics.getOffHeapBackupEntriesCount(): 0
igniteIdx=1, cacheIdx=3  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:100 metrics.getOffHeapPrimaryEntriesCount(): 100
igniteIdx=1, cacheIdx=3  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=1, cacheIdx=3  CacheSize cache:0 metrics.getCacheSize(): 100
Checking cache,  igniteIdx=2, cacheIdx=0 
igniteIdx=2, cacheIdx=0  offHeapEntriesCnt offHeapEntriesCnt:300 metrics.getOffHeapEntriesCount(): 300
igniteIdx=2, cacheIdx=0  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:195 metrics.getOffHeapBackupEntriesCount(): 195
igniteIdx=2, cacheIdx=0  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:105 metrics.getOffHeapPrimaryEntriesCount(): 105
igniteIdx=2, cacheIdx=0  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=2, cacheIdx=0  CacheSize cache:300 metrics.getCacheSize(): 105
Checking cache,  igniteIdx=2, cacheIdx=1 
igniteIdx=2, cacheIdx=1  offHeapEntriesCnt offHeapEntriesCnt:208 metrics.getOffHeapEntriesCount(): 208
igniteIdx=2, cacheIdx=1  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:102 metrics.getOffHeapBackupEntriesCount(): 102
igniteIdx=2, cacheIdx=1  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:106 metrics.getOffHeapPrimaryEntriesCount(): 106
igniteIdx=2, cacheIdx=1  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=2, cacheIdx=1  CacheSize cache:208 metrics.getCacheSize(): 106
Checking cache,  igniteIdx=2, cacheIdx=2 
igniteIdx=2, cacheIdx=2  offHeapEntriesCnt offHeapEntriesCnt:208 metrics.getOffHeapEntriesCount(): 208
igniteIdx=2, cacheIdx=2  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:102 metrics.getOffHeapBackupEntriesCount(): 102
igniteIdx=2, cacheIdx=2  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:106 metrics.getOffHeapPrimaryEntriesCount(): 106
igniteIdx=2, cacheIdx=2  heapEntriesCnt heapEntriesCnt:73 metrics.getHeapEntriesCount(): 73
igniteIdx=2, cacheIdx=2  CacheSize cache:245 metrics.getCacheSize(): 106
Checking cache,  igniteIdx=2, cacheIdx=3 
igniteIdx=2, cacheIdx=3  offHeapEntriesCnt offHeapEntriesCnt:100 metrics.getOffHeapEntriesCount(): 100
igniteIdx=2, cacheIdx=3  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:100 metrics.getOffHeapBackupEntriesCount(): 0
igniteIdx=2, cacheIdx=3  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:100 metrics.getOffHeapPrimaryEntriesCount(): 100
igniteIdx=2, cacheIdx=3  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=2, cacheIdx=3  CacheSize cache:0 metrics.getCacheSize(): 100
{noformat}


was (Author: a-polyakov):
left three open questions
* are the counters correctly evaluated in CacheMetricsEntitiesCountTest
||Cache||Size||offHeapEntriesCnt||offHeapPrimaryEntriesCnt||offHeapBackupEntriesCnt||heapEntriesCnt||
|CacheMode = REPLICATED|cacheSize|cacheSize * GRID_CNT|cacheSize|cacheSize * (GRID_CNT - 1)|0|
|CacheMode = PARTITIONED, Backups = 1|cacheSize|cacheSize * 2|cacheSize|cacheSize|0|
|CacheMode = PARTITIONED, Backups = 1, NearCache|cacheSize|cacheSize * 2|cacheSize|cacheSize|216|
|CacheMode = LOCAL|cacheSize|cacheSize|cacheSize|0|0|

* how to calculate heapsize for NearCache, set the value obtained empirically 216
* how the assessment is carried out in the checkCache method (clarification is needed, since the calculated and actual figures differ from the theoretical ones)

{noformat}
Checking cache,  igniteIdx=0, cacheIdx=0 
igniteIdx=0, cacheIdx=0  offHeapEntriesCnt offHeapEntriesCnt:300 metrics.getOffHeapEntriesCount(): 300
igniteIdx=0, cacheIdx=0  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:210 metrics.getOffHeapBackupEntriesCount(): 210
igniteIdx=0, cacheIdx=0  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:90 metrics.getOffHeapPrimaryEntriesCount(): 90
igniteIdx=0, cacheIdx=0  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=0, cacheIdx=0  CacheSize cache:300 metrics.getCacheSize(): 90
Checking cache,  igniteIdx=0, cacheIdx=1 
igniteIdx=0, cacheIdx=1  offHeapEntriesCnt offHeapEntriesCnt:187 metrics.getOffHeapEntriesCount(): 187
igniteIdx=0, cacheIdx=1  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:101 metrics.getOffHeapBackupEntriesCount(): 101
igniteIdx=0, cacheIdx=1  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:86 metrics.getOffHeapPrimaryEntriesCount(): 86
igniteIdx=0, cacheIdx=1  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=0, cacheIdx=1  CacheSize cache:187 metrics.getCacheSize(): 86
Checking cache,  igniteIdx=0, cacheIdx=2 
igniteIdx=0, cacheIdx=2  offHeapEntriesCnt offHeapEntriesCnt:187 metrics.getOffHeapEntriesCount(): 187
igniteIdx=0, cacheIdx=2  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:101 metrics.getOffHeapBackupEntriesCount(): 101
igniteIdx=0, cacheIdx=2  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:86 metrics.getOffHeapPrimaryEntriesCount(): 86
igniteIdx=0, cacheIdx=2  heapEntriesCnt heapEntriesCnt:67 metrics.getHeapEntriesCount(): 67
igniteIdx=0, cacheIdx=2  CacheSize cache:225 metrics.getCacheSize(): 86
Checking cache,  igniteIdx=0, cacheIdx=3 
igniteIdx=0, cacheIdx=3  offHeapEntriesCnt offHeapEntriesCnt:100 metrics.getOffHeapEntriesCount(): 100
igniteIdx=0, cacheIdx=3  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:100 metrics.getOffHeapBackupEntriesCount(): 0
igniteIdx=0, cacheIdx=3  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:100 metrics.getOffHeapPrimaryEntriesCount(): 100
igniteIdx=0, cacheIdx=3  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=0, cacheIdx=3  CacheSize cache:0 metrics.getCacheSize(): 100
Checking cache,  igniteIdx=1, cacheIdx=0 
igniteIdx=1, cacheIdx=0  offHeapEntriesCnt offHeapEntriesCnt:300 metrics.getOffHeapEntriesCount(): 300
igniteIdx=1, cacheIdx=0  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:195 metrics.getOffHeapBackupEntriesCount(): 195
igniteIdx=1, cacheIdx=0  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:105 metrics.getOffHeapPrimaryEntriesCount(): 105
igniteIdx=1, cacheIdx=0  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=1, cacheIdx=0  CacheSize cache:300 metrics.getCacheSize(): 105
Checking cache,  igniteIdx=1, cacheIdx=1 
igniteIdx=1, cacheIdx=1  offHeapEntriesCnt offHeapEntriesCnt:205 metrics.getOffHeapEntriesCount(): 205
igniteIdx=1, cacheIdx=1  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:97 metrics.getOffHeapBackupEntriesCount(): 97
igniteIdx=1, cacheIdx=1  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:108 metrics.getOffHeapPrimaryEntriesCount(): 108
igniteIdx=1, cacheIdx=1  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=1, cacheIdx=1  CacheSize cache:205 metrics.getCacheSize(): 108
Checking cache,  igniteIdx=1, cacheIdx=2 
igniteIdx=1, cacheIdx=2  offHeapEntriesCnt offHeapEntriesCnt:205 metrics.getOffHeapEntriesCount(): 205
igniteIdx=1, cacheIdx=2  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:97 metrics.getOffHeapBackupEntriesCount(): 97
igniteIdx=1, cacheIdx=2  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:108 metrics.getOffHeapPrimaryEntriesCount(): 108
igniteIdx=1, cacheIdx=2  heapEntriesCnt heapEntriesCnt:76 metrics.getHeapEntriesCount(): 76
igniteIdx=1, cacheIdx=2  CacheSize cache:238 metrics.getCacheSize(): 108
Checking cache,  igniteIdx=1, cacheIdx=3 
igniteIdx=1, cacheIdx=3  offHeapEntriesCnt offHeapEntriesCnt:100 metrics.getOffHeapEntriesCount(): 100
igniteIdx=1, cacheIdx=3  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:100 metrics.getOffHeapBackupEntriesCount(): 0
igniteIdx=1, cacheIdx=3  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:100 metrics.getOffHeapPrimaryEntriesCount(): 100
igniteIdx=1, cacheIdx=3  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=1, cacheIdx=3  CacheSize cache:0 metrics.getCacheSize(): 100
Checking cache,  igniteIdx=2, cacheIdx=0 
igniteIdx=2, cacheIdx=0  offHeapEntriesCnt offHeapEntriesCnt:300 metrics.getOffHeapEntriesCount(): 300
igniteIdx=2, cacheIdx=0  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:195 metrics.getOffHeapBackupEntriesCount(): 195
igniteIdx=2, cacheIdx=0  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:105 metrics.getOffHeapPrimaryEntriesCount(): 105
igniteIdx=2, cacheIdx=0  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=2, cacheIdx=0  CacheSize cache:300 metrics.getCacheSize(): 105
Checking cache,  igniteIdx=2, cacheIdx=1 
igniteIdx=2, cacheIdx=1  offHeapEntriesCnt offHeapEntriesCnt:208 metrics.getOffHeapEntriesCount(): 208
igniteIdx=2, cacheIdx=1  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:102 metrics.getOffHeapBackupEntriesCount(): 102
igniteIdx=2, cacheIdx=1  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:106 metrics.getOffHeapPrimaryEntriesCount(): 106
igniteIdx=2, cacheIdx=1  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=2, cacheIdx=1  CacheSize cache:208 metrics.getCacheSize(): 106
Checking cache,  igniteIdx=2, cacheIdx=2 
igniteIdx=2, cacheIdx=2  offHeapEntriesCnt offHeapEntriesCnt:208 metrics.getOffHeapEntriesCount(): 208
igniteIdx=2, cacheIdx=2  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:102 metrics.getOffHeapBackupEntriesCount(): 102
igniteIdx=2, cacheIdx=2  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:106 metrics.getOffHeapPrimaryEntriesCount(): 106
igniteIdx=2, cacheIdx=2  heapEntriesCnt heapEntriesCnt:73 metrics.getHeapEntriesCount(): 73
igniteIdx=2, cacheIdx=2  CacheSize cache:245 metrics.getCacheSize(): 106
Checking cache,  igniteIdx=2, cacheIdx=3 
igniteIdx=2, cacheIdx=3  offHeapEntriesCnt offHeapEntriesCnt:100 metrics.getOffHeapEntriesCount(): 100
igniteIdx=2, cacheIdx=3  offHeapBackupEntriesCnt offHeapBackupEntriesCnt:100 metrics.getOffHeapBackupEntriesCount(): 0
igniteIdx=2, cacheIdx=3  offHeapPrimaryEntriesCnt offHeapPrimaryEntriesCnt:100 metrics.getOffHeapPrimaryEntriesCount(): 100
igniteIdx=2, cacheIdx=3  heapEntriesCnt heapEntriesCnt:0 metrics.getHeapEntriesCount(): 0
igniteIdx=2, cacheIdx=3  CacheSize cache:0 metrics.getCacheSize(): 100
{noformat}


> Incorrect calculation size and keySize for cluster cache metrics
> ----------------------------------------------------------------
>
>                 Key: IGNITE-6564
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6564
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.2
>            Reporter: Ilya Kasnacheev
>            Assignee: Alexand Polyakov
>            Priority: Minor
>              Labels: iep-6
>
> They are currently not passed by ring and therefore only taken from current node, which returns incorrect (local) value.
> See CacheMetricsSnapshot class.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)