hasura / hasura/graphql-engine

Large Bytea values freeze the Browse Rows panel

Open
#8,287 0 comments 6 reactions 0 assignees View on GitHub
a/performance c/console estimate/L k/bug
Dominant language
TypeScript
Stars
32.1k
Forks
3k
PR merge metrics
PR metrics pending

Description

### Version Information

Server Version: 2.2.1

### Environment

OSS

### What is the expected behaviour?

Clicking the "Browse Rows" tab in the Data panel shouldn't freeze the web interface when bytea columns are present.

As a user, I don't want to see the bytea contents in my web browser anyway.

### What is the current behaviour?

Browser freezes when `bytea` columns are filled with "large" values.

### How to reproduce the issue?

1. Have a table with a bytea column
2. Store very large objects (2MB at least) and at least 10 rows
3. Attempt to "Browse Rows" in the web console
4. The browser may freeze for a few minutes. Sometimes I'm able to click other tabs (for example Modify) while it's rendering.

### Screenshots or Screencast

![image](https://user-images.githubusercontent.com/11539524/157249862-35b443a7-317e-49ee-b66c-8499f18b0b79.png)

30-40 seconds later

![image](https://user-images.githubusercontent.com/11539524/157250196-d0b27d3e-0fe3-4ad8-866b-91a391a9bf97.png)

### Can you identify the location in the source code where the problem exists?

It seems to be frontend related, because I don't see any network calls taking long.

![image](https://user-images.githubusercontent.com/11539524/157250508-b6f40574-51d7-4741-bd73-2b1aa7c0459a.png)

![image](https://user-images.githubusercontent.com/11539524/157250712-15c01e68-357a-40d4-bfaa-51c87d76474f.png)

### If the bug is confirmed, would you be willing to submit a PR?

No

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the freeze from the Browse Rows tab in the Data panel with a PostgreSQL table containing large bytea values. Inspect the frontend rendering path and confirm that Browse Rows remains responsive without rendering the bytea contents; the issue names no source files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
postgres, typescript
Domain
database, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.