@Override public void offerRescinded(final SchedulerDriver driver, final Protos.OfferID offerId) { for (final String executorId : this.executorIdToLaunchedRequests.keySet()) { if (executorId.startsWith(offerId.getValue())) { this.outstandingRequests.add(this.executorIdToLaunchedRequests.remove(executorId)); } } }
@Override public void expect(ClusterState state, SchedulerDriver mockDriver) { ArgumentCaptor<Protos.OfferID> offerIdCaptor = ArgumentCaptor.forClass(Protos.OfferID.class); Set<String> lastCycleOfferIds = state.getLastOfferCycle().stream() .map(o -> o.getId().getValue()) .collect(Collectors.toSet()); Mockito.verify(mockDriver, Mockito.atLeast(lastCycleOfferIds.size())).declineOffer(offerIdCaptor.capture(), any()); // Check that the offer ids from the last cycle were all declined: Set<String> declinedOfferIds = offerIdCaptor.getAllValues().stream() .map(o -> o.getValue()) .collect(Collectors.toSet()); Assert.assertTrue( String.format("Expected all offers from last offer cycle to be declined: %s, got: %s", lastCycleOfferIds, declinedOfferIds), declinedOfferIds.containsAll(lastCycleOfferIds)); }
@Override public synchronized void offerRescinded(SchedulerDriver schedulerDriver, OfferID offerID) { LOG.warn("Rescinded offer: " + offerID.getValue()); }
/** * This method removes an offer from the queue based on its OfferID. */ public void remove(Protos.OfferID offerID) { Collection<Protos.Offer> offers = queue.parallelStream() .filter(offer -> offer.getId().equals(offerID)) .collect(Collectors.toList()); boolean removed = queue.removeAll(offers); if (!removed) { logger.warn( "Attempted to remove offer: '{}' but it was not present in the queue.", offerID.getValue()); } else { logger.info("Removed offer: {}", offerID.getValue()); } }
private Protos.Offer getOffer() { return getOffer(TestConstants.OFFER_ID.getValue()); }
public String apply(OfferID o) { return o.getValue().toString(); } };
@Override public void offerRescinded(SchedulerDriver schedulerDriver, Protos.OfferID offerID) { logger.warn("Offer rescinded offerId=" + offerID.getValue()); }
@Override public void offerRescinded(SchedulerDriver driver, Protos.OfferID offerId) { LOGGER.info("Offer rescinded. offerId: {}", offerId.getValue()); }
@Override public void offerRescinded(final SchedulerDriver schedulerDriver, final Protos.OfferID offerID) { log.trace("call offerRescinded: {}", offerID); taskScheduler.expireLease(offerID.getValue()); }
@Test public void testFilterAcceptedOffers() { final List<Protos.Offer> unacceptedOffers = OfferUtils.filterOutAcceptedOffers(OFFERS, Collections.singletonList(OFFER_RECOMMENDATIONS.get(2))); Assert.assertEquals( Arrays.asList("no-operation", "with-operation", "no-recommendation"), unacceptedOffers.stream().map(o -> o.getId().getValue()).collect(Collectors.toList())); }
@Override public boolean matches(Object o) { Protos.OfferID offerId = (Protos.OfferID) o; return offerId.getValue().equals(value); }
@Override public synchronized void offerRescinded(SchedulerDriver schedulerDriver, OfferID offerID) { LOG.warn("Rescinded offer: " + offerID.getValue()); }
@Test public void testFilterAcceptedOffersAllAccepted() { final List<Protos.Offer> unacceptedOffers = OfferUtils.filterOutAcceptedOffers(OFFERS, OFFER_RECOMMENDATIONS); Assert.assertEquals( Arrays.asList("no-operation", "no-recommendation"), unacceptedOffers.stream().map(o -> o.getId().getValue()).collect(Collectors.toList())); }
@Test public void testFilterAcceptedOffersNoAccepted() { final List<Protos.Offer> unacceptedOffers = OfferUtils.filterOutAcceptedOffers(OFFERS, Collections.emptyList()); Assert.assertEquals( Arrays.asList("no-operation", "with-without-operation", "with-operation", "no-recommendation"), unacceptedOffers.stream().map(o -> o.getId().getValue()).collect(Collectors.toList())); }
@Override public void run() { LOGGER.info("Thread {} sending {} offers: {}", threadName, offers.size(), offers.stream().map(o -> o.getId().getValue()).collect(Collectors.toList())); processor.enqueue(offers); } }, threadName);
@Override public void offerRescinded(SchedulerDriver driver, OfferID id) { LOG.info("Offer rescinded. offerId: {}", id.getValue()); mesosNimbus.offerRescinded(id); }
@Override public void offerRescinded(SchedulerDriver driver, Protos.OfferID offerId) { try { LOGGER.info("Rescinding offer: {}", offerId.getValue()); offerProcessor.dequeue(offerId); } catch (Throwable e) { logExceptionAndExit(e); } }
private void declineOffer(Offer offer, double duration) { LOGGER.fine("Rejecting offer " + offer.getId().getValue() + " for " + duration + " seconds"); Filters filters = Filters.newBuilder().setRefuseSeconds(duration).build(); driver.declineOffer(offer.getId(), filters); }
/** * Pretty-print mesos protobuf Offer. * <p/> * XXX(erikdw): not including slave_id, attributes, executor_ids, nor framework_id. */ public static String offerToString(Offer offer) { Map<String, String> map = new LinkedHashMap<>(); map.put("offer_id", offer.getId().getValue()); map.put("hostname", offer.getHostname()); map.putAll(resourcesToOrderedMap(offer.getResourcesList())); return JSONValue.toJSONString(map); }
@Override public String getId() { return offer.getId().getValue(); }