I have some results to share.
To test, I build a dead simple cube, 'StargateCacheTest', comprised of two dimensions, 'd1' and 'd2'.
'd1' had elements 'x', 'y', and 'total' (consolidation of x&y).
'd2' had elements 'a','b','c', and 'd'.
I attached the following rule:
Code: Select all
['x']=sleep( ['y'] * 1000 );
feeders;
['y']=>['x'];
Which allowed me to force a long but small view.
I enabled the following loggers:
Code: Select all
log4j.logger.TM1.Cube.Stargate=DEBUG
log4j.logger.TM1.Cube.Stargate.Reference=INFO
log4j.logger.TM1.Cube.Invalidation=DEBUG
Version tested: 10.2 FP1
I've attached the abridge version of my log bellow, but I'll summarize first.
- Using the default setting (empty) for VMM, I opened the default view on my cube (after entering some data at 'y'.) The logs indicate that the stargate consumes 82kb, and that it is added to view storage. This indicates that the default is not 64kb (I believe it is 128kb - at least in the version I am using.)
- I then changed the VMM setting to 80.
- I invalidated my test view with some writeback, and the logs indicate that the old stargate is discarded.
- I recalculated my view and the logs did not indicate that a stargate was cached.
- Just to be sure, I switched the VMM back above the stargate's size to 85, and after invalidating and recalcing, the stargate was cached. This indicates that the VMM setting is, in fact, in terms of kb.
Code: Select all
15792 [2] DEBUG 2014-01-29 00:35:19.870 TM1.Cube.Invalidation TM1CubeImpl: Invalidating cube and dependents for cube 'StargateCacheTest'.
15792 [2] DEBUG 2014-01-29 00:35:19.870 TM1.Cube.Invalidation TM1CubeImpl::InvalidateCube: Invalidating base cube 'StargateCacheTest'.
15792 [2] DEBUG 2014-01-29 00:35:23.548 TM1.Cube.Stargate.Definition
Cube: StargateCacheTest
Cube to View dimension map:
[0,1]
[1,2]
Stargate Expanse:
Dimension: d1
Axis Selections:
[ (total,U)
, (x,U)
, (y,U)
]
Dimension: d2
Axis Selections:
[ (b,U)
, (a,U)
, (c,U)
, (d,U)
]
15792 [2] DEBUG 2014-01-29 00:35:41.704 TM1.Cube.Stargate.ViewStorage ViewStorage::AddStargate: Stargate 'StargateCacheTest:( [d1].*, [d2].* )' (0x0000000004500010) added to ViewStorage (0x0000000007A19058).
15792 [2] DEBUG 2014-01-29 00:35:41.704 TM1.Cube.Stargate New Stargate Created 'StargateCacheTest:( [d1].*, [d2].* )' (0x0000000004500010) in 18156ms SGSize=82Kb workPoolSize=0Kb hPoolSize=67Kb.
"13","20140129003612","20140129003612","Admin","S","","80","}CubeProperties","StargateCacheTest","VMM",""
#"13","20140129003612","Change set 13 complete : 1"
"14","20140129003627","20140129003627","Admin","N","1","0.7","StargateCacheTest","y","d",""
#"14","20140129003627","Change set 14 complete : 1"
15792 [2] DEBUG 2014-01-29 00:36:27.040 TM1.Cube.Invalidation TM1CubeImpl: Invalidating cube and dependents for cube 'StargateCacheTest'.
15792 [2] DEBUG 2014-01-29 00:36:27.040 TM1.Cube.Invalidation TM1CubeImpl::InvalidateCube: Invalidating base cube 'StargateCacheTest'.
15792 [2] DEBUG 2014-01-29 00:36:27.081 TM1.Cube.Stargate.ViewStorage ViewStorage::DeleteStargate: Stargate 'StargateCacheTest:( [d1].*, [d2].* )' (0x0000000004500010) removed from ViewStorage (0x0000000007A19058).
15792 [2] DEBUG 2014-01-29 00:36:37.039 TM1.Cube.Stargate.Definition
Cube: StargateCacheTest
Cube to View dimension map:
[0,1]
[1,2]
Stargate Expanse:
Dimension: d1
Axis Selections:
[ (total,U)
, (x,U)
, (y,U)
]
Dimension: d2
Axis Selections:
[ (b,U)
, (a,U)
, (c,U)
, (d,U)
]
15792 [2] DEBUG 2014-01-29 00:36:44.040 TM1.Cube.Stargate New Stargate Created 'StargateCacheTest:( [d1].*, [d2].* )' (0x00000000047C0010) in 7001ms SGSize=82Kb workPoolSize=0Kb hPoolSize=67Kb.
"15","20140129003702","20140129003702","Admin","S","80","85","}CubeProperties","StargateCacheTest","VMM",""
#"15","20140129003702","Change set 15 complete : 1"
"16","20140129003709","20140129003709","Admin","N","1","0.6","StargateCacheTest","y","c",""
#"16","20140129003709","Change set 16 complete : 1"
15792 [2] DEBUG 2014-01-29 00:37:09.591 TM1.Cube.Invalidation TM1CubeImpl: Invalidating cube and dependents for cube 'StargateCacheTest'.
15792 [2] DEBUG 2014-01-29 00:37:09.591 TM1.Cube.Invalidation TM1CubeImpl::InvalidateCube: Invalidating base cube 'StargateCacheTest'.
15792 [2] DEBUG 2014-01-29 00:37:12.248 TM1.Cube.Stargate.Definition
Cube: StargateCacheTest
Cube to View dimension map:
[0,1]
[1,2]
Stargate Expanse:
Dimension: d1
Axis Selections:
[ (total,U)
, (x,U)
, (y,U)
]
Dimension: d2
Axis Selections:
[ (b,U)
, (a,U)
, (c,U)
, (d,U)
]
15792 [2] DEBUG 2014-01-29 00:37:18.450 TM1.Cube.Stargate.ViewStorage ViewStorage::AddStargate: Stargate 'StargateCacheTest:( [d1].*, [d2].* )' (0x0000000004500010) added to ViewStorage (0x000000000BF1BD58).
15792 [2] DEBUG 2014-01-29 00:37:18.450 TM1.Cube.Stargate New Stargate Created 'StargateCacheTest:( [d1].*, [d2].* )' (0x0000000004500010) in 6201ms SGSize=82Kb workPoolSize=0Kb hPoolSize=67Kb.
This also illustrates how woefully inadequate the default setting is. My toy view with 12 cells used more than half the allotted space...