@@ -1255,6 +1255,94 @@ public void testRetriesWithOverrides() {
12551255 Assertions .assertTrue (taskManager .getActiveTaskIds ().isEmpty ());
12561256 }
12571257
1258+ @ Test
1259+ public void testRetriesWithNewDeploys () {
1260+ SingularityRequestBuilder bldr = new SingularityRequestBuilder (
1261+ requestId ,
1262+ RequestType .RUN_ONCE
1263+ );
1264+ request = bldr .setNumRetriesOnFailure (Optional .of (2 )).build ();
1265+ saveRequest (request );
1266+
1267+ deployResource .deploy (
1268+ new SingularityDeployRequest (
1269+ new SingularityDeployBuilder (requestId , "d1" )
1270+ .setCommand (Optional .of ("cmd" ))
1271+ .build (),
1272+ Optional .empty (),
1273+ Optional .empty ()
1274+ ),
1275+ singularityUser
1276+ );
1277+
1278+ scheduler .drainPendingQueue ();
1279+ deployChecker .checkDeploys ();
1280+ resourceOffers ();
1281+
1282+ Assertions .assertEquals (1 , taskManager .getActiveTaskIds ().size ());
1283+
1284+ deployResource .deploy (
1285+ new SingularityDeployRequest (
1286+ new SingularityDeployBuilder (requestId , "d2" )
1287+ .setCommand (Optional .of ("cmd" ))
1288+ .build (),
1289+ Optional .empty (),
1290+ Optional .empty ()
1291+ ),
1292+ singularityUser
1293+ );
1294+
1295+ statusUpdate (taskManager .getActiveTasks ().get (0 ), TaskState .TASK_LOST );
1296+
1297+ scheduler .drainPendingQueue ();
1298+ deployChecker .checkDeploys ();
1299+ resourceOffers ();
1300+
1301+ Assertions .assertEquals (1 , taskManager .getActiveTaskIds ().size ());
1302+ Assertions .assertEquals ("d2" , taskManager .getActiveTaskIds ().get (0 ).getDeployId ());
1303+
1304+ deployResource .deploy (
1305+ new SingularityDeployRequest (
1306+ new SingularityDeployBuilder (requestId , "d3" )
1307+ .setCommand (Optional .of ("cmd" ))
1308+ .build (),
1309+ Optional .empty (),
1310+ Optional .empty ()
1311+ ),
1312+ singularityUser
1313+ );
1314+
1315+ statusUpdate (taskManager .getActiveTasks ().get (0 ), TaskState .TASK_LOST );
1316+
1317+ scheduler .drainPendingQueue ();
1318+ deployChecker .checkDeploys ();
1319+ resourceOffers ();
1320+
1321+ Assertions .assertEquals (1 , taskManager .getActiveTaskIds ().size ());
1322+ Assertions .assertEquals ("d3" , taskManager .getActiveTaskIds ().get (0 ).getDeployId ());
1323+
1324+ deployResource .deploy (
1325+ new SingularityDeployRequest (
1326+ new SingularityDeployBuilder (requestId , "d4" )
1327+ .setCommand (Optional .of ("cmd" ))
1328+ .build (),
1329+ Optional .empty (),
1330+ Optional .empty ()
1331+ ),
1332+ singularityUser
1333+ );
1334+
1335+ statusUpdate (taskManager .getActiveTasks ().get (0 ), TaskState .TASK_LOST );
1336+
1337+ scheduler .drainPendingQueue ();
1338+ deployChecker .checkDeploys ();
1339+ resourceOffers ();
1340+
1341+ // TODO - new deploys have new deploy statistics, so we lose track of the # of retries
1342+ Assertions .assertEquals (1 , taskManager .getActiveTaskIds ().size ());
1343+ Assertions .assertEquals ("d4" , taskManager .getActiveTaskIds ().get (0 ).getDeployId ());
1344+ }
1345+
12581346 /* @Test
12591347 public void testCooldownAfterSequentialFailures() {
12601348 initRequest();
0 commit comments