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

Announcements
Note: You may notice some temporary visual or styling issues in the Community. Our vendor is actively investigating.
cancel
Showing results for 
Search instead for 
Did you mean: 
eyalnir_qlik
Partner - Creator II
Partner - Creator II

Qlik Sense Mobile Offline App Download Fails When Load Balancer Balances Across Multiple RIM Nodes

Hi everyone,

We’re experiencing a reproducible issue in our Qlik Sense Enterprise (Client-Managed) clustered environment, specifically when using Qlik Sense Mobile for iOS to download apps for offline access.

Environment Overview:

A Virtual Proxy is configured behind a Load Balancer (LB).

The LB is set to distribute requests across multiple RIM nodes (frontend nodes).

All RIM nodes are fully configured with both Engine and Proxy services.

The Problem:
When users try to download an app offline via the Qlik Sense Mobile app, the download fails with:

"App download failed. The network connection was interrupted."

Key Finding:
The issue only occurs when the LB balances across multiple RIM nodes.

If the LB is configured to route only to a single RIM, or directly to the Central node, the download works as expected.

The issue does not seem to be related to timeouts, session headers, or mobile configuration.

All RIMs are fully operational; the problem seems to arise only due to switching between RIMs during the download process.

Hypothesis:
It looks like the offline app download process in Qlik Sense Mobile requires session stickiness or consistent backend node routing. When traffic shifts between RIMs mid-download (due to LB behavior), the mobile client seems to lose continuity and fails.

Has anyone encountered this issue before?

Is there an official best practice or requirement for session affinity ("sticky sessions") in Mobile+Offline use cases?

Are there any architectural constraints that mandate routing mobile traffic to a single node for offline downloads to work reliably?

Could this be a product limitation ?

Regards,

Labels (2)
7 Replies
hugo_andrade
Partner - Specialist
Partner - Specialist

Hi @eyalnir_qlik ,

First of all, EXCELLENT question. So well written. I appreciate the fact you added the required details.

You are on the right track. The load balancer in front of multiple Qlik Sense Proxy services will cause issues unless session stickiness is enabled.

The download operation is made of two parts. The server generates a temp file locally, then that file is streamed to the user who prompted the download. When you have the Load Balancer without session stickiness, the temp app file is generated on one server, and the request to stream the file might land on a different rim node. The other rim node will not contain the temp file, causing the failure you are seeing.

Checking the API documentation I've noticed that in the past and experienced the exact same situation.

In fact, you might see other issues in the future without session stickiness enabled.

Live and Breathe Qlik & AWS.
Follow me on my LinkedIn | Know IPC Global at ipc-global.com

eyalnir_qlik
Partner - Creator II
Partner - Creator II
Author

HI @hugo_andrade 

Thanks for the compliment, 
Hence, we’re already aware of the cause, but what’s the recommended solution?

Eyal

eyalnir_qlik
Partner - Creator II
Partner - Creator II
Author

@Benoit_C @Daniele_Purrone  could you advise ?

hugo_andrade
Partner - Specialist
Partner - Specialist

@eyalnir_qlik ,

Enable sticky sessions on the Load Balancer.

Let's now assume you have 2 servers you would like to use behind the load balancer.Let's call them Node 1 and Node 2.
On Qlik Sense QMC, Virtual Proxies, Load Balancing Enginesassociated Node 1 and Node 2 as Load Balancing Engines. Repeat this process for each Virtual Proxy that is related to the cloud load balancer.

That way, you will let your cloud provider handle the Web tier, and you will let Qlik Sense select the most suitable Engine to serve the request.

Let us know the results please

 

Live and Breathe Qlik & AWS.
Follow me on my LinkedIn | Know IPC Global at ipc-global.com

hugo_andrade
Partner - Specialist
Partner - Specialist

Please mark as solved if you accept the answer. 

Live and Breathe Qlik & AWS.
Follow me on my LinkedIn | Know IPC Global at ipc-global.com

eyalnir_qlik
Partner - Creator II
Partner - Creator II
Author

Hi @hugo_andrade 

Unfortunately, the recommended solution of enabling sticky sessions on the load balancer did not solve the issue with downloading dashboards using the mobile app.

 We get the same error regardless of which app we try, always saying that the connection was interrupted

Any Ideas ?

Eyal 

hugo_andrade
Partner - Specialist
Partner - Specialist

Hi @eyalnir_qlik ,

Yes, a couple. What is the timeout setting for the Load Balancer? Would you be able to share the screenshots of the configuration for us?

Also, do you have a Web Application Firewall in front of the Load Balancer? It could be a security policy preventing the download, I've experienced this in the past a few times.

Thanks for sharing such interesting situation! Love it! lol

Live and Breathe Qlik & AWS.
Follow me on my LinkedIn | Know IPC Global at ipc-global.com