Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remote page is too large exceptions #10292

Closed
lexicalparadox opened this issue Dec 14, 2021 · 4 comments
Closed

Remote page is too large exceptions #10292

lexicalparadox opened this issue Dec 14, 2021 · 4 comments

Comments

@lexicalparadox
Copy link

Hi all,

We’re running into issues with Remote page is too large exceptions. This is the stack trace in the admin UI:

io.trino.operator.PageTooLargeException: Remote page is too large
	at io.trino.operator.HttpPageBufferClient.rewriteException(HttpPageBufferClient.java:578)
	at io.trino.operator.HttpPageBufferClient$1.onFailure(HttpPageBufferClient.java:446)
	at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1074)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

Doing some quick Google searches and looking at some of the discussions here:

It seems to boil down to a single (or many rows) that is too large. I’ve tried tweaking the exchange parameters such as:

https://trino.io/docs/current/admin/properties-exchange.html#exchange-max-buffer-size and https://trino.io/docs/current/admin/properties-exchange.html#sink-max-buffer-size by increasing these to 2048MB but it doesn’t seem to help at all.

We are calling array_agg functions in our query, and this looks to be related. We are also including OFFSET and LIMIT clauses in our query. Interestingly, if we remove the OFFSET and LIMIT clauses, the query runs fine. Any other suggestions you guys have? Is there an easy way we can identify which row is too large?

Really appreciate all the help.

@findinpath
Copy link
Contributor

This problem can be solved through configuration of Trino.

Add in etc/configuration.properties the following settings:

node-manager.http-client.max-content-length=64MB
exchange.http-client.max-content-length=64MB

@Firstero
Copy link

This problem can be solved through configuration of Trino.

Add in etc/configuration.properties the following settings:

node-manager.http-client.max-content-length=64MB
exchange.http-client.max-content-length=64MB

In k8s deployment, how to set these properties in the configmap? @findinpath

@noahshpak
Copy link

something like this in your values @Firstero

server:
    workers: 64
    config:
      query:
        maxMemory: "100GB"

  additionalConfigProperties:
    - exchange.max-buffer-size=1GB
    - exchange.max-response-size=1GB
    - exchange.http-client.max-content-length=1GB

@Firstero
Copy link

Firstero commented Jan 9, 2024

@noahshpak It works, Thank you

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

No branches or pull requests

5 participants