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)