http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java b/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java index 727be58..cb288bb 100644 --- a/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java +++ b/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java @@ -15,12 +15,12 @@ package org.apache.aurora.scheduler.mesos; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; import javax.inject.Inject; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.protobuf.ByteString; @@ -211,7 +211,7 @@ public interface MesosTaskFactory { taskBuilder.setExecutor(execBuilder.build()); } else { LOG.warn("Running Docker-based task without an executor."); - taskBuilder.setContainer(getDockerContainerInfo(dockerContainer, Optional.absent())) + taskBuilder.setContainer(getDockerContainerInfo(dockerContainer, Optional.empty())) .setCommand(CommandInfo.newBuilder().setShell(false)); } } else { @@ -276,7 +276,7 @@ public interface MesosTaskFactory { .addVolumes(volume)); } - return Optional.absent(); + return Optional.empty(); } private ContainerInfo getDockerContainerInfo(
http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java b/src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java index e0221f8..e378ef1 100644 --- a/src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java +++ b/src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java @@ -14,12 +14,12 @@ package org.apache.aurora.scheduler.mesos; import java.util.Collection; +import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.concurrent.atomic.AtomicLong; import javax.inject.Inject; -import com.google.common.base.Optional; import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.AbstractIdleService; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/mesos/VersionedDriverFactory.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/VersionedDriverFactory.java b/src/main/java/org/apache/aurora/scheduler/mesos/VersionedDriverFactory.java index 8afeec1..e436080 100644 --- a/src/main/java/org/apache/aurora/scheduler/mesos/VersionedDriverFactory.java +++ b/src/main/java/org/apache/aurora/scheduler/mesos/VersionedDriverFactory.java @@ -13,7 +13,7 @@ */ package org.apache.aurora.scheduler.mesos; -import com.google.common.base.Optional; +import java.util.Optional; import org.apache.mesos.v1.Protos; import org.apache.mesos.v1.scheduler.Mesos; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/mesos/VersionedMesosSchedulerImpl.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/VersionedMesosSchedulerImpl.java b/src/main/java/org/apache/aurora/scheduler/mesos/VersionedMesosSchedulerImpl.java index 5329de5..43c8ee4 100644 --- a/src/main/java/org/apache/aurora/scheduler/mesos/VersionedMesosSchedulerImpl.java +++ b/src/main/java/org/apache/aurora/scheduler/mesos/VersionedMesosSchedulerImpl.java @@ -13,12 +13,13 @@ */ package org.apache.aurora.scheduler.mesos; +import java.util.Optional; import java.util.concurrent.Executor; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; + import javax.inject.Inject; -import com.google.common.base.Optional; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/mesos/VersionedSchedulerDriverService.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/VersionedSchedulerDriverService.java b/src/main/java/org/apache/aurora/scheduler/mesos/VersionedSchedulerDriverService.java index 4609064..673788d 100644 --- a/src/main/java/org/apache/aurora/scheduler/mesos/VersionedSchedulerDriverService.java +++ b/src/main/java/org/apache/aurora/scheduler/mesos/VersionedSchedulerDriverService.java @@ -14,9 +14,9 @@ package org.apache.aurora.scheduler.mesos; import java.util.Collection; +import java.util.Optional; import java.util.concurrent.CountDownLatch; -import com.google.common.base.Optional; import com.google.common.collect.Collections2; import com.google.common.eventbus.Subscribe; import com.google.common.util.concurrent.AbstractIdleService; @@ -101,12 +101,12 @@ class VersionedSchedulerDriverService extends AbstractIdleService LOG.warn("Did not find a persisted framework ID, connecting as a new framework."); } - Credential credential = driverSettings.getCredentials().orNull(); + Credential credential = driverSettings.getCredentials().orElse(null); Mesos mesos = factory.create( scheduler, frameworkBuilder.build(), driverSettings.getMasterUri(), - Optional.fromNullable(credential)); + Optional.ofNullable(credential)); mesosFuture.set(mesos); } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/offers/HostOffer.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/offers/HostOffer.java b/src/main/java/org/apache/aurora/scheduler/offers/HostOffer.java index 7934838..b289ddb 100644 --- a/src/main/java/org/apache/aurora/scheduler/offers/HostOffer.java +++ b/src/main/java/org/apache/aurora/scheduler/offers/HostOffer.java @@ -15,10 +15,10 @@ package org.apache.aurora.scheduler.offers; import java.time.Instant; import java.util.Objects; +import java.util.Optional; import java.util.function.Supplier; import com.google.common.base.MoreObjects; -import com.google.common.base.Optional; import com.google.common.base.Suppliers; import org.apache.aurora.scheduler.base.Conversions; @@ -84,7 +84,7 @@ public class HostOffer { if (offer.hasUnavailability()) { return Optional.of(Conversions.getStart(offer.getUnavailability())); } else { - return Optional.absent(); + return Optional.empty(); } } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/offers/HostOffers.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/offers/HostOffers.java b/src/main/java/org/apache/aurora/scheduler/offers/HostOffers.java index c0a4b57..a01c0a8 100644 --- a/src/main/java/org/apache/aurora/scheduler/offers/HostOffers.java +++ b/src/main/java/org/apache/aurora/scheduler/offers/HostOffers.java @@ -14,12 +14,12 @@ package org.apache.aurora.scheduler.offers; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.concurrent.ConcurrentSkipListSet; import java.util.concurrent.atomic.AtomicLong; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.cache.Cache; import com.google.common.collect.FluentIterable; import com.google.common.collect.Iterables; @@ -98,7 +98,7 @@ class HostOffers { } addInternal(offer); - return Optional.absent(); + return Optional.empty(); } private void addInternal(HostOffer offer) { @@ -135,7 +135,7 @@ class HostOffers { synchronized Optional<HostOffer> get(Protos.AgentID slaveId) { HostOffer offer = offersBySlave.get(slaveId); if (offer == null || globallyBannedOffers.contains(offer.getOffer().getId())) { - return Optional.absent(); + return Optional.empty(); } return Optional.of(offer); @@ -163,9 +163,9 @@ class HostOffers { HostOffer offer = optionalOffer.get(); if (isGloballyBanned(offer) - || isVetoed(offer, resourceRequest, revocable, Optional.absent())) { + || isVetoed(offer, resourceRequest, revocable, Optional.empty())) { - return Optional.absent(); + return Optional.empty(); } } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java b/src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java index df32775..e90de3e 100644 --- a/src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java +++ b/src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java @@ -13,8 +13,9 @@ */ package org.apache.aurora.scheduler.offers; +import java.util.Optional; + import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import org.apache.aurora.scheduler.base.TaskGroupKey; import org.apache.aurora.scheduler.events.PubsubEvent.EventSubscriber; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerImpl.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerImpl.java b/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerImpl.java index 14a528f..8e806b7 100644 --- a/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerImpl.java +++ b/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerImpl.java @@ -13,12 +13,13 @@ */ package org.apache.aurora.scheduler.offers; +import java.util.Optional; import java.util.Set; import java.util.concurrent.atomic.AtomicLong; + import javax.inject.Inject; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import com.google.common.eventbus.Subscribe; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/offers/OfferOrderBuilder.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/offers/OfferOrderBuilder.java b/src/main/java/org/apache/aurora/scheduler/offers/OfferOrderBuilder.java index 57462a3..1260ef1 100644 --- a/src/main/java/org/apache/aurora/scheduler/offers/OfferOrderBuilder.java +++ b/src/main/java/org/apache/aurora/scheduler/offers/OfferOrderBuilder.java @@ -47,7 +47,7 @@ final class OfferOrderBuilder { Ordering .natural() .reverse() - .onResultOf(o -> o.getUnavailabilityStart().or(Instant.MAX)); + .onResultOf(o -> o.getUnavailabilityStart().orElse(Instant.MAX)); private static final Ordering<HostOffer> BASE_COMPARATOR = AURORA_MAINTENANCE_COMPARATOR.compound(MESOS_MAINTENANCE_COMPARATOR); http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/preemptor/BiCache.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/preemptor/BiCache.java b/src/main/java/org/apache/aurora/scheduler/preemptor/BiCache.java index 7616012..ad4c039 100644 --- a/src/main/java/org/apache/aurora/scheduler/preemptor/BiCache.java +++ b/src/main/java/org/apache/aurora/scheduler/preemptor/BiCache.java @@ -14,13 +14,13 @@ package org.apache.aurora.scheduler.preemptor; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import javax.inject.Inject; -import com.google.common.base.Optional; import com.google.common.base.Ticker; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; @@ -118,7 +118,7 @@ public class BiCache<K, V> { * @return Optional of value. */ public synchronized Optional<V> get(K key) { - return Optional.fromNullable(cache.getIfPresent(key)); + return Optional.ofNullable(cache.getIfPresent(key)); } /** http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessor.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessor.java b/src/main/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessor.java index abfec58..056e466 100644 --- a/src/main/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessor.java +++ b/src/main/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessor.java @@ -19,6 +19,7 @@ import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import javax.inject.Inject; @@ -27,7 +28,6 @@ import javax.inject.Qualifier; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Function; import com.google.common.base.Functions; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.base.Predicates; @@ -179,7 +179,7 @@ public class PendingTaskProcessor implements Runnable { task, slavesToActiveTasks.get(slaveId), jobStates.getUnchecked(task.getJob()), - Optional.fromNullable(slavesToOffers.get(slaveId)), + Optional.ofNullable(slavesToOffers.get(slaveId)), store); metrics.recordSlotSearchResult(candidates, task); http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilter.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilter.java b/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilter.java index cce93d8..cf6d348 100644 --- a/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilter.java +++ b/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilter.java @@ -15,13 +15,13 @@ package org.apache.aurora.scheduler.preemptor; import java.time.Instant; import java.util.List; +import java.util.Optional; import java.util.Set; import javax.inject.Inject; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Function; -import com.google.common.base.Optional; import com.google.common.base.Predicate; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableSet; @@ -197,9 +197,10 @@ public interface PreemptionVictimFilter { // get the host for the schedulingFilter. Set<String> hosts = ImmutableSet.<String>builder() .addAll(Iterables.transform(possibleVictims, VICTIM_TO_HOST)) - .addAll(Iterables.transform(offer.asSet(), OFFER_TO_HOST)).build(); + .addAll(offer.map(OFFER_TO_HOST).map(ImmutableSet::of).orElse(ImmutableSet.of())) + .build(); - ResourceBag slackResources = offer.asSet().stream() + ResourceBag slackResources = offer.map(ImmutableSet::of).orElse(ImmutableSet.of()).stream() .map(o -> bagFromMesosResources(getNonRevocableOfferResources(o.getOffer()))) .reduce((l, r) -> l.add(r)) .orElse(EMPTY); @@ -209,7 +210,7 @@ public interface PreemptionVictimFilter { List<PreemptionVictim> sortedVictims = resourceOrder.immutableSortedCopy(preemptableTasks); if (sortedVictims.isEmpty()) { - return Optional.absent(); + return Optional.empty(); } Set<PreemptionVictim> toPreemptTasks = Sets.newHashSet(); @@ -219,7 +220,7 @@ public interface PreemptionVictimFilter { if (!attributes.isPresent()) { metrics.recordMissingAttributes(); - return Optional.absent(); + return Optional.empty(); } ResourceBag overhead = pendingTask.isSetExecutorConfig() @@ -232,7 +233,7 @@ public interface PreemptionVictimFilter { toPreemptTasks.add(victim); totalResource = totalResource.add(victimToResources.apply(victim)); - Optional<Instant> unavailability = Optional.absent(); + Optional<Instant> unavailability = Optional.empty(); if (offer.isPresent()) { unavailability = offer.get().getUnavailabilityStart(); } @@ -248,7 +249,7 @@ public interface PreemptionVictimFilter { return Optional.of(ImmutableSet.copyOf(toPreemptTasks)); } } - return Optional.absent(); + return Optional.empty(); } /** http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/preemptor/Preemptor.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/preemptor/Preemptor.java b/src/main/java/org/apache/aurora/scheduler/preemptor/Preemptor.java index ffb8b90..293d106 100644 --- a/src/main/java/org/apache/aurora/scheduler/preemptor/Preemptor.java +++ b/src/main/java/org/apache/aurora/scheduler/preemptor/Preemptor.java @@ -14,10 +14,10 @@ package org.apache.aurora.scheduler.preemptor; import java.util.Iterator; +import java.util.Optional; import javax.inject.Inject; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; import org.apache.aurora.scheduler.base.TaskGroupKey; @@ -104,7 +104,7 @@ public interface Preemptor { stateManager.changeState( store, toPreempt.getTaskId(), - Optional.absent(), + Optional.empty(), PREEMPTING, Optional.of("Preempting in favor of " + pendingTask.getTaskId())); } @@ -112,7 +112,7 @@ public interface Preemptor { } } - return Optional.absent(); + return Optional.empty(); } } } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptorMetrics.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptorMetrics.java b/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptorMetrics.java index 662aa2d..8730577 100644 --- a/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptorMetrics.java +++ b/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptorMetrics.java @@ -13,12 +13,12 @@ */ package org.apache.aurora.scheduler.preemptor; +import java.util.Optional; import java.util.Set; import javax.inject.Inject; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; import org.apache.aurora.scheduler.stats.CachedCounters; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptorModule.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptorModule.java b/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptorModule.java index 5d8907a..007ebc2 100644 --- a/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptorModule.java +++ b/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptorModule.java @@ -16,6 +16,7 @@ package org.apache.aurora.scheduler.preemptor; import java.lang.annotation.Retention; import java.lang.annotation.Target; import java.util.List; +import java.util.Optional; import javax.inject.Inject; import javax.inject.Qualifier; @@ -23,7 +24,6 @@ import javax.inject.Singleton; import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameters; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.AbstractScheduledService; import com.google.inject.AbstractModule; @@ -178,5 +178,5 @@ public class PreemptorModule extends AbstractModule { } private static final Preemptor NULL_PREEMPTOR = - (task, jobState, storeProvider) -> Optional.absent(); + (task, jobState, storeProvider) -> Optional.empty(); } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/quota/QuotaCheckResult.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/quota/QuotaCheckResult.java b/src/main/java/org/apache/aurora/scheduler/quota/QuotaCheckResult.java index d3ca2df..f07814a 100644 --- a/src/main/java/org/apache/aurora/scheduler/quota/QuotaCheckResult.java +++ b/src/main/java/org/apache/aurora/scheduler/quota/QuotaCheckResult.java @@ -13,8 +13,9 @@ */ package org.apache.aurora.scheduler.quota; +import java.util.Optional; + import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import org.apache.aurora.scheduler.resources.ResourceBag; import org.apache.aurora.scheduler.resources.ResourceType; @@ -48,7 +49,7 @@ public class QuotaCheckResult { @VisibleForTesting public QuotaCheckResult(Result result) { - this(result, Optional.absent()); + this(result, Optional.empty()); } private QuotaCheckResult(Result result, Optional<String> details) { http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java b/src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java index 64ad12b..e2750d7 100644 --- a/src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java +++ b/src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java @@ -15,13 +15,13 @@ package org.apache.aurora.scheduler.quota; import java.util.EnumSet; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.StreamSupport; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Function; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.collect.FluentIterable; @@ -172,7 +172,7 @@ public interface QuotaManager { throw new QuotaException("Negative values in: " + quota.toString()); } - QuotaInfo info = getQuotaInfo(ownerRole, Optional.absent(), storeProvider); + QuotaInfo info = getQuotaInfo(ownerRole, Optional.empty(), storeProvider); ResourceBag prodConsumption = info.getProdSharedConsumption(); ResourceBag overage = bagFromAggregate(quota).subtract(prodConsumption); if (!overage.filter(IS_NEGATIVE).getResourceVectors().isEmpty()) { @@ -187,7 +187,7 @@ public interface QuotaManager { @Override public QuotaInfo getQuotaInfo(String role, StoreProvider storeProvider) { - return getQuotaInfo(role, Optional.absent(), storeProvider); + return getQuotaInfo(role, Optional.empty(), storeProvider); } @Override @@ -237,7 +237,7 @@ public interface QuotaManager { } QuotaInfo quotaInfo = - getQuotaInfo(cronConfig.getKey().getRole(), Optional.absent(), storeProvider); + getQuotaInfo(cronConfig.getKey().getRole(), Optional.empty(), storeProvider); Optional<IJobConfiguration> oldCron = storeProvider.getCronJobStore().fetchJob(cronConfig.getKey()); @@ -296,8 +296,8 @@ public interface QuotaManager { return new QuotaInfo( storeProvider.getQuotaStore().fetchQuota(role) - .transform(ResourceManager::bagFromAggregate) - .or(EMPTY), + .map(ResourceManager::bagFromAggregate) + .orElse(EMPTY), getConsumption(tasks, updates, cronTemplates, PROD_SHARED), getConsumption(tasks, updates, cronTemplates, PROD_DEDICATED), getConsumption(tasks, updates, cronTemplates, NON_PROD_SHARED), @@ -384,7 +384,7 @@ public interface QuotaManager { final Map<IJobKey, IJobUpdateInstructions> roleJobUpdates) { return task -> { - Optional<IJobUpdateInstructions> update = Optional.fromNullable( + Optional<IJobUpdateInstructions> update = Optional.ofNullable( roleJobUpdates.get(task.getTask().getJob())); if (update.isPresent()) { @@ -437,7 +437,9 @@ public interface QuotaManager { Iterable<IInstanceTaskConfig> initialState = Iterables.filter(instructions.getInitialState(), instanceFilter); Iterable<IInstanceTaskConfig> desiredState = Iterables.filter( - Optional.fromNullable(instructions.getDesiredState()).asSet(), + Optional.ofNullable(instructions.getDesiredState()) + .map(ImmutableSet::of) + .orElse(ImmutableSet.of()), instanceFilter); // Calculate result as max(existing, desired) per resource type. http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/reconciliation/TaskReconciler.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/reconciliation/TaskReconciler.java b/src/main/java/org/apache/aurora/scheduler/reconciliation/TaskReconciler.java index 23ac714..b7add9d 100644 --- a/src/main/java/org/apache/aurora/scheduler/reconciliation/TaskReconciler.java +++ b/src/main/java/org/apache/aurora/scheduler/reconciliation/TaskReconciler.java @@ -14,6 +14,7 @@ package org.apache.aurora.scheduler.reconciliation; import java.util.List; +import java.util.Optional; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.atomic.AtomicLong; import java.util.stream.Collectors; @@ -22,7 +23,6 @@ import javax.inject.Inject; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Function; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.google.common.util.concurrent.AbstractIdleService; @@ -120,7 +120,7 @@ public class TaskReconciler extends AbstractIdleService { } public void triggerExplicitReconciliation(Optional<Integer> batchSize) { - doExplicitReconcile(batchSize.or(settings.explicitBatchSize)); + doExplicitReconcile(batchSize.orElse(settings.explicitBatchSize)); } public void triggerImplicitReconciliation() { http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/reconciliation/TaskTimeout.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/reconciliation/TaskTimeout.java b/src/main/java/org/apache/aurora/scheduler/reconciliation/TaskTimeout.java index 9910e77..454c4e0 100644 --- a/src/main/java/org/apache/aurora/scheduler/reconciliation/TaskTimeout.java +++ b/src/main/java/org/apache/aurora/scheduler/reconciliation/TaskTimeout.java @@ -14,6 +14,7 @@ package org.apache.aurora.scheduler.reconciliation; import java.util.EnumSet; +import java.util.Optional; import java.util.Set; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; @@ -22,7 +23,6 @@ import java.util.concurrent.atomic.AtomicLong; import javax.inject.Inject; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.eventbus.Subscribe; import com.google.common.util.concurrent.AbstractIdleService; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelector.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelector.java b/src/main/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelector.java index 1ccab2d7..5f4f452 100644 --- a/src/main/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelector.java +++ b/src/main/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelector.java @@ -13,7 +13,8 @@ */ package org.apache.aurora.scheduler.scheduling; -import com.google.common.base.Optional; +import java.util.Optional; + import com.google.common.collect.Iterables; import org.apache.aurora.scheduler.filter.SchedulingFilter.ResourceRequest; @@ -24,6 +25,6 @@ public class FirstFitOfferSelector implements OfferSelector { @Override public Optional<HostOffer> select(Iterable<HostOffer> offers, ResourceRequest resourceRequest) { - return Optional.fromNullable(Iterables.getFirst(offers, null)); + return Optional.ofNullable(Iterables.getFirst(offers, null)); } } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/scheduling/OfferSelector.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/scheduling/OfferSelector.java b/src/main/java/org/apache/aurora/scheduler/scheduling/OfferSelector.java index a8b0cb8..6f5d55c 100644 --- a/src/main/java/org/apache/aurora/scheduler/scheduling/OfferSelector.java +++ b/src/main/java/org/apache/aurora/scheduler/scheduling/OfferSelector.java @@ -13,7 +13,7 @@ */ package org.apache.aurora.scheduler.scheduling; -import com.google.common.base.Optional; +import java.util.Optional; import org.apache.aurora.scheduler.filter.SchedulingFilter.ResourceRequest; import org.apache.aurora.scheduler.offers.HostOffer; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/scheduling/RescheduleCalculator.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/scheduling/RescheduleCalculator.java b/src/main/java/org/apache/aurora/scheduler/scheduling/RescheduleCalculator.java index c0e877d..0f6f00a 100644 --- a/src/main/java/org/apache/aurora/scheduler/scheduling/RescheduleCalculator.java +++ b/src/main/java/org/apache/aurora/scheduler/scheduling/RescheduleCalculator.java @@ -15,12 +15,12 @@ package org.apache.aurora.scheduler.scheduling; import java.util.EnumSet; import java.util.List; +import java.util.Optional; import java.util.Set; import javax.inject.Inject; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.base.Predicates; @@ -143,7 +143,7 @@ public interface RescheduleCalculator { private Optional<IScheduledTask> getTaskAncestor(IScheduledTask task) { if (!task.isSetAncestorId()) { - return Optional.absent(); + return Optional.empty(); } return Storage.Util.fetchTask(storage, task.getAncestorId()); http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImpl.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImpl.java b/src/main/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImpl.java index 31af277..54bd177 100644 --- a/src/main/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImpl.java +++ b/src/main/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImpl.java @@ -14,12 +14,13 @@ package org.apache.aurora.scheduler.scheduling; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.concurrent.atomic.AtomicLong; + import javax.inject.Inject; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; @@ -216,7 +217,7 @@ public class TaskAssignerImpl implements TaskAssigner { Map<String, TaskGroupKey> preemptionReservations) { String agentId = offer.getOffer().getAgentId().getValue(); - Optional<TaskGroupKey> reservedGroup = Optional.fromNullable( + Optional<TaskGroupKey> reservedGroup = Optional.ofNullable( preemptionReservations.get(agentId)); return (reservedGroup.isPresent() && !reservedGroup.get().equals(groupKey)) http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/scheduling/TaskSchedulerImpl.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/scheduling/TaskSchedulerImpl.java b/src/main/java/org/apache/aurora/scheduler/scheduling/TaskSchedulerImpl.java index b6d5d95..cff4ab1 100644 --- a/src/main/java/org/apache/aurora/scheduler/scheduling/TaskSchedulerImpl.java +++ b/src/main/java/org/apache/aurora/scheduler/scheduling/TaskSchedulerImpl.java @@ -16,15 +16,16 @@ package org.apache.aurora.scheduler.scheduling; import java.lang.annotation.Retention; import java.lang.annotation.Target; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.concurrent.atomic.AtomicLong; import java.util.stream.Collectors; + import javax.inject.Inject; import javax.inject.Qualifier; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Joiner; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/scheduling/TaskThrottler.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/scheduling/TaskThrottler.java b/src/main/java/org/apache/aurora/scheduler/scheduling/TaskThrottler.java index 24692b0..d69bd11 100644 --- a/src/main/java/org/apache/aurora/scheduler/scheduling/TaskThrottler.java +++ b/src/main/java/org/apache/aurora/scheduler/scheduling/TaskThrottler.java @@ -13,12 +13,12 @@ */ package org.apache.aurora.scheduler.scheduling; +import java.util.Optional; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import javax.inject.Inject; -import com.google.common.base.Optional; import com.google.common.eventbus.Subscribe; import org.apache.aurora.common.stats.SlidingStats; @@ -81,7 +81,7 @@ class TaskThrottler implements EventSubscriber { stateChange.getTaskId(), Optional.of(THROTTLED), PENDING, - Optional.absent()); + Optional.empty()); return BatchWorker.NO_RESULT; }), delayMs, http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/spi/Permissions.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/spi/Permissions.java b/src/main/java/org/apache/aurora/scheduler/spi/Permissions.java index 843621c..99bb592 100644 --- a/src/main/java/org/apache/aurora/scheduler/spi/Permissions.java +++ b/src/main/java/org/apache/aurora/scheduler/spi/Permissions.java @@ -13,7 +13,7 @@ */ package org.apache.aurora.scheduler.spi; -import com.google.common.base.Optional; +import java.util.Optional; import org.apache.aurora.scheduler.storage.entities.IJobKey; import org.apache.shiro.authz.Permission; @@ -93,7 +93,7 @@ public final class Permissions { } } - return Optional.absent(); + return Optional.empty(); } } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java b/src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java index 1edb252..f58c66a 100644 --- a/src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java +++ b/src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java @@ -13,13 +13,13 @@ */ package org.apache.aurora.scheduler.state; +import java.util.Optional; import java.util.Set; import javax.inject.Inject; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Function; -import com.google.common.base.Optional; import com.google.common.base.Predicates; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableSet; @@ -144,7 +144,7 @@ public interface MaintenanceController { stateManager.changeState( store, taskId, - Optional.absent(), + Optional.empty(), ScheduleStatus.DRAINING, DRAINING_MESSAGE); } @@ -219,7 +219,7 @@ public interface MaintenanceController { if (offer.getUrl().getAddress().hasHostname()) { return Optional.of(offer.getUrl().getAddress().getHostname()); } else { - return Optional.absent(); + return Optional.empty(); } } @@ -249,9 +249,9 @@ public interface MaintenanceController { @Override public MaintenanceMode getMode(final String host) { return storage.read(storeProvider -> storeProvider.getAttributeStore().getHostAttributes(host) - .transform(ATTRS_TO_STATUS) - .transform(GET_MODE) - .or(MaintenanceMode.NONE)); + .map(ATTRS_TO_STATUS) + .map(GET_MODE) + .orElse(MaintenanceMode.NONE)); } @Override http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/state/PartitionManager.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/state/PartitionManager.java b/src/main/java/org/apache/aurora/scheduler/state/PartitionManager.java index 6d49c49..98b420a 100644 --- a/src/main/java/org/apache/aurora/scheduler/state/PartitionManager.java +++ b/src/main/java/org/apache/aurora/scheduler/state/PartitionManager.java @@ -14,11 +14,11 @@ package org.apache.aurora.scheduler.state; import java.time.Duration; +import java.util.Optional; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.eventbus.Subscribe; import com.google.inject.Inject; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/state/SideEffect.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/state/SideEffect.java b/src/main/java/org/apache/aurora/scheduler/state/SideEffect.java index 2aa500a..a74f27f 100644 --- a/src/main/java/org/apache/aurora/scheduler/state/SideEffect.java +++ b/src/main/java/org/apache/aurora/scheduler/state/SideEffect.java @@ -14,8 +14,7 @@ package org.apache.aurora.scheduler.state; import java.util.Objects; - -import com.google.common.base.Optional; +import java.util.Optional; import org.apache.aurora.gen.ScheduleStatus; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/state/StateManager.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/state/StateManager.java b/src/main/java/org/apache/aurora/scheduler/state/StateManager.java index b09787f..b27c837 100644 --- a/src/main/java/org/apache/aurora/scheduler/state/StateManager.java +++ b/src/main/java/org/apache/aurora/scheduler/state/StateManager.java @@ -13,11 +13,10 @@ */ package org.apache.aurora.scheduler.state; +import java.util.Optional; import java.util.Set; import java.util.function.Function; -import com.google.common.base.Optional; - import org.apache.aurora.gen.ScheduleStatus; import org.apache.aurora.scheduler.storage.entities.IAssignedTask; import org.apache.aurora.scheduler.storage.entities.ITaskConfig; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b/src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java index 3ba676b..b2e454d 100644 --- a/src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java +++ b/src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java @@ -16,6 +16,7 @@ package org.apache.aurora.scheduler.state; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.List; +import java.util.Optional; import java.util.Set; import java.util.function.Function; import java.util.stream.Collectors; @@ -23,7 +24,6 @@ import java.util.stream.Collectors; import javax.inject.Inject; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Supplier; import com.google.common.base.Suppliers; @@ -134,7 +134,7 @@ public class StateManagerImpl implements StateManager { Tasks.id(scheduledTask), Optional.of(scheduledTask), Optional.of(PENDING), - Optional.absent()); + Optional.empty()); } } @@ -179,10 +179,10 @@ public class StateManagerImpl implements StateManager { StateChangeResult changeResult = updateTaskAndExternalState( storeProvider.getUnsafeTaskStore(), - Optional.absent(), + Optional.empty(), taskId, ASSIGNED, - Optional.absent()); + Optional.empty()); Preconditions.checkState( changeResult == SUCCESS, @@ -299,7 +299,7 @@ public class StateManagerImpl implements StateManager { mutableTask.addToTaskEvents(new TaskEvent() .setTimestamp(clock.nowMillis()) .setStatus(targetState.get()) - .setMessage(transitionMessage.orNull()) + .setMessage(transitionMessage.orElse(null)) .setScheduler(LOCAL_HOST_SUPPLIER.get())); return IScheduledTask.build(mutableTask); }); @@ -309,7 +309,7 @@ public class StateManagerImpl implements StateManager { case TRANSITION_TO_LOST: updateTaskAndExternalState( taskStore, - Optional.absent(), + Optional.empty(), taskId, ScheduleStatus.LOST, Optional.of("Action performed on partitioned task, marking as LOST.")); http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/state/TaskStateMachine.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/state/TaskStateMachine.java b/src/main/java/org/apache/aurora/scheduler/state/TaskStateMachine.java index 914d401..b8ba5da 100644 --- a/src/main/java/org/apache/aurora/scheduler/state/TaskStateMachine.java +++ b/src/main/java/org/apache/aurora/scheduler/state/TaskStateMachine.java @@ -13,6 +13,7 @@ */ package org.apache.aurora.scheduler.state; +import java.util.Optional; import java.util.Set; import java.util.concurrent.atomic.AtomicLong; import java.util.function.Consumer; @@ -22,7 +23,6 @@ import javax.annotation.Nullable; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Function; import com.google.common.base.Functions; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; @@ -89,7 +89,7 @@ class TaskStateMachine { Stats.exportLong("scheduler_illegal_task_state_transitions"); private final StateMachine<TaskState> stateMachine; - private Optional<TaskState> previousState = Optional.absent(); + private Optional<TaskState> previousState = Optional.empty(); private final Set<SideEffect> sideEffects = Sets.newHashSet(); @@ -123,7 +123,7 @@ class TaskStateMachine { /** * The task does not have an associated state as it has been deleted from the store. */ - DELETED(Optional.<ScheduleStatus>absent()); + DELETED(Optional.empty()); private final Optional<ScheduleStatus> status; @@ -143,7 +143,7 @@ class TaskStateMachine { * @param name Name of the state machine, for logging. */ TaskStateMachine(String name) { - this(name, Optional.absent()); + this(name, Optional.empty()); } /** @@ -160,7 +160,7 @@ class TaskStateMachine { MorePreconditions.checkNotBlank(name); requireNonNull(task); - final TaskState initialState = task.transform(SCHEDULED_TO_TASK_STATE).or(DELETED); + final TaskState initialState = task.map(SCHEDULED_TO_TASK_STATE).orElse(DELETED); if (task.isPresent()) { Preconditions.checkState( initialState != DELETED, @@ -517,7 +517,7 @@ class TaskStateMachine { } private void addFollowup(Action action) { - addFollowup(new SideEffect(action, Optional.absent())); + addFollowup(new SideEffect(action, Optional.empty())); } private void addFollowup(SideEffect sideEffect) { @@ -537,7 +537,7 @@ class TaskStateMachine { * TODO(maxim): The current StateManager/TaskStateMachine interaction makes it hard to expose * a dedicated task deletion method without leaking out the state machine implementation details. * Consider refactoring here to allow for an unambiguous task deletion without resorting to - * Optional.absent(). + * Optional.empty(). * * @param status Status to apply to the task or absent if a task deletion is required. * @return {@code true} if the state change was allowed, {@code false} otherwise. @@ -551,7 +551,7 @@ class TaskStateMachine { * state transition (e.g. storing resource consumption of a running task), we need to find * a different way to suppress noop transitions. */ - TaskState taskState = status.transform(STATUS_TO_TASK_STATE).or(DELETED); + TaskState taskState = status.map(STATUS_TO_TASK_STATE).orElse(DELETED); if (stateMachine.getState() == taskState) { return new TransitionResult(NOOP, ImmutableSet.of()); } @@ -574,7 +574,7 @@ class TaskStateMachine { */ @Nullable ScheduleStatus getPreviousState() { - return previousState.transform(item -> item.getStatus().orNull()).orNull(); + return previousState.map(item -> item.getStatus().orElse(null)).orElse(null); } @Override http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/AttributeStore.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/AttributeStore.java b/src/main/java/org/apache/aurora/scheduler/storage/AttributeStore.java index 95632b3..f9b1379 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/AttributeStore.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/AttributeStore.java @@ -13,9 +13,9 @@ */ package org.apache.aurora.scheduler.storage; +import java.util.Optional; import java.util.Set; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import org.apache.aurora.gen.MaintenanceMode; @@ -97,7 +97,7 @@ public interface AttributeStore { * @param host The host to merge existing attributes from. * @param mode Maintenance mode to save if the host is known. * @return The attributes that should be saved if there were already attributes stored for - * the {@code host}, or {@link Optional#absent() none} if the host is unknown and + * the {@code host}, or {@link Optional#empty() none} if the host is unknown and * attributes should not be saved. */ public static Optional<IHostAttributes> mergeMode( @@ -109,7 +109,7 @@ public interface AttributeStore { if (stored.isPresent()) { return Optional.of(IHostAttributes.build(stored.get().newBuilder().setMode(mode))); } else { - return Optional.absent(); + return Optional.empty(); } } @@ -123,8 +123,8 @@ public interface AttributeStore { public static IHostAttributes mergeOffer(AttributeStore store, Protos.Offer offer) { IHostAttributes fromOffer = Conversions.getAttributes(offer); MaintenanceMode mode = store.getHostAttributes(fromOffer.getHost()) - .transform(IHostAttributes::getMode) - .or(MaintenanceMode.NONE); + .map(IHostAttributes::getMode) + .orElse(MaintenanceMode.NONE); return IHostAttributes.build(fromOffer.newBuilder().setMode(mode)); } } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/CronJobStore.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/CronJobStore.java b/src/main/java/org/apache/aurora/scheduler/storage/CronJobStore.java index d78474a..a35e8e0 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/CronJobStore.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/CronJobStore.java @@ -13,7 +13,7 @@ */ package org.apache.aurora.scheduler.storage; -import com.google.common.base.Optional; +import java.util.Optional; import org.apache.aurora.scheduler.storage.entities.IJobConfiguration; import org.apache.aurora.scheduler.storage.entities.IJobKey; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/JobUpdateStore.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/JobUpdateStore.java b/src/main/java/org/apache/aurora/scheduler/storage/JobUpdateStore.java index 6b91d97..b25f383 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/JobUpdateStore.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/JobUpdateStore.java @@ -15,10 +15,9 @@ package org.apache.aurora.scheduler.storage; import java.util.EnumSet; import java.util.List; +import java.util.Optional; import java.util.Set; -import com.google.common.base.Optional; - import org.apache.aurora.gen.JobUpdateQuery; import org.apache.aurora.gen.JobUpdateStatus; import org.apache.aurora.scheduler.storage.entities.IJobInstanceUpdateEvent; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/QuotaStore.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/QuotaStore.java b/src/main/java/org/apache/aurora/scheduler/storage/QuotaStore.java index 688eb56..62f8399 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/QuotaStore.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/QuotaStore.java @@ -14,8 +14,7 @@ package org.apache.aurora.scheduler.storage; import java.util.Map; - -import com.google.common.base.Optional; +import java.util.Optional; import org.apache.aurora.scheduler.storage.entities.IResourceAggregate; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/SchedulerStore.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/SchedulerStore.java b/src/main/java/org/apache/aurora/scheduler/storage/SchedulerStore.java index c822e20..0cde293 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/SchedulerStore.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/SchedulerStore.java @@ -13,7 +13,7 @@ */ package org.apache.aurora.scheduler.storage; -import com.google.common.base.Optional; +import java.util.Optional; /** * Stores data specific to the scheduler itself. http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/Storage.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/Storage.java b/src/main/java/org/apache/aurora/scheduler/storage/Storage.java index c9ea1de..da5534f 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/Storage.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/Storage.java @@ -17,11 +17,10 @@ import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import java.util.Optional; import javax.inject.Qualifier; -import com.google.common.base.Optional; - import org.apache.aurora.scheduler.base.Query.Builder; import org.apache.aurora.scheduler.base.SchedulerException; import org.apache.aurora.scheduler.storage.entities.IJobConfiguration; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/TaskStore.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/TaskStore.java b/src/main/java/org/apache/aurora/scheduler/storage/TaskStore.java index 29d3b24..1219215 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/TaskStore.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/TaskStore.java @@ -13,11 +13,11 @@ */ package org.apache.aurora.scheduler.storage; +import java.util.Optional; import java.util.Set; import com.google.common.base.CharMatcher; import com.google.common.base.Function; -import com.google.common.base.Optional; import com.google.common.base.Predicate; import org.apache.aurora.scheduler.base.Query; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/durability/WriteRecorder.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/durability/WriteRecorder.java b/src/main/java/org/apache/aurora/scheduler/storage/durability/WriteRecorder.java index 5ae834a..dea8e69 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/durability/WriteRecorder.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/durability/WriteRecorder.java @@ -15,10 +15,10 @@ package org.apache.aurora.scheduler.storage.durability; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import com.google.common.base.Function; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java b/src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java index 5aefe5f..50553f8 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java @@ -280,7 +280,7 @@ public class SnapshotStoreImpl implements Snapshotter { } SchedulerMetadata metadata = new SchedulerMetadata() - .setFrameworkId(storeProvider.getSchedulerStore().fetchFrameworkId().orNull()) + .setFrameworkId(storeProvider.getSchedulerStore().fetchFrameworkId().orElse(null)) .setDetails(buildInfo.getProperties()); snapshot.setSchedulerMetadata(metadata); http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/mem/MemAttributeStore.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemAttributeStore.java b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemAttributeStore.java index f1a5309..67684cf 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemAttributeStore.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemAttributeStore.java @@ -14,9 +14,9 @@ package org.apache.aurora.scheduler.storage.mem; import java.util.Map; +import java.util.Optional; import java.util.Set; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableSet; @@ -47,7 +47,7 @@ class MemAttributeStore implements AttributeStore.Mutable { IHostAttributes previous = hostAttributes.put( attributes.getHost(), - merge(attributes, Optional.fromNullable(hostAttributes.get(attributes.getHost())))); + merge(attributes, Optional.ofNullable(hostAttributes.get(attributes.getHost())))); return !attributes.equals(previous); } @@ -72,7 +72,7 @@ class MemAttributeStore implements AttributeStore.Mutable { @Override public Optional<IHostAttributes> getHostAttributes(String host) { - return Optional.fromNullable(hostAttributes.get(host)); + return Optional.ofNullable(hostAttributes.get(host)); } @Override http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/mem/MemCronJobStore.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemCronJobStore.java b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemCronJobStore.java index 3fd7d30..a1e1f1e 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemCronJobStore.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemCronJobStore.java @@ -14,11 +14,11 @@ package org.apache.aurora.scheduler.storage.mem; import java.util.Map; +import java.util.Optional; import javax.inject.Inject; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; @@ -71,6 +71,6 @@ class MemCronJobStore implements CronJobStore.Mutable { @Timed("mem_storage_cron_fetch_job") @Override public Optional<IJobConfiguration> fetchJob(IJobKey jobKey) { - return Optional.fromNullable(jobs.get(jobKey)); + return Optional.ofNullable(jobs.get(jobKey)); } } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/mem/MemJobUpdateStore.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemJobUpdateStore.java b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemJobUpdateStore.java index f96ec08..9e86b9e 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemJobUpdateStore.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemJobUpdateStore.java @@ -16,12 +16,12 @@ package org.apache.aurora.scheduler.storage.mem; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; @@ -64,7 +64,7 @@ public class MemJobUpdateStore implements JobUpdateStore.Mutable { @Timed("job_update_store_fetch_details") @Override public synchronized Optional<IJobUpdateDetails> fetchJobUpdate(IJobUpdateKey key) { - return Optional.fromNullable(updates.get(key)); + return Optional.ofNullable(updates.get(key)); } private static void validateInstructions(IJobUpdateInstructions instructions) { http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/mem/MemQuotaStore.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemQuotaStore.java b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemQuotaStore.java index 61b9eee..afb29fc 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemQuotaStore.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemQuotaStore.java @@ -14,8 +14,8 @@ package org.apache.aurora.scheduler.storage.mem; import java.util.Map; +import java.util.Optional; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; @@ -46,7 +46,7 @@ class MemQuotaStore implements QuotaStore.Mutable { @Override public Optional<IResourceAggregate> fetchQuota(String role) { - return Optional.fromNullable(quotas.get(role)); + return Optional.ofNullable(quotas.get(role)); } @Override http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/mem/MemSchedulerStore.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemSchedulerStore.java b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemSchedulerStore.java index 8a7ddd7..7ec8610 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemSchedulerStore.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemSchedulerStore.java @@ -13,9 +13,9 @@ */ package org.apache.aurora.scheduler.storage.mem; +import java.util.Optional; import java.util.concurrent.atomic.AtomicReference; -import com.google.common.base.Optional; import com.google.common.util.concurrent.Atomics; import org.apache.aurora.scheduler.storage.SchedulerStore; @@ -33,6 +33,6 @@ class MemSchedulerStore implements SchedulerStore.Mutable { @Override public Optional<String> fetchFrameworkId() { - return Optional.fromNullable(frameworkId.get()); + return Optional.ofNullable(frameworkId.get()); } } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java index 3bef9b7..b59999c 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java @@ -19,6 +19,7 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.concurrent.atomic.AtomicLong; @@ -28,7 +29,6 @@ import javax.inject.Qualifier; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Function; import com.google.common.base.Functions; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.base.Predicates; @@ -80,7 +80,7 @@ class MemTaskStore implements TaskStore.Mutable { JobKeys::from; private static final Function<Query.Builder, Optional<Set<String>>> QUERY_TO_SLAVE_HOST = query -> query.get().getSlaveHosts().isEmpty() - ? Optional.absent() + ? Optional.empty() : Optional.of(query.get().getSlaveHosts()); // Since this class operates under the API and umbrella of {@link Storage}, it is expected to be @@ -125,7 +125,7 @@ class MemTaskStore implements TaskStore.Mutable { @Override public Optional<IScheduledTask> fetchTask(String taskId) { requireNonNull(taskId); - return Optional.fromNullable(tasks.get(taskId)).transform(t -> t.storedTask); + return Optional.ofNullable(tasks.get(taskId)).map(t -> t.storedTask); } @Timed("mem_storage_fetch_tasks") @@ -204,7 +204,7 @@ class MemTaskStore implements TaskStore.Mutable { String taskId, Function<IScheduledTask, IScheduledTask> mutator) { - return fetchTask(taskId).transform(original -> { + return fetchTask(taskId).map(original -> { IScheduledTask maybeMutated = mutator.apply(original); requireNonNull(maybeMutated); if (!original.equals(maybeMutated)) { @@ -240,7 +240,7 @@ class MemTaskStore implements TaskStore.Mutable { private FluentIterable<IScheduledTask> matches(Query.Builder query) { // Apply the query against the working set. - Optional<? extends Iterable<Task>> from = Optional.absent(); + Optional<? extends Iterable<Task>> from = Optional.empty(); if (query.get().getTaskIds().isEmpty()) { for (SecondaryIndex<?> index : secondaryIndices) { Optional<Iterable<String>> indexMatch = index.getMatches(query); @@ -399,7 +399,7 @@ class MemTaskStore implements TaskStore.Mutable { }; Optional<Iterable<String>> getMatches(Query.Builder query) { - return queryExtractor.apply(query).transform(lookup); + return queryExtractor.apply(query).map(lookup); } } } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/testing/FakeStatsProvider.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/testing/FakeStatsProvider.java b/src/main/java/org/apache/aurora/scheduler/testing/FakeStatsProvider.java index f9d0baf..480712e 100644 --- a/src/main/java/org/apache/aurora/scheduler/testing/FakeStatsProvider.java +++ b/src/main/java/org/apache/aurora/scheduler/testing/FakeStatsProvider.java @@ -15,8 +15,8 @@ package org.apache.aurora.scheduler.testing; import java.util.Map; import java.util.concurrent.atomic.AtomicLong; +import java.util.function.Supplier; -import com.google.common.base.Supplier; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; @@ -68,7 +68,7 @@ public class FakeStatsProvider implements StatsProvider { } @Override - public <T extends Number> Stat<T> makeGauge(final String name, final Supplier<T> gauge) { + public <T extends Number> Stat<T> makeGauge(String name, Supplier<T> gauge) { stats.put(name, gauge); return new Stat<T>() { http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/thrift/AuditMessages.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/thrift/AuditMessages.java b/src/main/java/org/apache/aurora/scheduler/thrift/AuditMessages.java index d7bf846..0b9ff58 100644 --- a/src/main/java/org/apache/aurora/scheduler/thrift/AuditMessages.java +++ b/src/main/java/org/apache/aurora/scheduler/thrift/AuditMessages.java @@ -46,17 +46,16 @@ class AuditMessages { .orElse(DEFAULT_USER); } - com.google.common.base.Optional<String> transitionedBy() { - return com.google.common.base.Optional.of("Transition forced by " + getRemoteUserName()); + Optional<String> transitionedBy() { + return Optional.of("Transition forced by " + getRemoteUserName()); } - com.google.common.base.Optional<String> killedByRemoteUser( - com.google.common.base.Optional<String> message) { - String suffix = message.transform(s -> ".\n" + s).or(""); - return com.google.common.base.Optional.of("Killed by " + getRemoteUserName() + suffix); + Optional<String> killedByRemoteUser(Optional<String> message) { + String suffix = message.map(s -> ".\n" + s).orElse(""); + return Optional.of("Killed by " + getRemoteUserName() + suffix); } - com.google.common.base.Optional<String> restartedByRemoteUser() { - return com.google.common.base.Optional.of("Restarted by " + getRemoteUserName()); + Optional<String> restartedByRemoteUser() { + return Optional.of("Restarted by " + getRemoteUserName()); } } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java b/src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java index 9d327e4..e88cad6 100644 --- a/src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java +++ b/src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java @@ -18,6 +18,7 @@ import java.util.Date; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; @@ -28,7 +29,6 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Function; import com.google.common.base.Functions; import com.google.common.base.Joiner; -import com.google.common.base.Optional; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.FluentIterable; @@ -250,7 +250,7 @@ class ReadOnlySchedulerImpl implements ReadOnlyScheduler.Iface { @Override public Response getJobSummary(@Nullable String maybeNullRole) { - Optional<String> ownerRole = Optional.fromNullable(maybeNullRole); + Optional<String> ownerRole = Optional.ofNullable(maybeNullRole); Multimap<IJobKey, IScheduledTask> tasks = getTasks(maybeRoleScoped(ownerRole)); Map<IJobKey, IJobConfiguration> jobs = getJobs(ownerRole, tasks); @@ -264,7 +264,7 @@ class ReadOnlySchedulerImpl implements ReadOnlyScheduler.Iface { if (job.isSetCronSchedule()) { CrontabEntry crontabEntry = CrontabEntry.parse(job.getCronSchedule()); Optional<Date> nextRun = cronPredictor.predictNextRun(crontabEntry); - return nextRun.transform(date -> summary.setNextCronRunMs(date.getTime())).or(summary); + return nextRun.map(date -> summary.setNextCronRunMs(date.getTime())).orElse(summary); } else { return summary; } @@ -278,7 +278,7 @@ class ReadOnlySchedulerImpl implements ReadOnlyScheduler.Iface { @Override public Response getJobs(@Nullable String maybeNullRole) { - Optional<String> ownerRole = Optional.fromNullable(maybeNullRole); + Optional<String> ownerRole = Optional.ofNullable(maybeNullRole); return ok(Result.getJobsResult( new GetJobsResult() http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java b/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java index 1b003ab..9fc0416 100644 --- a/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java +++ b/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java @@ -14,7 +14,9 @@ package org.apache.aurora.scheduler.thrift; import java.util.Comparator; +import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.concurrent.atomic.AtomicLong; @@ -22,12 +24,11 @@ import javax.annotation.Nullable; import javax.inject.Inject; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ContiguousSet; import com.google.common.collect.DiscreteDomain; -import com.google.common.collect.FluentIterable; import com.google.common.collect.HashMultimap; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; @@ -482,9 +483,9 @@ class SchedulerThriftInterface implements AnnotatedAuroraAdmin { if (StateChangeResult.SUCCESS == stateManager.changeState( storeProvider, taskId, - Optional.absent(), + Optional.empty(), ScheduleStatus.KILLING, - auditMessages.killedByRemoteUser(Optional.fromNullable(message)))) { + auditMessages.killedByRemoteUser(Optional.ofNullable(message)))) { ++tasksKilled; } } @@ -519,7 +520,7 @@ class SchedulerThriftInterface implements AnnotatedAuroraAdmin { stateManager.changeState( storeProvider, taskId, - Optional.absent(), + Optional.empty(), ScheduleStatus.RESTARTING, auditMessages.restartedByRemoteUser()); } @@ -592,7 +593,7 @@ class SchedulerThriftInterface implements AnnotatedAuroraAdmin { storage.write(storeProvider -> stateManager.changeState( storeProvider, taskId, - Optional.absent(), + Optional.empty(), status, auditMessages.transitionedBy())); @@ -657,7 +658,7 @@ class SchedulerThriftInterface implements AnnotatedAuroraAdmin { Optional<Integer> batchSize = settings.isSetBatchSize() ? Optional.of(settings.getBatchSize()) - : Optional.absent(); + : Optional.empty(); taskReconciler.triggerExplicitReconciliation(batchSize); return ok(); @@ -689,21 +690,20 @@ class SchedulerThriftInterface implements AnnotatedAuroraAdmin { jobUpdateController.assertNotUpdating(jobKey); - FluentIterable<IScheduledTask> currentTasks = FluentIterable.from( + List<IScheduledTask> currentTasks = ImmutableList.copyOf( storeProvider.getTaskStore().fetchTasks(Query.jobScoped(jobKey).active())); - Optional<IScheduledTask> templateTask = Iterables.tryFind( - currentTasks, - e -> e.getAssignedTask().getInstanceId() == key.getInstanceId()); + Optional<IScheduledTask> templateTask = currentTasks.stream() + .filter(e -> e.getAssignedTask().getInstanceId() == key.getInstanceId()) + .findFirst(); if (!templateTask.isPresent()) { return invalidRequest(INVALID_INSTANCE_ID); } - int lastId = currentTasks - .transform(e -> e.getAssignedTask().getInstanceId()) - .toList() - .stream() - .max(Comparator.naturalOrder()).get(); + int lastId = currentTasks.stream() + .map(e -> e.getAssignedTask().getInstanceId()) + .max(Comparator.naturalOrder()) + .get(); Set<Integer> instanceIds = ContiguousSet.create( Range.openClosed(lastId, lastId + count), @@ -748,7 +748,7 @@ class SchedulerThriftInterface implements AnnotatedAuroraAdmin { if (quotaCheck.getResult() == INSUFFICIENT_QUOTA) { throw new TaskValidationException("Insufficient resource quota: " - + quotaCheck.getDetails().or("")); + + quotaCheck.getDetails().orElse("")); } } @@ -870,7 +870,7 @@ class SchedulerThriftInterface implements AnnotatedAuroraAdmin { jobUpdateController.start( update, - new AuditData(remoteUserName, Optional.fromNullable(message))); + new AuditData(remoteUserName, Optional.ofNullable(message))); startJobUpdateCounter.addAndGet(request.getInstanceCount()); return response.setResponseCode(OK) .setResult(Result.startJobUpdateResult( @@ -917,7 +917,7 @@ class SchedulerThriftInterface implements AnnotatedAuroraAdmin { return changeJobUpdateState( mutableKey, JobUpdateController::pause, - Optional.fromNullable(message)); + Optional.ofNullable(message)); } @Override @@ -925,7 +925,7 @@ class SchedulerThriftInterface implements AnnotatedAuroraAdmin { return changeJobUpdateState( mutableKey, JobUpdateController::resume, - Optional.fromNullable(message)); + Optional.ofNullable(message)); } @Override @@ -933,7 +933,7 @@ class SchedulerThriftInterface implements AnnotatedAuroraAdmin { return changeJobUpdateState( mutableKey, JobUpdateController::abort, - Optional.fromNullable(message)); + Optional.ofNullable(message)); } @Override @@ -941,7 +941,7 @@ class SchedulerThriftInterface implements AnnotatedAuroraAdmin { return changeJobUpdateState( mutableKey, JobUpdateController::rollback, - Optional.fromNullable(message)); + Optional.ofNullable(message)); } @Override http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/updater/InstanceAction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/updater/InstanceAction.java b/src/main/java/org/apache/aurora/scheduler/updater/InstanceAction.java index 9210757..fb2639d 100644 --- a/src/main/java/org/apache/aurora/scheduler/updater/InstanceAction.java +++ b/src/main/java/org/apache/aurora/scheduler/updater/InstanceAction.java @@ -13,7 +13,7 @@ */ package org.apache.aurora.scheduler.updater; -import com.google.common.base.Optional; +import java.util.Optional; import static org.apache.aurora.scheduler.updater.InstanceActionHandler.AddTask; import static org.apache.aurora.scheduler.updater.InstanceActionHandler.KillTask; @@ -27,7 +27,7 @@ enum InstanceAction { // deciding to reschedule the task. ADD_TASK(Optional.of(new AddTask())), WATCH_TASK(Optional.of(new WatchRunningTask())), - AWAIT_STATE_CHANGE(Optional.absent()); + AWAIT_STATE_CHANGE(Optional.empty()); private final Optional<InstanceActionHandler> handler; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/updater/InstanceActionHandler.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/updater/InstanceActionHandler.java b/src/main/java/org/apache/aurora/scheduler/updater/InstanceActionHandler.java index a39e871..9fa68b2 100644 --- a/src/main/java/org/apache/aurora/scheduler/updater/InstanceActionHandler.java +++ b/src/main/java/org/apache/aurora/scheduler/updater/InstanceActionHandler.java @@ -13,7 +13,8 @@ */ package org.apache.aurora.scheduler.updater; -import com.google.common.base.Optional; +import java.util.Optional; + import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.google.common.collect.Range; @@ -55,7 +56,7 @@ interface InstanceActionHandler { MutableStoreProvider storeProvider, IInstanceKey instance) { - return Optional.fromNullable(Iterables.getOnlyElement( + return Optional.ofNullable(Iterables.getOnlyElement( storeProvider.getTaskStore().fetchTasks(Query.instanceScoped(instance).active()), null)); } @@ -108,7 +109,7 @@ interface InstanceActionHandler { ImmutableSet.of(instance.getInstanceId())); } // A task state transition will trigger re-evaluation in this case, rather than a timer. - return Optional.absent(); + return Optional.empty(); } } @@ -135,7 +136,7 @@ interface InstanceActionHandler { stateManager.changeState( storeProvider, Tasks.id(task.get()), - Optional.absent(), + Optional.empty(), ScheduleStatus.KILLING, Optional.of("Killed for job update " + key.getId())); if (reserveForReplacement && task.get().getAssignedTask().isSetSlaveId()) { @@ -147,7 +148,7 @@ interface InstanceActionHandler { LOG.info("No active instance " + instance + " to kill while " + status); } // A task state transition will trigger re-evaluation in this case, rather than a timer. - return Optional.absent(); + return Optional.empty(); } } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java b/src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java index 0aa4f36..a002d95 100644 --- a/src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java +++ b/src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java @@ -13,10 +13,9 @@ */ package org.apache.aurora.scheduler.updater; -import com.google.common.base.Optional; +import java.util.Optional; + import com.google.common.base.Preconditions; -import com.google.common.base.Predicates; -import com.google.common.collect.Iterables; import org.apache.aurora.common.quantity.Amount; import org.apache.aurora.common.quantity.Time; @@ -25,7 +24,6 @@ import org.apache.aurora.gen.ScheduleStatus; import org.apache.aurora.scheduler.base.Tasks; import org.apache.aurora.scheduler.storage.entities.IScheduledTask; import org.apache.aurora.scheduler.storage.entities.ITaskConfig; -import org.apache.aurora.scheduler.storage.entities.ITaskEvent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -75,10 +73,8 @@ class InstanceUpdater implements StateEvaluator<Optional<IScheduledTask>> { } private static boolean isPermanentlyKilled(IScheduledTask task) { - boolean wasKilling = - Iterables.any( - task.getTaskEvents(), - Predicates.compose(Predicates.equalTo(KILLING), ITaskEvent::getStatus)); + boolean wasKilling = task.getTaskEvents().stream() + .anyMatch(event -> event.getStatus() == KILLING); return task.getStatus() != KILLING && wasKilling; } @@ -91,7 +87,7 @@ class InstanceUpdater implements StateEvaluator<Optional<IScheduledTask>> { } @Override - public synchronized StateEvaluator.Result evaluate(Optional<IScheduledTask> actualState) { + public synchronized Result evaluate(Optional<IScheduledTask> actualState) { boolean desiredPresent = desiredState.isPresent(); boolean actualPresent = isTaskPresent(actualState); @@ -127,7 +123,7 @@ class InstanceUpdater implements StateEvaluator<Optional<IScheduledTask>> { return desired.getConstraints().equals(existing.getConstraints()); } - private StateEvaluator.Result handleActualAndDesiredPresent(IScheduledTask actualState) { + private Result handleActualAndDesiredPresent(IScheduledTask actualState) { Preconditions.checkState(desiredState.isPresent()); Preconditions.checkArgument(!actualState.getTaskEvents().isEmpty()); http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateController.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateController.java b/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateController.java index 9159d69..f71d5fe 100644 --- a/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateController.java +++ b/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateController.java @@ -14,9 +14,9 @@ package org.apache.aurora.scheduler.updater; import java.util.Objects; +import java.util.Optional; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import org.apache.aurora.gen.JobUpdatePulseStatus; http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java b/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java index 87b18b4..f8be805 100644 --- a/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java +++ b/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java @@ -18,6 +18,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.atomic.AtomicLong; @@ -26,7 +27,6 @@ import java.util.stream.Collectors; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Function; import com.google.common.base.Functions; -import com.google.common.base.Optional; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; @@ -399,7 +399,7 @@ class JobUpdateControllerImpl implements JobUpdateController { public void instanceDeleted(IInstanceKey instance) { // This is primarily used to detect when an instance was stuck in PENDING and killed, which // results in deletion. - instanceChanged(instance, Optional.absent()); + instanceChanged(instance, Optional.empty()); } private void instanceChanged(final IInstanceKey instance, final Optional<IScheduledTask> state) { @@ -547,7 +547,7 @@ class JobUpdateControllerImpl implements JobUpdateController { IJobKey job, int instanceId) { - return Optional.fromNullable(Iterables.getOnlyElement( + return Optional.ofNullable(Iterables.getOnlyElement( taskStore.fetchTasks(Query.instanceScoped(job, instanceId).active()), null)); } @@ -745,7 +745,7 @@ class JobUpdateControllerImpl implements JobUpdateController { } private static JobUpdateEvent addAuditData(JobUpdateEvent event, AuditData auditData) { - return event.setMessage(auditData.getMessage().orNull()) + return event.setMessage(auditData.getMessage().orElse(null)) .setUser(auditData.getUser()); } http://git-wip-us.apache.org/repos/asf/aurora/blob/6fd765bc/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateStateMachine.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateStateMachine.java b/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateStateMachine.java index 959a5a5..87d4162 100644 --- a/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateStateMachine.java +++ b/src/main/java/org/apache/aurora/scheduler/updater/JobUpdateStateMachine.java @@ -14,10 +14,10 @@ package org.apache.aurora.scheduler.updater; import java.util.Map; +import java.util.Optional; import java.util.Set; import com.google.common.base.Function; -import com.google.common.base.Optional; import com.google.common.collect.BiMap; import com.google.common.collect.ImmutableBiMap; import com.google.common.collect.ImmutableMap; @@ -183,7 +183,7 @@ final class JobUpdateStateMachine { } static MonitorAction getActionForStatus(JobUpdateStatus status) { - return Optional.fromNullable(ACTIONS.get(status)).or(MonitorAction.STOP_WATCHING); + return Optional.ofNullable(ACTIONS.get(status)).orElse(MonitorAction.STOP_WATCHING); } static boolean isActive(JobUpdateStatus status) {
