[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [OSSTEST PATCH] bisection: Really avoid flail



The flail detector needs to search for flights which will look like
the one it is creating, when this one is done.  The intended blessing
always lacks `-bisect' so is no use.

We can use the last blessing for this: both cr-try-bisect and
cr-try-bisect-adhoc pass the same value for the last blessing and for
the 2nd parameter to perhaps_bisect_step_core (which is passed to
sg-execute flight to properly bless the flight when it's done).

Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
 cs-bisection-step | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/cs-bisection-step b/cs-bisection-step
index 819e519..a0ceaa7 100755
--- a/cs-bisection-step
+++ b/cs-bisection-step
@@ -8,6 +8,16 @@
 #   ./cs-bisection-setup [<options>] <branch> <job> <testid>
 # options, usually:
 #      --blessings=real,real-bisect
+#
+# First entry in --blessings list is the blessing of the basis
+# (non-bisection) flights.  This should not be the same as the
+# blessing which will be applied to the bisection flights when they
+# are complete, as otherwise the "basis repro" will retrigger when
+# this is not desirable.
+#
+# Last entry in --blessings should be blessing which will be
+# applied to this flight when it is finished.  This is used for flail
+# detection.
 
 # This is part of "osstest", an automated testing framework for Xen.
 # Copyright (C) 2009-2013 Citrix Inc.
@@ -1335,9 +1345,7 @@ END
         SELECT flight, blessing, started FROM flights
            WHERE branch=?
               AND $restrictflight_cond
-              AND blessing = (
-               SELECT intended FROM flights WHERE flight = ?
-                )
+              AND blessing = ?
              AND NOT EXISTS (
                SELECT 1
                  FROM $runvarsqt1 r1 FULL OUTER JOIN
@@ -1368,7 +1376,8 @@ END
         $minflight //= 0;
        print DEBUG "minflight=$minflight\n";
 
-       $equalflightsq->execute($branch, $popflight, $popflight, $minflight);
+       $equalflightsq->execute($branch, $blessings[$#blessings],
+                                $popflight, $minflight);
        my $nequalflights = 0;
        my $explanation = '';
        while (my $identical = $equalflightsq->fetchrow_hashref()) {
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.