Description
Users are running into a case where they need to upload data that is larger than the accepted current default size for Javalin. This ticket is to expose an environment variable to merlin-server so users can set the Javalin HttpConfig maxRequestSize based on their use case. We should make the default larger than 1 Mb. We should test a large payload (> 10 Mb) works after this update.
For example when using the addExternalDataset action, Hasura makes a POST request to the merlin-server
/addExternalDataset
endpoint. The default value for the maxRequestSize
config is 1 Mb and external datasets will often be much larger than 1 Mb. Payloads larger than 1 Mb returns a 413 Payload Too Large.
Additionally we should investigate if there are env vars on the Hasura side to support larger payloads. What even is the upper limit of payload size for Hasura actions? I can't find this documented anywhere.
More questions to think about when working on this ticket are:
- Can we support streaming very large payloads into a Hasura action and into
merlin-server
? - If we cannot support streaming, can we support submitting data in batches? This would involve either updating the
addExternalDataset
action to accept batches, or adding anupdateExternalDataset
action to include batch semantics.
See the internal Slack thread here.
Metadata
Assignees
Type
Projects
Status
Todo
Activity