-
Notifications
You must be signed in to change notification settings - Fork 119
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
FINISHED printed twice for the same matrix #577
Comments
For context, the way Flank works is by creating a bunch of matrices in parallel. Starting with the first matrix, the status is output until the matrix is finished. If the matrix is still running, the current status from FTL is printed to the console. If the matrix is already finished, then
The first matrix is in progress, it hasn't finished yet. Flank polls this matrix until it's complete. While the first matrix is busy running, the other matrices are finishing.
That's weird, I'd expect
All matrices are run in parallel, only the polling is sequential. The FTL team is aware that the hack of running multiple matrices to enable parallel execution isn't ideal. They're working on moving sharding server side which would greatly simplify Flank as we'd only have to track one matrix. I'd recommend posting that matrix id |
For context, the way Flank works is by creating a bunch of matrices in parallel. Starting with the first matrix, the status is output until the matrix is finished. If the matrix is still running, the current status from FTL is printed to the console. If the matrix is already finished, then FINISHED is printed and flank moves onto the next matrix. IIUC when the second matrix starts i should only hear the steps that are remaining. I.e. if the second matrix is only half way done when the first one finishes, then i'll only see statuses for the second half of the second matrix. If the second matrix is also finished when the first finishes then I'll only see "FINISHED" for the second one... and on to the third, fourth, etc.. If that's correct can you explain why I'm now seeing "all" of the third matrix's logs:
The fact that all the |
I'm not familiar with how Flank aggregates progress messages coming from the Testing API, but perhaps the issue a confusion between test matrix finish times and test execution finish times. I think commonly Flank creates matrices with a single execution, but matrix-3s9zncxxveg2p contains 5 executions (one each for 5 different devices), each with their own FINISHED times: 2019-07-18 17:18:55 The difference between the first and last execution finish time is 8:21, which is very close to the time difference reported by Flank for the two duplicate finishes (and those have up to 15s error in them due to the polling rate). |
Thanks for the technical details. I'll get this fixed in Flank. |
val firstTestStatus = refreshedMatrix.testExecutions.first() The bug was due to Flank using the first test execution (device) and printing status messages only from that device. I've updated Flank to correctly poll all test executions within a matrix. The device id is now included in the log output so it's possible to differentiate test executions within the same matrix. #584 has the fix |
Thanks for fixing this. I can now see that my tests are are running as fast as they should; no confusion about whether they are really running in parallel. |
We've got logs that look like this:
We shard on 5 devices, most take ~5 minutes. One takes ~10 minutes. Is it possible that the polling is hearing the first device complete (at ~8 mins) and then hearing the slow device complete (at ~16 mins)?
The text was updated successfully, but these errors were encountered: