Commit Graph

15 Commits

Author SHA1 Message Date
Trey Moen e785026a98 feat(athenad): priority uploads (#34856)
Today, Firehose uploads and user-requested uploads from Connect are treated the same. This is not ideal behavior if the user wants to upload routes immediately for a bug report and the queue is full of uploads for Firehose. The workaround is to clear the queue and retry the upload from Connect.

This PR adds an optional `priority` to requested file uploads in `athenad`. By default, all requests are marked `Low`. However, if the caller wishes to mark their uploads as "more important," then the upload queue will prioritize those requests when uploading.

The only caveat to this PR is that we won't reorder files currently being uploaded. Most connections are quick enough to finish uploading max 4 files before polling the new high-priority items in the queue.

Closes https://github.com/commaai/openpilot/issues/34836

**Verification**

Added test case to insert upload tasks with differing priorities. Polling the queue produces items in the correct order (smallest # to largest).

PR to mark Connect uploads as high priority: https://github.com/commaai/connect/pull/557

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
2025-03-19 19:22:54 +00:00
Dean Lee 9ec54f59c6 loggerd: switch logging from raw file format to zstd compressed files (#34549)
* switch logging from raw file format to zstd compressed files

* more zst suffix

* compress bootlog

* remove class RawFile

* Optimize ZstdFileWriter by adding input caching

* use ZSTD_compressStream2

* cleanup

* LOG_COMPRESSION_LEVEL=10

* space

* add zst suffix to LOGS_SIZE_RATE
2025-02-08 12:55:31 -08:00
Adeeb Shihadeh 9cf02ca8db Skip registration on newer devices (#34316) 2024-12-26 20:22:44 -08:00
Shane Smiskol cd6d9fee3f Revert "athenad: fix thread safety issues in upload handing" (#34224)
Revert "athenad: fix thread safety issues in upload handing (#34199)"

This reverts commit dcb3113c4b.
2024-12-12 13:32:36 -08:00
Dean Lee dcb3113c4b athenad: fix thread safety issues in upload handing (#34199)
* fix thread safety issues in upload handing

* remove cancelled_uploads

* remove None from current upload items & atomic updates
2024-12-10 01:18:43 -08:00
Shane Smiskol 015aadd48c Revert "athenad: fix thread safety issues in upload handing" (#34198)
Revert "athenad: fix thread safety issues in upload handing (#34084)"

This reverts commit 7c101a40c8.
2024-12-09 17:22:28 -08:00
Dean Lee 7c101a40c8 athenad: fix thread safety issues in upload handing (#34084)
* fix thread safety issues in upload handing

* remove cancelled_uploads
2024-12-06 20:14:12 -08:00
Dean Lee 43807746ff athenad: fix memory leak by closing Response objects (#34101)
* fix memory leak by closing Response

* use with
2024-12-02 21:30:54 -08:00
Adeeb Shihadeh 333c666a80 athena: use dongle ID on /persist/ when available (#33259)
* athena: use dongle ID on /persist/ when available

* comment

* test

* cleanup
old-commit-hash: 91db49b9bfb5ca27068bd13378feb602e8c63f4b
2024-09-01 10:39:49 -07:00
Maxime Desroches df13b36638 fix all codespell issues (#33194)
* bring back

* remove 2020 dictionary
old-commit-hash: 44c7144e1c5f5aa66596c8d240b64827148b960d
2024-08-05 15:25:02 -07:00
Shane Smiskol b0a8b3bc9d uploader: compress with zstd (#32736)
* zstd uploader

* fix that

* fix name of function

* comment

* log failed

* fix comma_api_source for routes with both bz2 and zst rlogs

* TODO

* 10-14 achieves almost no benefit on qlogs in a few cases, but takes 2x the time

* these aren't written out

* regen: specify any list of sources

ooh this is pretty nice

* regen and process replay

* damn, actually we don't need all this (cool tho)

Revert "regen: specify any list of sources"

This reverts commit ceb0b4abed9ad463a9fe98d9b98a05875a52806f.

* just let it auto resolve

* fix athenad/uploader tests

* zst here too

* TODOs

* yes

* Revert "TODOs"

This reverts commit 8c7da1dbd0340c72290b5eb5563b642080ddc131.

* Revert "zst here too"

This reverts commit 23b0023ddfd22c8090be7a7caa09e7026a12aa5c.

* Revert "just let it auto resolve"

This reverts commit f296d62424227ad05facc62abc18a6f81b474e84.

* Revert "regen and process replay"

This reverts commit 0768330e96974a42616d229d159780619d049cd0.

* revert readme

* not in save_log either

* lfg

* Revert "lfg"

This reverts commit 3718559c6c4de7d1f0c80dc9f1a1d335fe679a89.
old-commit-hash: 7dec7c39bec0b7015c9cc12ee78f07a07ed47ee6
2024-07-26 19:33:35 -07:00
Adeeb Shihadeh 86b6103657 test_*.py files are no longer executable (#32610)
* test_*.py files are no longer executable

* cleanup empty lines

* update precommit

* fixme

* enable

* build
old-commit-hash: c59887c8109dd8d33ea2e7169995184fbe38cc3a
2024-06-03 15:48:56 -07:00
Adeeb Shihadeh cc4f53e6c6 manager: move to system/ (#32538)
* manager: move to system/

* one more
old-commit-hash: accdade4cfe73cdca41f5afa73cf4ad085802930
2024-05-25 12:41:17 -07:00
Adeeb Shihadeh 3358745103 ruff: enable UP
old-commit-hash: b2e4c64cf8fe3256d1e411e8715c29e2eb6f4f00
2024-05-20 17:43:54 -07:00
Adeeb Shihadeh 18970afb0e athena: move to system/ (#32488)
* athena: move to system/

* slash
old-commit-hash: 3279dbeff7d4f696804c94de1573be2b5f3f2f9d
2024-05-20 14:59:43 -07:00