Closed nabeel-oz closed 6 years ago
I discovered that the limit was being exceeded due to a bug in my code which was clumping the response into just one bundle.
I was able to get past the limit by splitting the response into an appropriate number of bundles.
# Stream response as BundledRows
for i in range(0, len(response_rows), rows_per_bundle):
# Yield Row data as Bundled rows
yield SSE.BundledRows(rows=response_rows[i : i + rows_per_bundle])
Hi @nabeel-oz,
Great that you found a solution to your problem!
It could actually occur also with this solution if the rows in your response is much larger than the rows in your request. In our examples we assume this is not the case and responds with one Bundledrows per requested BundledRows. A production environment could benefit adding some logic to possibly split the response on several bundles.
Best regards, Markus
Hi @qlik-aoh
Thanks I'll keep that in mind. Do you know how Qlik calculates the number of bundles for the request? I suppose the logic would need to consider the memory footprint per row in the response.
Best regards, Nabeel
Hi again @nabeel-oz,
Qlik will add rows to the bundle until the expected message size is around 64 KiB. This has shown the best throughput in our tests and follows the recommendation from the gRPC developers.
Best regards, Markus
Hi qlik-aoh,
I am facing a similar issue while sending the response back from QLIK SSE to QLIK Sense. I am using QLIK SSE java component. Could you kindly help by providing a solution similar to python yeild method.
Thanks, Vishal Chauhan
Description
I am hitting gRPC maximum message size limits when making a SSE call through the Qlik load script.
I have already tried increasing the message length on the SSE server using the code below, but this does not seem to help. Is there any way to increase this limit?
Steps to Reproduce
Expected behavior
Ability to change message length limits.
Actual behavior
Changing message length limit for the SSE does not solve the issue.
Environment
Operating system
Qlik Sense
Versions