Skip to content

Add maxRequestSize env var to merlin-server to set Javalin HTTP config #515

Open
@camargo

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 an updateExternalDataset action to include batch semantics.

See the internal Slack thread here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    featureA new feature or feature requestsoonNot quite next up, but soon

    Type

    No type

    Projects

    • Status

      Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions