Page 1 of 1
Startup Error - Maximum size of rule reached
Posted: Mon Feb 18, 2013 9:07 am
by failurehappening
Hi
We're working with 10.1.1 and have been creating Links between 2 cubes. This then creates rules to pull the data into the destination cube
Code: Select all
#Region Link rule: CUBE001 > CUBE002 - Numeric
#Source cube: CUBE001
#Target cube: CUBE002
#Autogenerated LINK NUMERIC 7D4C696E6B5F476C6F62616C204167677265676174696F6E732053746174697374696373205F334520576F726B20427265616B646F776E20537472756374757265
Then a load of system generated lines of rules
It fails about 3/4 of the way through this rule with the Error - Maximum size if rule reached. Rule could not be attached to the cube, but the changes were saved. There are 52,585 chars up to and including the line that is failing, with 12,694 chars remaining after that line.
My question is how big can a single rule be? Secondly, is there anyway of modifying the way the auto generated rules are written?
Thanks
Re: Startup Error - Maximum size of rule reached
Posted: Mon Feb 18, 2013 10:02 am
by rozef
Hi,
I never count the number of chars that a rule can contain but it happens to me only with huge rule.
You can fix it if you seperate your rule in several rules. You must probably have IF statements that can use to divide you rule.
I never used the code generation so I can't respond to your second question.
Re: Startup Error - Maximum size of rule reached
Posted: Mon Feb 18, 2013 11:00 am
by Duncan P
Could you post the whole rule? There are a number of different things that can cause an auto-generated rule to be very large. If the actual cause can be identified it may be possible to suggest a workaround.
Posting screen shots of the link UI may be helpful as well, particularly those bits that are matching large dimensions from the source.
Re: Startup Error - Maximum size of rule reached
Posted: Tue Feb 19, 2013 4:20 am
by failurehappening
Rozef - We're unable to update the rule as it is generated as part of the creation of a link from the lovely and efficient Performance Modeller
Duncan - Here is the generated rule, it's not something I created, just something I have to support....
Code: Select all
I can't load the code, ironically it's too long for this reply... See attachment
[i]Your message contains 65104 characters. The maximum number of allowed characters is 60000.[/i]
Thanks
Re: Startup Error - Maximum size of rule reached
Posted: Tue Feb 19, 2013 6:25 am
by Duncan P
In the rule there are 360 DB statements that add up all possible combinations of 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 from DIM_A, XXXX1010 XXXX1090 XXXX8305 XXXX9010 XXXX400 XXXX120 from DIM_B and XXXX120 XXXX400 XXXX310 from DIM_C, where DIM_A, DIM_B and DIM_C are the dimensions following !Version in the source cube.
If you create a consolidation for each of those groups of items and select only that consolidation on each of those dimensions it will have the same effect and it will only generate one DB statement.
Re: Startup Error - Maximum size of rule reached
Posted: Tue Feb 19, 2013 6:51 am
by failurehappening
Thanks Duncan - I'll give that a bash
Re: Startup Error - Maximum size of rule reached
Posted: Tue Feb 19, 2013 7:38 am
by failurehappening
Hi Duncan - wouldn't adding a consolidation defeat the purpose of an accumulation link?
Re: Startup Error - Maximum size of rule reached
Posted: Tue Feb 19, 2013 8:39 am
by Duncan P
A consolidation link has two parts.
Firstly it creates an intermediate cube with the same dimensions as the source but with an additional dimension for each of the picklist dimensions used in the link. It defines a rule in this cube to ensure that each data item in the source goes into the appropriate cell in the intermediate, as selected by the values in the picklist cells.
Secondly it creates a rule in the target that pulls it's values not from the source but from the intermediate. It is in this rule that the consolidation occurs. If you choose a consolidated item in your link it is in this rule that it is used in the DB statement. So the consolidation occurs independently of the picklist dimensions.
Try it.
Re: Startup Error - Maximum size of rule reached
Posted: Fri Feb 22, 2013 7:23 am
by failurehappening
In the end we decided that because the link was going to be static and not changing, we'd replace it with a more succinct one:
Code: Select all
#Region Link rule: CUBE001 > CUBE002 - Numeric
#Source cube: CUBE001
#Target cube: CUBE002
#Autogenerated LINK NUMERIC 7D4C696E6B5F476C6F62616C204167677265676174696F6E732053746174697374696373205F334520576F726B20427265616B646F776E20537472756374757265
['Data Source':'Input', 'Currency':'20', 'Measure1':'Measure2'] = N:
IF(
DIMIX('DIM1',!WBS) <> 0 &
DIMIX('DIM2',!Account) <> 0 &
DIMIX('DIM3', !Period) <> 0
,
(DB('}ICube_}Link_CUBE001 _ CUBE002',!DIM1, !DIM2, !DIM3, !DIM4, 'DIM5', 'DIM6', 'DIM7', !DIM8))
,
CONTINUE
);
Which now gets processed correctly, not ideal as if anyone changes the link then it will get blown away...
Re: Startup Error - Maximum size of rule reached
Posted: Fri Feb 22, 2013 12:52 pm
by whitej_d
There's been 2 of these recently and it seems that both of them were not related to an actual limit in the size of a rule file, but a limit in the size of an actual rule within a rule file.
Both cases seem to be linked to the size of the stack rather than the actual physical length of the rule.
I'm making a rough conclusion that the 'MAXIMUM SIZE OF RULE REACHED' is just a replacement for what was a Stack Overflow. Anyone know anything to verify this?
Re: Startup Error - Maximum size of rule reached
Posted: Sat Feb 23, 2013 5:22 am
by Alan Kirk
whitej_d wrote:I'm making a rough conclusion that the 'MAXIMUM SIZE OF RULE REACHED' is just a replacement for what was a Stack Overflow. Anyone know anything to verify this?
Unlikely, considering that in the other thread (that I'd guess you're referring to) I found that the error that I was getting was indeed Stack Overflow. That was in 10.1 so it definitely hasn't been replaced.
Re: Startup Error - Maximum size of rule reached
Posted: Mon Feb 25, 2013 1:12 am
by failurehappening
I can confirm that we as well as the maximum size of rule reached we are also getting:
Code: Select all
TM1.Server Stack overflow evaluating feeders. Starting cell:
There are no nested IF's in the maximum size error, it's just a huge system generated rule