paul-rogers commented on PR #12368:
URL: https://github.com/apache/druid/pull/12368#issuecomment-1120044269

   All that said, there is the second issues: rerunning specific tests. This is 
a harder issue than one would think.
   
   The reason to combine tests is that, in this new system, the bulk of the 
time for each "test group" is consumed with building Druid. If we keep the 
tests split up, we end up rebuilding Druid over and over and over. Allowing 
retries means retaining our current extravagant abuse of Travis resources.
   
   The obvious solution to the redundancy issue is to build Druid and the image 
once, then run all the test groups that use that particular configuration. 
Since we have multiple configurations, the various configurations would still 
run in parallel, but the test "groups" would run in series within each 
configuration.
   
   Of course, if we retain flaky tests, then we want to play "whack-a-mole" in 
builds: keep rerunning only those tests that failed until we get lucky and they 
pass. By combining tests, we decrease the probability of getting lucky. As 
mentioned above, the obvious answer is to fix the flaky tests, we we are 
starting to do.
   
   Another constraint is how Travis seems to work. We can only rerun jobs 
within Travis's build matrix. It does not seem we can parameterize the job to 
say, "just run the ITs, with only these two projects." To be able to rerun one 
test "group" we have to let each group (for each configuration) build all of 
Druid, which gets us back to the redundancy issue.
   
   Short term, I'm thinking to do an experiment in which each test "group" is 
triggered by a separate Maven profile. We can then also have an "all-its" 
profile that enables all the groups. Until we resolve flaky tests, we can opt 
to waste resources and build profile-by-profile (that is, group-by-group) as we 
do today. Later, when tests are fixed (or if we identify groups which are not 
flaky), we can combine them via profiles.
   
   I'll try that in a separate commit so I can easily back it out if it does 
not work out.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to