10000 Large Observation results in High Load · Issue #585 · GhostManager/Ghostwriter · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Large Observation results in High Load #585

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

Open
er4z0r opened this issue Feb 11, 2025 · 1 comment
Open

Large Observation results in High Load #585

er4z0r opened this issue Feb 11, 2025 · 1 comment
Assignees
Labels
bug Something isn't working in progress On the road map and being actively worked

Comments

@er4z0r
Copy link
er4z0r commented Feb 11, 2025

Describe the bug
Trying to generate a report containing an observation with a large number of tables results in 100% load.

To Reproduce
Steps to reproduce the behavior:

  1. Create Report
  2. Add an observation with the following size:

Count Document Selection
Words 13308 0
Characters (no spaces) 88919 0
Characters 94707 0
3. Try to generate the report
5. System hangs, generation results in 50x timeout

A clear and concise description of what you expected to happen.

GW should generate the report as normal or refuse to generate with a clear indication of the problem.

Server Specs:

  • OS: Ubuntu 22.04.5 LTS
  • Docker version 20.10.21, build baeda1f
  • Docker Compose version v2.4.1
  • Ghostwriter v4.3.9, released 10 December 2024
@er4z0r er4z0r added the bug Something isn't working label Feb 11, 2025
@chrismaddalena
Copy link
Collaborator

We're aware of this and are looking into potential solutions. Large tables put the Jinja2 formatting into overdrive. The issue is that these huge tables add significant processing time, surpassing the timeout period configured for nginx. You can increase the timeout to get the report, but you can also create a table so large that no reasonable timeout period will work.

On the one hand, the tables we've seen that cause this issue are so large they may be better off contained in an auxiliary document, like a spreadsheet. That's one potential solution for the time being. We will be looking into the table processing to see if it can be made more efficient, but it seems unlikely that we can shave enough time off for these tables.

Another possible solution is a significant rework of how report generation works. Today, many reports generate in under a minute, so you can request the report and receive it back in the response without ever approaching the timeout. With the addition of Jinja2 formatting and templating in custom fields, it's possible to assemble a report that will take much longer to generate. We may need to move to a model used by some other products with large reports—i.e., you request the report, the generation is queued in the background, and the report document is placed somewhere for you to fetch once it's finished generating.

@github-actions github-actions bot added the stale label Mar 17, 2025
@chrismaddalena chrismaddalena added in progress On the road map and being actively worked and removed stale labels Mar 17, 2025
@GhostManager GhostManager deleted a comment from github-actions bot Mar 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working in progress On the road map and being actively worked
Projects
None yet
Development

No branches or pull requests

2 participants
0