Skip to content
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

hawkbit-ddi-resource: do not log range requests #1331

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

zyga
Copy link
Contributor

@zyga zyga commented Mar 8, 2023

HawkBit creates ActionStatus entries for each GET request associated with an
artefact of an assigned software module. Amongst others, this severely breaks
RAUC block-based adaptive updates [1], which issue a flurry of range requests
for small chunks, so that the whole image does not have to be streamed in case
of incremental system changes.

[1] https://rauc.readthedocs.io/en/latest/advanced.html#block-based-adaptive-update-block-hash-index

Fixes: #1249

@hawkbit-bot
Copy link

Can one of the admins verify this patch?

@zyga
Copy link
Contributor Author

zyga commented Mar 8, 2023

NOTE: this is failing in tests that observe download progress.

@MartB
Copy link
Contributor

MartB commented Mar 8, 2023

Nice job!

I dont think its important to have these range requests logged anyway, its a thing between client and server and it should always be followed up with another action status, no matter what happens. For client integration debugging purposes its much easier to just add a logger on the fly. As it is right now, this provides 0 benefits for normal users.

Edit: I hit submit too early.

I do think that some sort of "Download Progress" is needed, but if the client is streaming it would be much better if the client was in charge of emitting these actions, as it might not be a consecutive download anyway and downloading 10% of the update package might even be 90% of the download progress on the client side.

@zyga
Copy link
Contributor Author

zyga commented Mar 9, 2023

I can look at removing the database entries while keeping the progress callback intact. If you have any suggestions I'm happy to learn.

@zyga zyga force-pushed the fix/do-not-log-downloads branch 3 times, most recently from 2f658eb to db29afd Compare September 28, 2023 13:32
HawkBit creates ActionStatus entries for each GET request associated with an
artefact of an assigned software module. Amongst others, this severely breaks
RAUC block-based adaptive updates [1], which issue a flurry of range requests
for small chunks, so that the whole image does not have to be streamed in case
of incremental system changes.

[1] https://rauc.readthedocs.io/en/latest/advanced.html#block-based-adaptive-update-block-hash-index

Fixes: eclipse-hawkbit#1249

Signed-off-by: Zygmunt Krynicki <[email protected]>
@zyga zyga changed the title Do not log status messages associated with downloads hawkbit-ddi-resource: do not log range requests Sep 28, 2023
@zyga
Copy link
Contributor Author

zyga commented Sep 28, 2023

@MartB I've pushed a small update. I think making the current download progress event work is futile, with my limited knowledge of spring, it seems that the underlying class requires an non-null object and in this case it was always the ActionStatus instance that was tied to a database entry.

@zyga zyga marked this pull request as ready for review September 29, 2023 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Limitations on Deployment HTTP Range Request Download
3 participants