gotify / server

A simple server for sending and receiving messages in real-time per WebSocket. (Includes a sleek web-ui)

Home Page:https://gotify.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

When the amount of data is too large, the service will crash directly. My current sqlite file is 2G.

chendx-github opened this issue · comments

Can the issue be reproduced with the latest available release? (y/n)
y
Which one is the environment gotify server is running in?

  • Docker
  • Linux machine
  • Windows machine
Docker startup command or config file here (please mask sensitive information)

Do you have an reverse proxy installed in front of gotify server? (Please select None if the problem can be reproduced without the presense of a reverse proxy)

  • None
  • Nginx
  • Apache
  • Caddy
Reverse proxy configuration (please mask sensitive information)

On which client do you experience problems? (Select as many as you can see)

  • WebUI
  • gotify-cli
  • Android Client
  • 3rd-party API call (Please include your code)

What did you do?

What did you expect to see?

What did you see instead? (Include screenshots, android logcat/request dumps if possible)
When the amount of data is too large, the service will crash directly. My current sqlite file is 2G.

After investigation, it was found that the issue was caused by the messages table containing messages with excessively long content, approximately around 1 gigabyte in size.

How does it crash, what is the error message?

No information, the process exited directly because it was running as a service, so there is no console log recorded.

Could you share the sqlite file with me? Otherwise there isn't much to debug here for me. That said, the clients likely cannot handle 1gb messages. Gotify is more designed for smaller messages.

Sorry I can't share the file since it contains private information, but as you said, this issue should not be considered a BUG, normally there shouldn't be messages of 1GB and the program worked fine after I deleted this anomalous data from the database, but it would be nice to have an alert that helps non-technical people to solve this issue.

Sqlite doesn't do well with large databases. I'd switch to an actual server at that point.