You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by wf...@apache.org on 2014/03/03 20:25:34 UTC

git commit: Remove LogStream.close, which was a no-op everywhere.

Repository: incubator-aurora
Updated Branches:
  refs/heads/master 83a67bc3f -> 4d618aba8


Remove LogStream.close, which was a no-op everywhere.

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


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

Branch: refs/heads/master
Commit: 4d618aba88a7010c986183517abf4b40cd7322cf
Parents: 83a67bc
Author: Bill Farner <wf...@apache.org>
Authored: Mon Mar 3 11:25:10 2014 -0800
Committer: Bill Farner <wf...@apache.org>
Committed: Mon Mar 3 11:25:10 2014 -0800

----------------------------------------------------------------------
 .../org/apache/aurora/scheduler/log/Log.java    |  3 +-
 .../aurora/scheduler/log/mesos/MesosLog.java    | 23 +++++++--------
 .../aurora/scheduler/log/testing/FileLog.java   |  5 ----
 .../scheduler/storage/log/LogManager.java       | 16 ++--------
 .../aurora/scheduler/app/SchedulerIT.java       |  4 ---
 .../scheduler/storage/log/LogManagerTest.java   | 31 --------------------
 .../scheduler/storage/log/LogStorageTest.java   | 18 +-----------
 7 files changed, 14 insertions(+), 86 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/4d618aba/src/main/java/org/apache/aurora/scheduler/log/Log.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/log/Log.java b/src/main/java/org/apache/aurora/scheduler/log/Log.java
index 35403f3..ec0a35c 100644
--- a/src/main/java/org/apache/aurora/scheduler/log/Log.java
+++ b/src/main/java/org/apache/aurora/scheduler/log/Log.java
@@ -15,7 +15,6 @@
  */
 package org.apache.aurora.scheduler.log;
 
-import java.io.Closeable;
 import java.io.IOException;
 import java.util.Iterator;
 
@@ -51,7 +50,7 @@ public interface Log {
    * An interface to the live {@link Log} stream that allows for appending, reading and writing
    * entries.
    */
-  interface Stream extends Closeable {
+  interface Stream {
 
     /**
      * Indicates a {@link Position} that is not (currently) contained in this log stream.

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/4d618aba/src/main/java/org/apache/aurora/scheduler/log/mesos/MesosLog.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/log/mesos/MesosLog.java b/src/main/java/org/apache/aurora/scheduler/log/mesos/MesosLog.java
index a8e6c83..071c4fc 100644
--- a/src/main/java/org/apache/aurora/scheduler/log/mesos/MesosLog.java
+++ b/src/main/java/org/apache/aurora/scheduler/log/mesos/MesosLog.java
@@ -51,6 +51,8 @@ import static java.lang.annotation.ElementType.METHOD;
 import static java.lang.annotation.ElementType.PARAMETER;
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
+import static com.google.common.base.Preconditions.checkNotNull;
+
 /**
  * A {@code Log} implementation backed by a true distributed log in mesos core.
  */
@@ -111,15 +113,15 @@ public class MesosLog implements org.apache.aurora.scheduler.log.Log {
       @WriteTimeout Amount<Long, Time> writeTimeout,
       @NoopEntry byte[] noopEntry) {
 
-    this.logFactory = Preconditions.checkNotNull(logFactory);
+    this.logFactory = checkNotNull(logFactory);
 
-    this.readerFactory = Preconditions.checkNotNull(readerFactory);
-    this.readTimeout = readTimeout;
+    this.readerFactory = checkNotNull(readerFactory);
+    this.readTimeout = checkNotNull(readTimeout);
 
-    this.writerFactory = Preconditions.checkNotNull(writerFactory);
-    this.writeTimeout = writeTimeout;
+    this.writerFactory = checkNotNull(writerFactory);
+    this.writeTimeout = checkNotNull(writeTimeout);
 
-    this.noopEntry = Preconditions.checkNotNull(noopEntry);
+    this.noopEntry = checkNotNull(noopEntry);
   }
 
   @Override
@@ -267,7 +269,7 @@ public class MesosLog implements org.apache.aurora.scheduler.log.Log {
             throw new NoSuchElementException();
           }
 
-          Entry result = Preconditions.checkNotNull(entry);
+          Entry result = checkNotNull(entry);
           entry = null;
           return result;
         }
@@ -276,7 +278,7 @@ public class MesosLog implements org.apache.aurora.scheduler.log.Log {
 
     @Override
     public LogPosition append(final byte[] contents) throws StreamAccessException {
-      Preconditions.checkNotNull(contents);
+      checkNotNull(contents);
 
       Log.Position position = mutate(append, new Mutation<Log.Position>() {
         @Override
@@ -339,11 +341,6 @@ public class MesosLog implements org.apache.aurora.scheduler.log.Log {
       return LogPosition.wrap(reader.ending());
     }
 
-    @Override
-    public void close() {
-      // noop
-    }
-
     private static class LogPosition implements org.apache.aurora.scheduler.log.Log.Position {
       private final Log.Position underlying;
 

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/4d618aba/src/main/java/org/apache/aurora/scheduler/log/testing/FileLog.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/log/testing/FileLog.java b/src/main/java/org/apache/aurora/scheduler/log/testing/FileLog.java
index 5b69e4e..9186aeb 100644
--- a/src/main/java/org/apache/aurora/scheduler/log/testing/FileLog.java
+++ b/src/main/java/org/apache/aurora/scheduler/log/testing/FileLog.java
@@ -147,11 +147,6 @@ class FileLog implements Log {
       logWriter.execute(logContents);
     }
 
-    @Override
-    public void close() throws IOException {
-      // No-op.
-    }
-
     private static class CounterPosition implements Position {
       private final long value;
 

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/4d618aba/src/main/java/org/apache/aurora/scheduler/storage/log/LogManager.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/storage/log/LogManager.java b/src/main/java/org/apache/aurora/scheduler/storage/log/LogManager.java
index b59b9d0..c5e27a1 100644
--- a/src/main/java/org/apache/aurora/scheduler/storage/log/LogManager.java
+++ b/src/main/java/org/apache/aurora/scheduler/storage/log/LogManager.java
@@ -41,9 +41,7 @@ import com.google.common.collect.Iterables;
 import com.google.common.collect.Maps;
 import com.google.common.primitives.Bytes;
 import com.google.inject.BindingAnnotation;
-import com.twitter.common.application.ShutdownRegistry;
 import com.twitter.common.base.Closure;
-import com.twitter.common.base.ExceptionalCommand;
 import com.twitter.common.inject.TimedInterceptor.Timed;
 import com.twitter.common.quantity.Amount;
 import com.twitter.common.quantity.Data;
@@ -98,19 +96,16 @@ public final class LogManager {
   private final Log log;
   private final Amount<Integer, Data> maxEntrySize;
   private final boolean deflateSnapshots;
-  private final ShutdownRegistry shutdownRegistry;
 
   @Inject
   LogManager(
       Log log,
       @MaxEntrySize Amount<Integer, Data> maxEntrySize,
-      @SnapshotSetting boolean deflateSnapshots,
-      ShutdownRegistry shutdownRegistry) {
+      @SnapshotSetting boolean deflateSnapshots) {
 
     this.log = checkNotNull(log);
     this.maxEntrySize = checkNotNull(maxEntrySize);
     this.deflateSnapshots = deflateSnapshots;
-    this.shutdownRegistry = checkNotNull(shutdownRegistry);
   }
 
   /**
@@ -120,14 +115,7 @@ public final class LogManager {
    * @throws IOException If there is a problem opening the log.
    */
   public StreamManager open() throws IOException {
-    final Stream stream = log.open();
-    shutdownRegistry.addAction(new ExceptionalCommand<IOException>() {
-      @Override
-      public void execute() throws IOException {
-        stream.close();
-      }
-    });
-    return new StreamManager(stream, deflateSnapshots, maxEntrySize);
+    return new StreamManager(log.open(), deflateSnapshots, maxEntrySize);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/4d618aba/src/test/java/org/apache/aurora/scheduler/app/SchedulerIT.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/aurora/scheduler/app/SchedulerIT.java b/src/test/java/org/apache/aurora/scheduler/app/SchedulerIT.java
index 6cfaf39..a4e9464 100644
--- a/src/test/java/org/apache/aurora/scheduler/app/SchedulerIT.java
+++ b/src/test/java/org/apache/aurora/scheduler/app/SchedulerIT.java
@@ -106,7 +106,6 @@ import org.junit.Test;
 
 import static org.easymock.EasyMock.createControl;
 import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -334,9 +333,6 @@ public class SchedulerIT extends BaseZooKeeperTest {
     streamMatcher.expectTransaction(Op.saveFrameworkId(new SaveFrameworkId(FRAMEWORK_ID)))
         .andReturn(nextPosition());
 
-    logStream.close();
-    expectLastCall().anyTimes();
-
     final CountDownLatch driverStarted = new CountDownLatch(1);
     expect(driver.start()).andAnswer(new IAnswer<Status>() {
       @Override

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/4d618aba/src/test/java/org/apache/aurora/scheduler/storage/log/LogManagerTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/aurora/scheduler/storage/log/LogManagerTest.java b/src/test/java/org/apache/aurora/scheduler/storage/log/LogManagerTest.java
index 040125e..77c292d 100644
--- a/src/test/java/org/apache/aurora/scheduler/storage/log/LogManagerTest.java
+++ b/src/test/java/org/apache/aurora/scheduler/storage/log/LogManagerTest.java
@@ -15,7 +15,6 @@
  */
 package org.apache.aurora.scheduler.storage.log;
 
-import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.security.MessageDigest;
 import java.util.Deque;
@@ -30,9 +29,7 @@ import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Iterators;
 import com.google.common.collect.Lists;
-import com.twitter.common.application.ShutdownRegistry;
 import com.twitter.common.base.Closure;
-import com.twitter.common.base.ExceptionalCommand;
 import com.twitter.common.quantity.Amount;
 import com.twitter.common.quantity.Data;
 import com.twitter.common.testing.easymock.EasyMockTest;
@@ -64,20 +61,17 @@ import org.apache.aurora.scheduler.log.Log.Position;
 import org.apache.aurora.scheduler.log.Log.Stream;
 import org.apache.aurora.scheduler.storage.log.LogManager.StreamManager;
 import org.apache.aurora.scheduler.storage.log.LogManager.StreamManager.StreamTransaction;
-import org.easymock.Capture;
 import org.easymock.EasyMock;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.easymock.EasyMock.aryEq;
-import static org.easymock.EasyMock.capture;
 import static org.easymock.EasyMock.expect;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
 
 public class LogManagerTest extends EasyMockTest {
 
@@ -115,26 +109,6 @@ public class LogManagerTest extends EasyMockTest {
   }
 
   @Test
-  public void testLogManager() throws IOException, CodingException {
-    Log log = createMock(Log.class);
-    expect(log.open()).andReturn(stream);
-
-    ShutdownRegistry shutdownRegistry = createMock(ShutdownRegistry.class);
-    Capture<ExceptionalCommand<IOException>> shutdownAction = new Capture<>();
-    shutdownRegistry.addAction(capture(shutdownAction));
-
-    // The registered shutdown command should close the stream
-    stream.close();
-
-    control.replay();
-
-    new LogManager(log, NO_FRAMES_EVER_SIZE, false, shutdownRegistry).open();
-
-    assertTrue(shutdownAction.hasCaptured());
-    shutdownAction.getValue().execute();
-  }
-
-  @Test
   public void testStreamManagerReadFromUnknownNone() throws CodingException {
     expect(stream.readAll()).andReturn(Iterators.<Log.Entry>emptyIterator());
 
@@ -386,11 +360,6 @@ public class LogManagerTest extends EasyMockTest {
           throws InvalidPositionException, StreamAccessException {
         throw new UnsupportedOperationException();
       }
-
-      @Override
-      public void close() throws IOException {
-        // noop
-      }
     };
 
     final StreamManager streamManager = new StreamManager(mockStream, false, message1.chunkSize);

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/4d618aba/src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java b/src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java
index 1b9bf0c..8b26cc0 100644
--- a/src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java
+++ b/src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java
@@ -15,7 +15,6 @@
  */
 package org.apache.aurora.scheduler.storage.log;
 
-import java.io.IOException;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -26,9 +25,6 @@ import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterators;
 import com.google.common.testing.TearDown;
-import com.twitter.common.application.ShutdownRegistry;
-import com.twitter.common.base.Command;
-import com.twitter.common.base.ExceptionalCommand;
 import com.twitter.common.quantity.Amount;
 import com.twitter.common.quantity.Data;
 import com.twitter.common.quantity.Time;
@@ -88,7 +84,6 @@ import org.apache.aurora.scheduler.storage.log.testing.LogOpMatcher;
 import org.apache.aurora.scheduler.storage.log.testing.LogOpMatcher.StreamMatcher;
 import org.apache.aurora.scheduler.storage.testing.StorageTestUtil;
 import org.easymock.Capture;
-import org.easymock.EasyMock;
 import org.easymock.IAnswer;
 import org.junit.Before;
 import org.junit.Test;
@@ -111,7 +106,6 @@ public class LogStorageTest extends EasyMockTest {
   private Stream stream;
   private Position position;
   private StreamMatcher streamMatcher;
-  private ShutdownRegistry shutdownRegistry;
   private SchedulingService schedulingService;
   private SnapshotStore<Snapshot> snapshotStore;
   private StorageTestUtil storageUtil;
@@ -120,8 +114,7 @@ public class LogStorageTest extends EasyMockTest {
   public void setUp() {
     log = createMock(Log.class);
 
-    shutdownRegistry = createMock(ShutdownRegistry.class);
-    LogManager logManager = new LogManager(log, Amount.of(1, Data.GB), false, shutdownRegistry);
+    LogManager logManager = new LogManager(log, Amount.of(1, Data.GB), false);
 
     schedulingService = createMock(SchedulingService.class);
     snapshotStore = createMock(new Clazz<SnapshotStore<Snapshot>>() { });
@@ -150,10 +143,6 @@ public class LogStorageTest extends EasyMockTest {
     // We should open the log and arrange for its clean shutdown.
     expect(log.open()).andReturn(stream);
 
-    Capture<ExceptionalCommand<IOException>> shutdownStream = createCapture();
-    shutdownRegistry.addAction(capture(shutdownStream));
-    stream.close();
-
     // Our start should recover the log and then forward to the underlying storage start of the
     // supplied initialization logic.
     final AtomicBoolean initialized = new AtomicBoolean(false);
@@ -238,12 +227,8 @@ public class LogStorageTest extends EasyMockTest {
     logStorage.start(initializationLogic);
     assertTrue(initialized.get());
 
-    assertTrue(snapshotAction.hasCaptured());
     // Run the snapshot thread.
     snapshotAction.getValue().run();
-
-    assertTrue(shutdownStream.hasCaptured());
-    shutdownStream.getValue().execute();
   }
 
   abstract class StorageTestFixture {
@@ -266,7 +251,6 @@ public class LogStorageTest extends EasyMockTest {
 
       // Open the log stream.
       expect(log.open()).andReturn(stream);
-      shutdownRegistry.addAction(EasyMock.<Command>notNull());
 
       // Replay the log and perform and supplied initializationWork.
       // Simulate NOOP initialization work