Report exporting to xlsx issue on production server

cosmic2 years ago

Hello everyone,

Recently, I have been experiencing an issue when trying to export Route and other reports on the production server. However, there is no problem when I try it on the development server. The problem only arises when the system is deployed and running on the production server. Can anyone suggest what might be causing this issue? Thank you in advance.

Anton Tananaev2 years ago

What is the problem? What's the error message?

cosmic2 years ago

No error has been shown. I also checked the logs. After clicking export, it is just redirecting to main page.

Anton Tananaev2 years ago

What version are you using?

cosmic2 years ago

traccar v5.3 I am using.

Anton Tananaev2 years ago

Try upgrading to the latest version first.

cosmic2 years ago

But I remember it was possible in previous version also. On the other hand it is perfectly working on development server. Is there any other stuff that might be causing the issue?

Anton Tananaev2 years ago

Could be something else of course, but if you don't want to upgrade, then I won't be able to help you.

spoortracka year ago

I don't mean to hijack this thread, but I am also getting a '500 - server error' when exporting a large amount of data. Logs show:
WARN: /api/reports/route/xlsx - Java heap space - OutOfMemoryError

The centos 7 VM has 2G RAM and Traccar is the only service running on the machine. Is there a way to increase the heap in the config file or do I just need to increase the RAM? And if so, by how much?

spoortracka year ago

UPDATE: Found the answer here.

The device sends 7200 positions per day and I'm trying to export 21 days, so ~150k positions. Running version 5.10 (latest).

I increased Java heap size to 2G. I also increased the VM RAM from 2G to 4G. When I "SHOW" the route of interest, it takes around 25s to process, then if i just change show to EXPORT, it takes forever and all processors are busy for a long time, eventually giving me a 503 - Service Unavailable error.

image

And logs looks like this

2024-01-02 13:11:22  INFO: user: 1, report: route, from: 2023-12-12 00:00, to: 2024-01-02 13:00, devices: [482], groups: []
2024-01-02 13:20:37 ERROR: An I/O error has occurred while writing a response message entity to the container output stream. - Broken pipe - IOException (... < OverrideFilter:49 < ...)
2024-01-02 13:22:26  WARN: /api/devices - Cannot invoke "String.length()" because "file" is null - NullPointerException (Log:261 < *:162 < *:86 < ... < OverrideFilter:49 < ...)
2024-01-02 13:23:44  WARN: An exception mapping did not successfully produce and processed a response. Logging the exception propagated to the default exception mapper. - Java heap space - OutOfMemoryError
2024-01-02 13:23:44 ERROR: Error while closing the output stream in order to commit response. - Java heap space - OutOfMemoryError
2024-01-02 13:23:44  WARN: /api/reports/route/xlsx - Java heap space - OutOfMemoryError
2024-01-02 13:23:44  WARN: unhandled due to prior sendError - Java heap space - OutOfMemoryError

Considering the time it takes to SHOW (abt 25s) vs EXPORT for the same data (abt 9 minutes before crashing), I am wondering if there's something else that might be causing the issue.

Anton Tananaeva year ago

Excel report cannot handle hundreds of thousands of records. It's not designed for that.

spoortracka year ago

Best wishes for '24.
Is there another way to get a report?
The devices are updating their position every 5s - this gives 7200 positions per day. If it is not designed to handle reports for this use-case, what is the minimum recommended update interval?

Anton Tananaeva year ago

You can use API to export is some other format, like JSON or CSV.