As I said, you can get the same behavior by controlling the different timeouts. As far as I understood it, the biggest change for you was actually from skipping node locality to go to rack; this can be done easily by setting the node locality wait to 0. If you also want to skip process locality, you can try that too, though I don't think this is usually a good idea. The new code is also simpler than the old aggression code, more efficient (doesn't allocate a whole bunch of hashmaps on every resource offer), and avoids some real performance regressions I saw with that change. If you guys try it out and see some performance problems that can't be solved with these settings, I'm happy to revisit it.

BTW, I've also pushed an update for this that now goes through the locality levels in order for the whole set of available offers.