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

Announcements
Talend Cloud AWS EU Scheduled Outage: Starting Tues 26 May 21:00 CEST with expected completion Wed 27 May 01:00 CEST
cancel
Showing results for 
Search instead for 
Did you mean: 
PhilippeG
Contributor II
Contributor II

POST /app/import .qvf more than 3 Go result in connection reset exception

hello everybody,

I use POST /app/import as described here : APIs/RepositoryServiceAPI 

Everything works fine until I need to upload files larger than 3 GB.
In this case I receive Connection reset exception.

Is there a limit configured somewhere in Qlik Sense?
Is there a timeout configured somewhere in Qlik Sense?

Labels (2)
5 Replies
dora745nevels
Contributor
Contributor

Yes, Qlik Sense has specific defaults that trigger a connection reset for massive uploads. The Repository Service (QRS) typically has an internal timeout (often defaulting to 90 seconds) and a maximum message size limit (often 2 GB) managed via the Repository.exe.config file. Furthermore, if you are routing through the Qlik Sense Proxy Service, it may drop the connection if the request exceeds its own timeout or buffer limits. To handle 3 GB+ files, you usually need to increase the MaxReceivedMessageSize in the config files or, more reliably, use a chunked upload approach to bypass single-request payload restrictions voyafinancialcom

PhilippeG
Contributor II
Contributor II
Author

Thank you for your reply, but I haven't found any suitable settings in Repository.exe.config to resolve the issue. MaxReceivedMessageSize is a QView parameter (which serves a different purpose), and using a block upload approach isn't possible: /app/import uses a filename; the file isn't sent there.

Øystein_Kolsrud
Employee
Employee

How more exactly are you uploading the app? I was able to upload a 7 GB QVF using a stream content HTTP body. Like this in C# (using the library https://www.nuget.org/packages/QlikSenseRestClient/) :

var path = @"C:\Tmp\MyApp.qvf";

var restClient = new RestClient(url);
restClient.AsNtlmUserViaProxy(certificateValidation: false);

var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
var streamContent = new StreamContent(fileStream);
streamContent.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.qlik.sense.app");
Console.WriteLine(restClient.PostHttp("/qrs/app/upload?keepData=true&name=" + Path.GetFileName(path), streamContent));

 

PhilippeG
Contributor II
Contributor II
Author

I'm sorry, but I made a mistake: the problem occurs when using /app/import

Øystein_Kolsrud
Employee
Employee

Oh! You get that error using /app/import? Typically that endpoint is much quicker. I just tested and was able to import a 7 GB app without any problem. It took about two minutes with no special configurations in place in my installation.