Open weissi opened 8 months ago
CC @tomerd
I just noticed that my manual tests occasionally failed. I reproduced it by running it in tight loop and eventually tracked it down to an apparent race in TCPThroughtputBenchmark
:
self.context.writeAndFlush
is called here[1], before context
is set here[2].
This may be the reason we don't get perf test results. Not the fact that perf testing infra is broken exactly.
[1] https://github.com/apple/swift-nio/blob/82fd942745b11ccebbf0db3e9e4bf150b60e5e44/Sources/NIOPerformanceTester/TCPThroughputBenchmark.swift#L49 [2] https://github.com/apple/swift-nio/blob/82fd942745b11ccebbf0db3e9e4bf150b60e5e44/Sources/NIOPerformanceTester/TCPThroughputBenchmark.swift#L44
CC @FranzBusch for flakey test (we should track that separately)
@gmilos good catch! However whatever happens in the performance tests should not make the harness post wrong and outdated data. Also, it's posting is so quickly that I doubt it ran anything at all
Agreed re the harness being immune to failures in the test binary.
For reference, I filed the issue about the specific test here: https://github.com/apple/swift-nio/issues/2649 //cc @FranzBusch
cc @yim-lee can you help us here. The performance tests seem to broken.
It posts bogus results because the build doesn't get far enough to the cleanup stage to delete previous test result files, and the job is configured to post contents from the report file. I manually wiped the workspace this time. Updating the job to wipe workspace before build didn't help because it fails very early on (some Git operation), which I will look into now.
@tomerd fixed the issue (thanks!) and perf job is green again: https://github.com/apple/swift-nio/pull/2652
The performance tests post bogus results (from an old run from 3rd Jan) and the actual perf build fails:
E.g.
https://ci.swiftserver.group/view/nio/job/swift-nio2-performance-prb/158/console