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