Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
lachlanwcast
Partner - Contributor III
Partner - Contributor III

App stuck 'Reload in progress' for user performing reload via Data Load Editor

Hi there,

I have a query which may (or may not!) be simple to answer but for the life of me I am struggling!

The case is as follows:

A client is editing an app on Qlik Sense (April 2018) and initiates a reload from the Data Load Editor.

They then close the window and attempt to access to the app - however recieve an error message "An error occured. Reload in progress" as designed until the reload process has completed.

The issue is that it tends to get stuck (due to poor coding/data model/connector issue etc.) and the reload process continues in the background, without the ability to 'cancel' the current ongoing reload.

I would assume that, via the API, you would be able to request Qlik to terminate the reload process, however I can't seem to find the correct method of doing this?

A few points:

- I have tested this over the span of 5 hours and the message is still displayed

- The message is only displayed for the user who initiated the reload of the app, if I attempt to open the app from another user, I can access it just fine without any error message

- I am unsure if this is a bug, i.e. the app has actually finished reloading, but the message is displayed

My question is, via the API, can I force stop/check on the status of an ongoing app reload?

I have scoured the documentation and found a few APIs, most importantly this:

- https://help.qlik.com/en-US/sense-developer/June2018/apis/EngineAPI/services-Global-CancelReload.htm...

However, how if we take using the Engine API Explorer - the above 'CancelReload' API is a global method, and does not accept any input in terms of which app reload process it should be cancelling?

Is there something I'm missing as to how the Global API method is used?

engine.PNG

I have attempted to do this using the Engine API explorer both as a RootAdmin user (I just get the desired {  "jsonrpc": "2.0",  "id": 4,  result": {} } result, however the Reload in progress error is still present) and also with the user who initated the reload in the first place but recieve an odd error code - 11000 - returned by the API which I can't find anywhere?

In summary:

  • what does the error code 11000 refer to when returned via the Global API?
  • Does the above 'CancelReload' method only apply to those reload processes initiated via a Reload task within the QMC?
  • If not, how do we configure which app reload process should be cancelled? (as the API documentation says there are no input parameters)
  • Is there anywhere to define the maximum time a reload can take before it timeout or is cancelled automatically?

Appreciate your time, as always!

4 Replies
Gysbert_Wassenaar

Open the Engine section in the QMC. Then in the Advanced section you can set a timeout for the Reload setting.

If a reload hangs you could consider simply restarting the engine service.

If you want to use the api then I think you first need to get a handle of the app of which you want to cancel the reload.


talk is cheap, supply exceeds demand
lachlanwcast
Partner - Contributor III
Partner - Contributor III
Author

Hi Gysbert,

Thanks for your response - appreciate it!

The reload timeout configuration is under QMC > Engine - must have skimmed over it, so thanks a lot for the clarification.

We can overcome the issue by restarting the engine service, however the server is used in production so may not be able to be completed within business hours.

I will take a look at understanding the app handle info via API you've mentioned - really appreciate your help

Thanks,

Lachlan

lachlanwcast
Partner - Contributor III
Partner - Contributor III
Author

I have had a look at the API, but can't seem to find a way to identify a place to submit the request handle as a parameter.

Would it be possible for anybody to provide an example of the start/stop reload request via API

I see here: https://help.qlik.com/en-US/sense-developer/September2018/Subsystems/APIs/Content/Sense_ClientAPIs/C...

var global = qlik.getGlobal(config);

global.cancelReload(12345);


As an example, however am unsure what the '12345' refers to? Is this the reload handle?

If so, how would we find the handle of a reload request occurring from the data load editor?

Thanks again for your assistance

Gysbert_Wassenaar

12345 is probably the requestid of the reload request. I have no idea if it's possible to retrieve a requestid of a reload that was started by another process. Perhaps somebody on Qlik Branch on Slack! can answer you.


talk is cheap, supply exceeds demand