Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
crichter14
Creator II
Creator II

Load Script with 'The request exceeds the memory Limit' Error Code 19

Can someone tell me which memory limit this exceeds refers to?  I'm looking at the Qlik Cloud Guardrails and I'm not sure which one applies based on the error message.

Context:  there is a loop in the load script and I think it's eating up memory, but I don't know that.  I tried to App Analyzer and it doesn't look like we're hitting any limits.  I tried the reload analyzer, no luck there.  I'm running the document analyzer now.  

5 Replies
Frank_S
Support
Support

Not necessarily. 


If you have a large app which is complex in nature. the disk size will grow 'in memory' to a much larger size. (heavy use of calculated dimensions and highly complex formula usage. Move as many calculations to the load script as possible to mitigate.

 

You can do a performance evaluation inside your app which should give you strong indication where the issue is.

See the following.
https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/app-performance-eva...

 

The key point being, is you may need additional capacity to manage the in memory growth of your app. But again check above to help you determine where the performance issues might exist.

 

Kind regards...

 

Related Information

 

Please remember hit the 'Like' button and for helpful answers and resolutions, click on the 'Accept As Solution' button. Cheers!
crichter14
Creator II
Creator II
Author

Frank,

Since the issue is in the Load Script, does that change anything?  I am trying to run Performance Evaluation, but I haven't used it before.  Can you tell me where the results are?  i.e. is in the Qlik Analytics under Catalog or do I look somewhere else?

 

Thank you so much!

 

Frank_S
Support
Support

Hi @crichter14 

 

If I understand correctly now, then if you are trying to reload the app inside the data load editor and hitting guardrails therein, note that there is a 10 GB limit.
To limit the rows of data follow this help page:

 

To perform the complete reload you will need to do that from the analytics home/hub if your app is over 10 GB. (This is mentioned in the following article https://community.qlik.com/t5/Official-Support-Articles/Qlik-Reload-and-Task-Best-Practices/ta-p/206...

 

When reloading the app in the home/hub, you may still hit gaurdrail limits if your license doesn't have sufficient large app support to manage the in memory size of your app(s).

 

Kind regards...

 

Related information:

Debugging the data load script

 

Please remember hit the 'Like' button and for helpful answers and resolutions, click on the 'Accept As Solution' button. Cheers!
rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

I typically see an "exceeds quota" message if I exceed the quota app size limit. See 

https://qlikviewcookbook.com/2024/05/help-my-qlik-cloud-reload-exceeds-quota/

That article suggests using a limited to load to get under quota so you can tune.  However, you mentioned a loop. Is the error message coming when your loop is executing? Perhaps your loop is never ending or generating too much? If you can post the loop script perhaps we can see something. 

-Rob

crichter14
Creator II
Creator II
Author

Thanks Rob!  We have several of these, for different countries.  They seem to run through the debugger, but not a reload.  I am thinking we hit some in-application limit.  For now I'm taking this code out and doing a review.  Example snippet below.

 

//For USD
CURRENT_RANGE_USD:
GENERIC LOAD
CODE AS KEY,
CURRENT_RANGE_USD
RESIDENT CUSTOMER;
 
//SELECT ONLY THE 'CURRENT_RANGE' TABLES TO BE LEFT JOINED TO PLAN
   Set vListOfTables = ;
   For vTableNo = 0 to NoOfTables()
      Let vTableName = TableName($(vTableNo));
      If Subfield(vTableName,'.',1)='CURRENT_RANGE_USD' Then
         Let vListOfTables = vListOfTables & If(Len(vListOfTables)>0,',') & Chr(39) & vTableName & Chr(39) ;
      End If
   Next vTableNo
//ADD EACH OF THE NEWLY CREATED TABLE AS COLUMNS TO THE PLAN TABLE
   For each vTableName in $(vListOfTables)
      Left Join (PLAN) Load * Resident [$(vTableName)];
      Drop Table [$(vTableName)];
   Next vTableName