Repository: aurora
Updated Branches:
  refs/heads/master d28bd4fb5 -> ca15f25cc


Use java.util.Optional and streams in LockManager

Use java.util.Optional and streams in Lock*.

Taking advantage of some Java 8 features along the way, and introduced
GuavaCollectors.toImmutableSet for compatibility with the streams API

Testing Done:
./gradlew -Pq build

Reviewed at https://reviews.apache.org/r/35842/


Project: http://git-wip-us.apache.org/repos/asf/aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/ca15f25c
Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/ca15f25c
Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/ca15f25c

Branch: refs/heads/master
Commit: ca15f25cc9635f0c5cb4d424ab13333e98aab97b
Parents: d28bd4f
Author: Kevin Sweeney <[email protected]>
Authored: Thu Jun 25 11:42:26 2015 -0700
Committer: Kevin Sweeney <[email protected]>
Committed: Thu Jun 25 11:42:26 2015 -0700

----------------------------------------------------------------------
 src/main/java/org/apache/aurora/GuavaUtils.java | 16 ++++
 .../aurora/scheduler/state/LockManager.java     |  2 +-
 .../aurora/scheduler/state/LockManagerImpl.java |  2 +-
 .../scheduler/storage/ForwardingStore.java      |  2 +-
 .../aurora/scheduler/storage/LockStore.java     |  3 +-
 .../scheduler/storage/db/DbLockStore.java       | 17 ++--
 .../thrift/SchedulerThriftInterface.java        | 98 ++++++--------------
 .../java/org/apache/aurora/GuavaUtilsTest.java  | 30 ++++++
 .../scheduler/state/LockManagerImplTest.java    | 12 +--
 .../scheduler/storage/db/DbLockStoreTest.java   | 10 +-
 .../thrift/SchedulerThriftInterfaceTest.java    | 88 ++++++++----------
 11 files changed, 137 insertions(+), 143 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/aurora/blob/ca15f25c/src/main/java/org/apache/aurora/GuavaUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/GuavaUtils.java 
b/src/main/java/org/apache/aurora/GuavaUtils.java
index 22104e6..9903299 100644
--- a/src/main/java/org/apache/aurora/GuavaUtils.java
+++ b/src/main/java/org/apache/aurora/GuavaUtils.java
@@ -15,12 +15,16 @@ package org.apache.aurora;
 
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
+import java.util.stream.Collector;
 
 import com.google.common.collect.ImmutableMultimap;
+import com.google.common.collect.ImmutableSet;
 import com.google.common.util.concurrent.Service;
 import com.google.common.util.concurrent.Service.State;
 import com.google.common.util.concurrent.ServiceManager;
 
+import static java.util.stream.Collector.Characteristics.UNORDERED;
+
 /**
  * Utilities for working with Guava.
  */
@@ -30,6 +34,18 @@ public final class GuavaUtils {
   }
 
   /**
+   * Collector to create a Guava ImmutableSet.
+   */
+  public static <T> Collector<T, ?, ImmutableSet<T>> toImmutableSet() {
+    return Collector.of(
+        ImmutableSet::builder,
+        ImmutableSet.Builder::add,
+        (ImmutableSet.Builder<T> l, ImmutableSet.Builder<T> r) -> 
l.addAll(r.build()),
+        ImmutableSet.Builder::build,
+        UNORDERED);
+  }
+
+  /**
    * Interface for mocking. The Guava ServiceManager class is final.
    */
   public interface ServiceManagerIface {

http://git-wip-us.apache.org/repos/asf/aurora/blob/ca15f25c/src/main/java/org/apache/aurora/scheduler/state/LockManager.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/state/LockManager.java 
b/src/main/java/org/apache/aurora/scheduler/state/LockManager.java
index e8303f9..07de8fc 100644
--- a/src/main/java/org/apache/aurora/scheduler/state/LockManager.java
+++ b/src/main/java/org/apache/aurora/scheduler/state/LockManager.java
@@ -13,7 +13,7 @@
  */
 package org.apache.aurora.scheduler.state;
 
-import com.google.common.base.Optional;
+import java.util.Optional;
 
 import org.apache.aurora.scheduler.storage.entities.ILock;
 import org.apache.aurora.scheduler.storage.entities.ILockKey;

http://git-wip-us.apache.org/repos/asf/aurora/blob/ca15f25c/src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java 
b/src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java
index 6aa281c..5c37f15 100644
--- a/src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java
+++ b/src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java
@@ -14,11 +14,11 @@
 package org.apache.aurora.scheduler.state;
 
 import java.util.Date;
+import java.util.Optional;
 
 import javax.inject.Inject;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Optional;
 import com.twitter.common.util.Clock;
 
 import org.apache.aurora.gen.Lock;

http://git-wip-us.apache.org/repos/asf/aurora/blob/ca15f25c/src/main/java/org/apache/aurora/scheduler/storage/ForwardingStore.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/aurora/scheduler/storage/ForwardingStore.java 
b/src/main/java/org/apache/aurora/scheduler/storage/ForwardingStore.java
index 2be3eb0..b8bd918 100644
--- a/src/main/java/org/apache/aurora/scheduler/storage/ForwardingStore.java
+++ b/src/main/java/org/apache/aurora/scheduler/storage/ForwardingStore.java
@@ -119,7 +119,7 @@ public class ForwardingStore implements
   }
 
   @Override
-  public Optional<ILock> fetchLock(ILockKey lockKey) {
+  public java.util.Optional<ILock> fetchLock(ILockKey lockKey) {
     return lockStore.fetchLock(lockKey);
   }
 

http://git-wip-us.apache.org/repos/asf/aurora/blob/ca15f25c/src/main/java/org/apache/aurora/scheduler/storage/LockStore.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/storage/LockStore.java 
b/src/main/java/org/apache/aurora/scheduler/storage/LockStore.java
index 596a378..9764a01 100644
--- a/src/main/java/org/apache/aurora/scheduler/storage/LockStore.java
+++ b/src/main/java/org/apache/aurora/scheduler/storage/LockStore.java
@@ -13,10 +13,9 @@
  */
 package org.apache.aurora.scheduler.storage;
 
+import java.util.Optional;
 import java.util.Set;
 
-import com.google.common.base.Optional;
-
 import org.apache.aurora.scheduler.storage.entities.ILock;
 import org.apache.aurora.scheduler.storage.entities.ILockKey;
 

http://git-wip-us.apache.org/repos/asf/aurora/blob/ca15f25c/src/main/java/org/apache/aurora/scheduler/storage/db/DbLockStore.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/aurora/scheduler/storage/db/DbLockStore.java 
b/src/main/java/org/apache/aurora/scheduler/storage/db/DbLockStore.java
index 335d7a9..6a127e4 100644
--- a/src/main/java/org/apache/aurora/scheduler/storage/db/DbLockStore.java
+++ b/src/main/java/org/apache/aurora/scheduler/storage/db/DbLockStore.java
@@ -13,13 +13,13 @@
  */
 package org.apache.aurora.scheduler.storage.db;
 
+import java.util.Optional;
 import java.util.Set;
+import java.util.function.Function;
 
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import com.google.common.collect.FluentIterable;
 import com.google.inject.Inject;
 
+import org.apache.aurora.GuavaUtils;
 import org.apache.aurora.scheduler.storage.LockStore;
 import org.apache.aurora.scheduler.storage.db.views.LockRow;
 import org.apache.aurora.scheduler.storage.entities.ILock;
@@ -65,22 +65,17 @@ class DbLockStore implements LockStore.Mutable {
   @Timed("lock_store_fetch_locks")
   @Override
   public Set<ILock> fetchLocks() {
-    return FluentIterable.from(mapper.selectAll()).transform(TO_ROW).toSet();
+    return 
mapper.selectAll().stream().map(TO_ROW).collect(GuavaUtils.toImmutableSet());
   }
 
   @Timed("lock_store_fetch_lock")
   @Override
   public Optional<ILock> fetchLock(ILockKey lockKey) {
-    return 
Optional.fromNullable(mapper.select(lockKey.newBuilder())).transform(TO_ROW);
+    return 
Optional.ofNullable(mapper.select(lockKey.newBuilder())).map(TO_ROW);
   }
 
   /**
    * LockRow converter to satisfy the ILock interface.
    */
-  private static final Function<LockRow, ILock> TO_ROW = new Function<LockRow, 
ILock>() {
-    @Override
-    public ILock apply(LockRow input) {
-      return ILock.build(input.getLock());
-    }
-  };
+  private static final Function<LockRow, ILock> TO_ROW = input -> 
ILock.build(input.getLock());
 }

http://git-wip-us.apache.org/repos/asf/aurora/blob/ca15f25c/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 0670b2b..9af379c 100644
--- 
a/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
+++ 
b/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
@@ -13,7 +13,6 @@
  */
 package org.apache.aurora.scheduler.thrift;
 
-import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -40,6 +39,7 @@ import com.twitter.common.args.Arg;
 import com.twitter.common.args.CmdLine;
 import com.twitter.common.args.constraints.Positive;
 
+import org.apache.aurora.GuavaUtils;
 import org.apache.aurora.auth.CapabilityValidator;
 import org.apache.aurora.auth.CapabilityValidator.AuditCheck;
 import org.apache.aurora.auth.SessionValidator.AuthFailedException;
@@ -174,12 +174,7 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
   private static final Logger LOG = 
Logger.getLogger(SchedulerThriftInterface.class.getName());
 
   private static final Function<IScheduledTask, String> GET_ROLE = 
Functions.compose(
-      new Function<ITaskConfig, String>() {
-        @Override
-        public String apply(ITaskConfig task) {
-          return task.getJob().getRole();
-        }
-      },
+      task -> task.getJob().getRole(),
       Tasks.SCHEDULED_TO_INFO);
 
   private final NonVolatileStorage storage;
@@ -259,7 +254,7 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
         try {
           lockManager.validateIfLocked(
               ILockKey.build(LockKey.job(job.getKey().newBuilder())),
-              
Optional.fromNullable(mutableLock).transform(ILock.FROM_BUILDER));
+              java.util.Optional.ofNullable(mutableLock).map(ILock::build));
 
           checkJobExists(storeProvider, job.getKey());
 
@@ -331,7 +326,7 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
         try {
           lockManager.validateIfLocked(
               ILockKey.build(LockKey.job(jobKey.newBuilder())),
-              
Optional.fromNullable(mutableLock).transform(ILock.FROM_BUILDER));
+              java.util.Optional.ofNullable(mutableLock).map(ILock::build));
 
           ITaskConfig template = sanitized.getJobConfig().getTaskConfig();
           int count = sanitized.getJobConfig().getInstanceCount();
@@ -390,7 +385,7 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
       IJobKey jobKey = JobKeys.assertValid(IJobKey.build(mutableJobKey));
       lockManager.validateIfLocked(
           ILockKey.build(LockKey.job(jobKey.newBuilder())),
-          Optional.fromNullable(mutableLock).transform(ILock.FROM_BUILDER));
+          java.util.Optional.ofNullable(mutableLock).map(ILock::build));
 
       if (!cronJobManager.deleteJob(jobKey)) {
         return invalidRequest(notScheduledCronMessage(jobKey));
@@ -467,7 +462,7 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
     return readOnlyScheduler.getJobs(maybeNullRole);
   }
 
-  private void validateLockForTasks(Optional<ILock> lock, 
Iterable<IScheduledTask> tasks)
+  private void validateLockForTasks(java.util.Optional<ILock> lock, 
Iterable<IScheduledTask> tasks)
       throws LockException {
 
     ImmutableSet<IJobKey> uniqueKeys = FluentIterable.from(tasks)
@@ -561,7 +556,7 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
         Iterable<IScheduledTask> tasks = 
storeProvider.getTaskStore().fetchTasks(query);
         try {
           validateLockForTasks(
-              Optional.fromNullable(mutableLock).transform(ILock.FROM_BUILDER),
+              java.util.Optional.ofNullable(mutableLock).map(ILock::build),
               tasks);
         } catch (LockException e) {
           return error(LOCK_ERROR, e);
@@ -610,7 +605,7 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
         try {
           lockManager.validateIfLocked(
               ILockKey.build(LockKey.job(jobKey.newBuilder())),
-              
Optional.fromNullable(mutableLock).transform(ILock.FROM_BUILDER));
+              java.util.Optional.ofNullable(mutableLock).map(ILock::build));
         } catch (LockException e) {
           return error(LOCK_ERROR, e);
         }
@@ -935,7 +930,7 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
 
           lockManager.validateIfLocked(
               ILockKey.build(LockKey.job(jobKey.newBuilder())),
-              
Optional.fromNullable(mutableLock).transform(ILock.FROM_BUILDER));
+              java.util.Optional.ofNullable(mutableLock).map(ILock::build));
 
           Iterable<IScheduledTask> currentTasks = 
storeProvider.getTaskStore().fetchTasks(
               Query.jobScoped(task.getJob()).active());
@@ -1015,7 +1010,7 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
           ImmutableSet.of(getRoleFromLockKey(lock.getKey())));
 
       if (validation == LockValidation.CHECKED) {
-        lockManager.validateIfLocked(lock.getKey(), Optional.of(lock));
+        lockManager.validateIfLocked(lock.getKey(), 
java.util.Optional.of(lock));
       }
       lockManager.releaseLock(lock);
       return ok();
@@ -1061,26 +1056,10 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
     }
   }
 
-  private static final Function<Collection<Integer>, Set<Range<Integer>>> 
TO_RANGES =
-      new Function<Collection<Integer>, Set<Range<Integer>>>() {
-        @Override
-        public Set<Range<Integer>> apply(Collection<Integer> numbers) {
-          return Numbers.toRanges(numbers);
-        }
-      };
-
-  private static final Function<Range<Integer>, org.apache.aurora.gen.Range> 
TO_THRIFT_RANGE =
-      new Function<Range<Integer>, org.apache.aurora.gen.Range>() {
-        @Override
-        public org.apache.aurora.gen.Range apply(Range<Integer> range) {
-          return new org.apache.aurora.gen.Range(range.lowerEndpoint(), 
range.upperEndpoint());
-        }
-      };
-
   private static Set<org.apache.aurora.gen.Range> 
convertRanges(Set<Range<Integer>> ranges) {
-    return FluentIterable.from(ranges)
-        .transform(TO_THRIFT_RANGE)
-        .toSet();
+    return ranges.stream()
+        .map(range -> new org.apache.aurora.gen.Range(range.lowerEndpoint(), 
range.upperEndpoint()))
+        .collect(GuavaUtils.toImmutableSet());
   }
 
   private static Set<InstanceTaskConfig> buildInitialState(Map<Integer, 
ITaskConfig> tasks) {
@@ -1090,7 +1069,7 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
 
     // Reduce instance IDs into contiguous ranges.
     Map<ITaskConfig, Set<Range<Integer>>> rangesByConfig =
-        Maps.transformValues(instancesByConfig.asMap(), TO_RANGES);
+        Maps.transformValues(instancesByConfig.asMap(), Numbers::toRanges);
 
     ImmutableSet.Builder<InstanceTaskConfig> builder = ImmutableSet.builder();
     for (Map.Entry<ITaskConfig, Set<Range<Integer>>> entry : 
rangesByConfig.entrySet()) {
@@ -1252,40 +1231,17 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
         throws UpdateStateException;
   }
 
-  private static final JobUpdateStateChange PAUSE = new JobUpdateStateChange() 
{
-    @Override
-    public void modifyUpdate(JobUpdateController controller, IJobUpdateKey 
key, AuditData auditData)
-        throws UpdateStateException {
-
-      controller.pause(key, auditData);
-    }
-  };
-
-  private static final JobUpdateStateChange RESUME = new 
JobUpdateStateChange() {
-    @Override
-    public void modifyUpdate(JobUpdateController controller, IJobUpdateKey 
key, AuditData auditData)
-        throws UpdateStateException {
-
-      controller.resume(key, auditData);
-    }
-  };
-
-  private static final JobUpdateStateChange ABORT = new JobUpdateStateChange() 
{
-    @Override
-    public void modifyUpdate(JobUpdateController controller, IJobUpdateKey 
key, AuditData auditData)
-        throws UpdateStateException {
-
-      controller.abort(key, auditData);
-    }
-  };
-
   @Override
   public Response pauseJobUpdate(
       JobUpdateKey mutableKey,
       @Nullable String message,
       SessionKey session) {
 
-    return changeJobUpdateState(mutableKey, session, PAUSE, 
Optional.fromNullable(message));
+    return changeJobUpdateState(
+        mutableKey,
+        session,
+        JobUpdateController::pause,
+        Optional.fromNullable(message));
   }
 
   @Override
@@ -1294,7 +1250,11 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
       @Nullable String message,
       SessionKey session) {
 
-    return changeJobUpdateState(mutableKey, session, RESUME, 
Optional.fromNullable(message));
+    return changeJobUpdateState(
+        mutableKey,
+        session,
+        JobUpdateController::resume,
+        Optional.fromNullable(message));
   }
 
   @Override
@@ -1303,7 +1263,11 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
       @Nullable String message,
       SessionKey session) {
 
-    return changeJobUpdateState(mutableKey, session, ABORT, 
Optional.fromNullable(message));
+    return changeJobUpdateState(
+        mutableKey,
+        session,
+        JobUpdateController::abort,
+        Optional.fromNullable(message));
   }
 
   @Override
@@ -1415,10 +1379,6 @@ class SchedulerThriftInterface implements 
AnnotatedAuroraAdmin {
       "maxPerInstanceFailures must be non-negative.";
 
   @VisibleForTesting
-  static final String INVALID_MAX_WAIT_TO_RUNNING =
-      "maxWaitToInstanceRunningMs must be non-negative.";
-
-  @VisibleForTesting
   static final String INVALID_MIN_WAIT_TO_RUNNING =
       "minWaitInInstanceRunningMs must be non-negative.";
 

http://git-wip-us.apache.org/repos/asf/aurora/blob/ca15f25c/src/test/java/org/apache/aurora/GuavaUtilsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/aurora/GuavaUtilsTest.java 
b/src/test/java/org/apache/aurora/GuavaUtilsTest.java
new file mode 100644
index 0000000..065a4ba
--- /dev/null
+++ b/src/test/java/org/apache/aurora/GuavaUtilsTest.java
@@ -0,0 +1,30 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.aurora;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class GuavaUtilsTest {
+  @Test
+  public static void testToImmutableSet() {
+    assertEquals(
+        ImmutableSet.of("b", "c", "a"),
+        ImmutableList.of("a", "b", 
"c").stream().collect(GuavaUtils.toImmutableSet()));
+  }
+}

http://git-wip-us.apache.org/repos/asf/aurora/blob/ca15f25c/src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 
b/src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java
index 9c9cf1b..1b5a5a8 100644
--- a/src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java
+++ b/src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java
@@ -13,10 +13,10 @@
  */
 package org.apache.aurora.scheduler.state;
 
+import java.util.Optional;
 import java.util.UUID;
 import java.util.concurrent.CountDownLatch;
 
-import com.google.common.base.Optional;
 import com.google.common.base.Throwables;
 import com.google.common.collect.Iterables;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
@@ -120,7 +120,7 @@ public class LockManagerImplTest extends EasyMockTest {
   public void testValidateLockNotStoredNotHeld() throws Exception {
     control.replay();
 
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>empty());
   }
 
   @Test
@@ -139,7 +139,7 @@ public class LockManagerImplTest extends EasyMockTest {
 
     expectLockException(JOB_KEY);
     lockManager.acquireLock(LOCK_KEY, USER);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>empty());
   }
 
   @Test
@@ -168,7 +168,7 @@ public class LockManagerImplTest extends EasyMockTest {
 
     
expect(storageUtil.storeProvider.getLockStore()).andReturn(storageUtil.lockStore).atLeastOnce();
     expect(storageUtil.lockStore.fetchLock(LOCK_KEY))
-        .andReturn(Optional.<ILock>absent())
+        .andReturn(Optional.<ILock>empty())
         .atLeastOnce();
 
     final CountDownLatch reads = new CountDownLatch(2);
@@ -198,7 +198,7 @@ public class LockManagerImplTest extends EasyMockTest {
           @Override
           public void run() {
             try {
-              lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+              lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>empty());
             } catch (LockException e) {
               throw Throwables.propagate(e);
             }
@@ -206,7 +206,7 @@ public class LockManagerImplTest extends EasyMockTest {
         })
         .start();
 
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>empty());
   }
 
   private void expectLockException(IJobKey key) {

http://git-wip-us.apache.org/repos/asf/aurora/blob/ca15f25c/src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java 
b/src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java
index ecbe1dd..5152448 100644
--- a/src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java
+++ b/src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java
@@ -14,9 +14,9 @@
 package org.apache.aurora.scheduler.storage.db;
 
 import java.io.IOException;
+import java.util.Optional;
 import java.util.Set;
 
-import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableSet;
 
 import org.apache.aurora.gen.JobKey;
@@ -167,17 +167,17 @@ public class DbLockStoreTest {
     ILock lock1 = makeLock(JobKeys.from(role1, env, job).newBuilder(), 
"token1");
     ILock lock2 = makeLock(JobKeys.from(role2, env, job).newBuilder(), 
"token2");
 
-    assertEquals(Optional.<ILock>absent(), getLock(lock1.getKey()));
-    assertEquals(Optional.<ILock>absent(), getLock(lock2.getKey()));
+    assertEquals(Optional.<ILock>empty(), getLock(lock1.getKey()));
+    assertEquals(Optional.<ILock>empty(), getLock(lock2.getKey()));
 
     saveLocks(StorageEntityUtil.assertFullyPopulated(lock1));
     assertEquals(Optional.of(lock1), getLock(lock1.getKey()));
-    assertEquals(Optional.<ILock>absent(), getLock(lock2.getKey()));
+    assertEquals(Optional.<ILock>empty(), getLock(lock2.getKey()));
     saveLocks(lock2);
     assertEquals(Optional.of(lock1), getLock(lock1.getKey()));
     assertEquals(Optional.of(lock2), getLock(lock2.getKey()));
     removeLocks(lock1);
-    assertEquals(Optional.<ILock>absent(), getLock(lock1.getKey()));
+    assertEquals(Optional.<ILock>empty(), getLock(lock1.getKey()));
     assertEquals(Optional.of(lock2), getLock(lock2.getKey()));
   }
 

http://git-wip-us.apache.org/repos/asf/aurora/blob/ca15f25c/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
 
b/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
index 38ef412..71b09b1 100644
--- 
a/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
+++ 
b/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
@@ -21,7 +21,6 @@ import java.util.Map;
 import java.util.Set;
 
 import com.google.common.base.Optional;
-import com.google.common.base.Predicate;
 import com.google.common.base.Strings;
 import com.google.common.base.Throwables;
 import com.google.common.collect.ImmutableList;
@@ -269,7 +268,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     IJobConfiguration job = IJobConfiguration.build(makeProdJob());
     SanitizedConfiguration sanitized = 
SanitizedConfiguration.fromUnsanitized(job);
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     storageUtil.expectTaskFetch(Query.jobScoped(JOB_KEY).active());
     expectNoCronJob();
     expect(taskIdGenerator.generate(sanitized.getJobConfig().getTaskConfig(), 
1))
@@ -291,7 +290,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     IJobConfiguration job = IJobConfiguration.build(makeProdJob());
     SanitizedConfiguration sanitized = 
SanitizedConfiguration.fromUnsanitized(job);
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     storageUtil.expectTaskFetch(Query.jobScoped(JOB_KEY).active());
     expectNoCronJob();
     expect(taskIdGenerator.generate(sanitized.getJobConfig().getTaskConfig(), 
1))
@@ -346,7 +345,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   public void testCreateJobFailsLockCheck() throws Exception {
     IJobConfiguration job = IJobConfiguration.build(makeJob());
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     expectLastCall().andThrow(new LockException("Invalid lock"));
 
     control.replay();
@@ -358,7 +357,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   public void testCreateJobFailsJobExists() throws Exception {
     IJobConfiguration job = IJobConfiguration.build(makeJob());
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     storageUtil.expectTaskFetch(Query.jobScoped(JOB_KEY).active(), 
buildScheduledTask());
 
     control.replay();
@@ -370,7 +369,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   public void testCreateJobFailsCronJobExists() throws Exception {
     IJobConfiguration job = IJobConfiguration.build(makeJob());
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     storageUtil.expectTaskFetch(Query.jobScoped(JOB_KEY).active());
     expectCronJob();
 
@@ -385,7 +384,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
         makeJob(defaultTask(true), MAX_TASKS_PER_JOB.get() + 1));
 
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     storageUtil.expectTaskFetch(Query.jobScoped(JOB_KEY).active());
     expectNoCronJob();
     expect(quotaManager.checkInstanceAddition(
@@ -403,7 +402,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     IJobConfiguration job = IJobConfiguration.build(makeJob());
     SanitizedConfiguration sanitized = 
SanitizedConfiguration.fromUnsanitized(job);
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     storageUtil.expectTaskFetch(Query.jobScoped(JOB_KEY).active());
     expectNoCronJob();
     expect(quotaManager.checkInstanceAddition(
@@ -424,7 +423,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     IJobConfiguration job = IJobConfiguration.build(makeProdJob());
     SanitizedConfiguration sanitized = 
SanitizedConfiguration.fromUnsanitized(job);
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     storageUtil.expectTaskFetch(Query.jobScoped(JOB_KEY).active());
     expectNoCronJob();
     expect(taskIdGenerator.generate(sanitized.getJobConfig().getTaskConfig(), 
1))
@@ -439,12 +438,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   private void assertMessageMatches(Response response, final String string) {
     // TODO(wfarner): This test coverage could be much better.  Circle back to 
apply more thorough
     // response contents testing throughout.
-    assertTrue(Iterables.any(response.getDetails(), new 
Predicate<ResponseDetail>() {
-      @Override
-      public boolean apply(ResponseDetail detail) {
-        return detail.getMessage().equals(string);
-      }
-    }));
+    assertTrue(Iterables.any(response.getDetails(), detail -> 
detail.getMessage().equals(string)));
   }
 
   @Test
@@ -572,7 +566,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
         .setMaxTaskFailures(1)
         .setEnvironment("devel");
 
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     storageUtil.expectTaskFetch(Query.jobScoped(JOB_KEY).active());
     expectNoCronJob();
     
expect(taskIdGenerator.generate(ITaskConfig.build(sanitized.getTaskConfig()), 
1))
@@ -665,7 +659,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     expectAuth(ROOT, false);
     expectAuth(ROLE, true);
     storageUtil.expectTaskFetch(query, buildScheduledTask());
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     expectTransitionsToKilling();
 
     control.replay();
@@ -678,7 +672,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     Query.Builder query = Query.unscoped().byJob(JOB_KEY).active();
     expectAuth(ROOT, true);
     storageUtil.expectTaskFetch(query, buildScheduledTask());
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     expectTransitionsToKilling();
 
     control.replay();
@@ -691,7 +685,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     TaskQuery query = new TaskQuery().setJobName("job");
     expectAuth(ROOT, true);
     storageUtil.expectTaskFetch(Query.arbitrary(query).active(), 
buildScheduledTask());
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     expectTransitionsToKilling();
 
     control.replay();
@@ -704,7 +698,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     Query.Builder query = Query.unscoped().byJob(JOB_KEY);
     expectAuth(ROOT, true);
     storageUtil.expectTaskFetch(query.active(), buildScheduledTask());
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     expectTransitionsToKilling();
 
     control.replay();
@@ -721,8 +715,8 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     expectAuth(ROOT, false);
     expectAuth(ROLE, true);
     storageUtil.expectTaskFetch(query, buildScheduledTask(), task2);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
-    lockManager.validateIfLocked(key2, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
+    lockManager.validateIfLocked(key2, java.util.Optional.of(LOCK));
     expectLastCall().andThrow(new LockException("Failed lock check."));
 
     control.replay();
@@ -739,7 +733,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     // This query happens twice - once for authentication (without 
consistency) and once again
     // to perform the state change (within a write transaction).
     storageUtil.expectTaskFetch(query.active(), buildScheduledTask()).times(2);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     expectTransitionsToKilling();
 
     control.replay();
@@ -769,7 +763,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     expectAuth(ROOT, false);
     expectAuth(ImmutableSet.of("a", "b"), true);
     storageUtil.expectTaskFetch(query.active(), buildScheduledTask());
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     expectTransitionsToKilling();
 
     control.replay();
@@ -820,7 +814,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     Query.Builder query = Query.roleScoped("foo").active();
 
     storageUtil.expectTaskFetch(query, buildScheduledTask());
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     expectTransitionsToKilling();
 
     control.replay();
@@ -974,7 +968,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     Set<Integer> shards = ImmutableSet.of(0);
 
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     storageUtil.expectTaskFetch(
         Query.instanceScoped(JOB_KEY, shards).active(),
         buildScheduledTask());
@@ -1008,7 +1002,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     Set<Integer> shards = ImmutableSet.of(1, 6);
 
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     expectLastCall().andThrow(new LockException("test"));
 
     control.replay();
@@ -1023,7 +1017,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     Set<Integer> shards = ImmutableSet.of(1, 6);
 
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     storageUtil.expectTaskFetch(Query.instanceScoped(JOB_KEY, 
shards).active());
 
     control.replay();
@@ -1036,7 +1030,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   @Test
   public void testReplaceCronTemplate() throws Exception {
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     SanitizedConfiguration sanitized =
         
SanitizedConfiguration.fromUnsanitized(IJobConfiguration.build(CRON_JOB));
 
@@ -1064,7 +1058,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   @Test
   public void testReplaceCronTemplateFailedLockValidation() throws Exception {
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     expectLastCall().andThrow(new LockException("Failed lock."));
     control.replay();
 
@@ -1074,7 +1068,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   @Test
   public void testReplaceCronTemplateDoesNotExist() throws Exception {
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     SanitizedConfiguration sanitized =
         
SanitizedConfiguration.fromUnsanitized(IJobConfiguration.build(CRON_JOB));
 
@@ -1116,7 +1110,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   @Test
   public void testScheduleCronCreatesJob() throws Exception {
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     SanitizedConfiguration sanitized =
         
SanitizedConfiguration.fromUnsanitized(IJobConfiguration.build(CRON_JOB));
 
@@ -1134,7 +1128,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   @Test
   public void testScheduleCronFailsCreationDueToExistingNonCron() throws 
Exception {
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     SanitizedConfiguration sanitized =
         
SanitizedConfiguration.fromUnsanitized(IJobConfiguration.build(CRON_JOB));
 
@@ -1153,7 +1147,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   @Test
   public void testScheduleCronUpdatesJob() throws Exception {
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     SanitizedConfiguration sanitized =
         
SanitizedConfiguration.fromUnsanitized(IJobConfiguration.build(CRON_JOB));
 
@@ -1191,7 +1185,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   @Test
   public void testScheduleCronJobFailsLockValidation() throws Exception {
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     expectLastCall().andThrow(new LockException("Failed lock"));
     control.replay();
     assertResponse(LOCK_ERROR, thrift.scheduleCronJob(CRON_JOB, 
LOCK.newBuilder(), SESSION));
@@ -1210,7 +1204,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   @Test
   public void testScheduleCronFailsQuotaCheck() throws Exception {
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     SanitizedConfiguration sanitized =
         
SanitizedConfiguration.fromUnsanitized(IJobConfiguration.build(CRON_JOB));
 
@@ -1225,7 +1219,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   @Test
   public void testDescheduleCronJob() throws Exception {
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     expect(cronJobManager.deleteJob(JOB_KEY)).andReturn(true);
     control.replay();
     assertResponse(OK, thrift.descheduleCronJob(CRON_JOB.getKey(), null, 
SESSION));
@@ -1242,7 +1236,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   @Test
   public void testDescheduleCronJobFailsLockValidation() throws Exception {
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     expectLastCall().andThrow(new LockException("Failed lock"));
     control.replay();
     assertResponse(LOCK_ERROR, thrift.descheduleCronJob(CRON_JOB.getKey(), 
null, SESSION));
@@ -1251,7 +1245,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   @Test
   public void testDescheduleNotACron() throws Exception {
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     expect(cronJobManager.deleteJob(JOB_KEY)).andReturn(false);
     control.replay();
 
@@ -1550,7 +1544,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     ITaskConfig populatedTask = ITaskConfig.build(populatedTask());
     expectAuth(ROLE, true);
     expectNoCronJob();
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     storageUtil.expectTaskFetch(Query.jobScoped(JOB_KEY).active());
     expect(taskIdGenerator.generate(populatedTask, 1))
         .andReturn(TASK_ID);
@@ -1574,7 +1568,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     AddInstancesConfig config = 
createInstanceConfig(populatedTask.newBuilder());
     expectAuth(ROLE, true);
     expectNoCronJob();
-    lockManager.validateIfLocked(LOCK_KEY, Optional.<ILock>absent());
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.<ILock>empty());
     storageUtil.expectTaskFetch(Query.jobScoped(JOB_KEY).active());
     expect(taskIdGenerator.generate(populatedTask, 1))
         .andReturn(TASK_ID);
@@ -1636,7 +1630,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     AddInstancesConfig config = createInstanceConfig(defaultTask(true));
     expectAuth(ROLE, true);
     expectNoCronJob();
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     expectLastCall().andThrow(new LockException("Failed lock check."));
 
     control.replay();
@@ -1650,7 +1644,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     AddInstancesConfig config = 
createInstanceConfig(populatedTask.newBuilder());
     expectAuth(ROLE, true);
     expectNoCronJob();
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     storageUtil.expectTaskFetch(Query.jobScoped(JOB_KEY).active());
     expect(quotaManager.checkInstanceAddition(
         anyObject(ITaskConfig.class),
@@ -1670,7 +1664,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     AddInstancesConfig config = 
createInstanceConfig(populatedTask.newBuilder());
     expectAuth(ROLE, true);
     expectNoCronJob();
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     storageUtil.expectTaskFetch(Query.jobScoped(JOB_KEY).active());
     expect(taskIdGenerator.generate(populatedTask, 1))
         .andReturn(TASK_ID);
@@ -1687,7 +1681,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
     AddInstancesConfig config = 
createInstanceConfig(populatedTask.newBuilder());
     expectAuth(ROLE, true);
     expectNoCronJob();
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     storageUtil.expectTaskFetch(Query.jobScoped(JOB_KEY).active());
     expect(taskIdGenerator.generate(populatedTask, 1))
         .andReturn(TASK_ID);
@@ -1743,7 +1737,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   @Test
   public void testReleaseLock() throws Exception {
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     lockManager.releaseLock(LOCK);
 
     control.replay();
@@ -1769,7 +1763,7 @@ public class SchedulerThriftInterfaceTest extends 
EasyMockTest {
   @Test
   public void testReleaseLockFailed() throws Exception {
     expectAuth(ROLE, true);
-    lockManager.validateIfLocked(LOCK_KEY, Optional.of(LOCK));
+    lockManager.validateIfLocked(LOCK_KEY, java.util.Optional.of(LOCK));
     expectLastCall().andThrow(new LockException("Failed"));
 
     control.replay();

Reply via email to