← 输入框|github.com|刷新
Skip to content

Make Allure result files durable before publishing - #1294

Merged
baev merged 2 commits into
mainfrom
fsync
Jun 17, 2026
Merged

baev merged 2 commits into
mainfrom
fsync

Conversation

@baev

@baev baev commented Jun 17, 2026 •

Copy link
Copy Markdown
Member

Context

Allure now writes filesystem result artifacts more safely, so test results do not expose partially written files when attachment or result persistence fails. Attachments, test result JSON, and container JSON are staged first and only published to the final Allure results path after the write is completed and synced.

This helps runs that persist large attachments or other heavy result data fail clearly instead of leaving behind final-looking files that cannot be read reliably afterwards.

Checklist

@baev baev added the pr:improvement Change that improves some user experience but can't be considered as a new feature label Jun 17, 2026
@github-actions

github-actions Bot commented Jun 17, 2026 •

Copy link
Copy Markdown

Allure Report Summary

Name Duration Stats New Flaky Retry Report
Allure Java – Pull request #1294 27m 21s Passed tests 1666   Skipped tests 2 2 0 0 View

@baev baev changed the title Make attachment writes durable before publishing results Make Allure result files durable before publishing Jun 17, 2026
@baev
baev merged commit 2354fb1 into main Jun 17, 2026
10 checks passed
@baev
baev deleted the fsync branch June 17, 2026 15:14
@rPraml

rPraml commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

FYI @baev
we noticed a measurable performance drop, because of the channel.force(true); / fsync.
Can you explain what was the origninating problem. As far as I know, fsync prevents you from file corruption on power outages or kernel panics. Was this really the case?
Data should be also written to disk without fsync, if just the JVM crashes.

Would be great, if I get feedback, what the intention was (and if safety is more important here than performance)

(We may try https://github.com/stewartsmith/libeatmydata as workaround to disable all fsync-calls)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:improvement Change that improves some user experience but can't be considered as a new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants