This discussion is archived
7 Replies Latest reply: Nov 22, 2012 11:39 PM by i_need_a_FIX RSS

Error 1012700 CalcLockBlock Setting too low

user470945 Newbie
Currently Being Moderated
Hi Gurus

Whenever I trigger a calc script in my HP app.

I kept on receiving the following error:

Error: 1012700 The dynamic calc processor cannot allocate more than [6315] blocks from the heap. Either the CalcLockBlock setting is too low or the data cache size setting is too low. Increase CalcLockBlock setting or the data cache size setting and then retry

I have actually done the following for several times;

1. In Administration Console, I have; increased Data Cache;
Data Cache Setting (KB) 10000000
Block Size (B) 810720

2. In the essbase.cfg I have the following;

CALCLOCKBLOCKHIGH 8000
CALCLOCKBLOCKDEFAULT 7000
CALCLOCKBLOCKLOW 100

I have actually increased these properties several times, but I am still getting the above error, I am getting a bit hesitant in kept on increasing the calclockblock maximum limit.

Is this normal?

Please advise! this is pretty urgent!
  • 1. Re: Error 1012700 CalcLockBlock Setting too low
    dwhpc Journeyer
    Currently Being Moderated
    Hi,

    Try to increase the data cache from the database properties for the corresponding application and restart the server.

    Did you restarted the Essbase server after changed the .cfg settings and data caches? If yes means, is it possible to post the calc script file which currently you getting the error.

    Thanks
  • 2. Re: Error 1012700 CalcLockBlock Setting too low
    user470945 Newbie
    Currently Being Moderated
    Hi

    Thanks for your response.

    I have increased the data cache for several times and restarted essbase server everytime, but I kept on getting that error.

    I have got a dimension which contains 7xxx members, would that be a reason causing this error?
  • 3. Re: Error 1012700 CalcLockBlock Setting too low
    dwhpc Journeyer
    Currently Being Moderated
    Hi,

    Could be a possibility for that... Please check and Analysis the Calculation Scripts or Business Rules which causes for the issues....

    Some times, the script will through errors, if we not handled properly... please check is there any below command is ON inside the FIX or anywhere in the Script, this should is OFF at the end of the particular point or in somewhere. If it is not handled properly, could be issue also...

    FIX () or IF ()
    SET CREATENONMISSINGBLK ON....

    Business Logic1;
    Business Logic2;
    Business Logic3;
    SET CREATENONMISSINGBLK OFF /* Always the script should close this function */

    ENDFIX or ENDIF

    Thanks
  • 4. Re: Error 1012700 CalcLockBlock Setting too low
    Journeyer Journeyer
    Currently Being Moderated
    Hi,

    Your Databse block Size is also very high, try to make dynamic calc to parent members to reduce the block size or
    try to make a dimension sparse form any one of the dense dimension if you have more dimension as dense other than
    Account and Period.

    Thanks,
    Sourabh

    Edited by: Journeyer on Nov 19, 2012 5:30 PM
  • 5. Re: Error 1012700 CalcLockBlock Setting too low
    user470945 Newbie
    Currently Being Moderated
    Just want to know, what is the sensible range in setting the data cache?

    and in best practice, what is the maximum dumber of members in a dimension?
  • 6. Re: Error 1012700 CalcLockBlock Setting too low
    Journeyer Journeyer
    Currently Being Moderated
    Hi,

    It is the simple calculation given in the oracle document which is 12.5% of the page file size.
    whereas index cache is equal to the index file size.

    There is no limit to the no. of dimensions in a dimension, but you need to check
    the block size if you are adding too much members to the dense dimensions since it will impact the
    calculation performance and retrieval issues.

    Thanks,
    Sourabh
  • 7. Re: Error 1012700 CalcLockBlock Setting too low
    i_need_a_FIX Journeyer
    Currently Being Moderated
    Hi,

    If you need to lock let's say 10000 blocks (we don't know how many yet, we only know that you need to lock more than 6315), you will need over 8.1GB of datacache.

    Either reduce the block size (500~600kb is the maximum I would recommend), either set a datacache large enough (if you are not using the latest version, you'll need to use the option MEMSCALINGFACTOR in Essbase.cfg)

    Thanks,
    JM

    Edited by: J.M. on Nov 22, 2012 11:39 PM

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points