You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@omid.apache.org by fp...@apache.org on 2016/05/11 18:06:16 UTC
[09/50] [abbrv] incubator-omid git commit: Avoid TSO resets
Avoid TSO resets
TSO reset state-related methods have been removed and changed for a single-shot
initialization
Change-Id: I9b874c923937c1be8d09cf6a41d87e6367acafa5
Project: http://git-wip-us.apache.org/repos/asf/incubator-omid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-omid/commit/811ec48f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-omid/tree/811ec48f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-omid/diff/811ec48f
Branch: refs/heads/master
Commit: 811ec48f28d22a2d2ca2e4652a05c1dfe34911bf
Parents: 10fea27
Author: Francisco Perez-Sorrosal <fp...@yahoo-inc.com>
Authored: Mon Apr 25 10:36:05 2016 -0700
Committer: Francisco Perez-Sorrosal <fp...@yahoo-inc.com>
Committed: Mon Apr 25 13:51:03 2016 -0700
----------------------------------------------------------------------
.../main/java/org/apache/omid/tso/Cache.java | 2 --
.../java/org/apache/omid/tso/CommitHashMap.java | 5 ----
.../java/org/apache/omid/tso/LeaseManager.java | 20 +++++++---------
.../java/org/apache/omid/tso/LongCache.java | 9 -------
.../java/org/apache/omid/tso/MockPanicker.java | 7 ++++++
.../main/java/org/apache/omid/tso/Panicker.java | 4 ++++
.../apache/omid/tso/RequestProcessorImpl.java | 11 ++++-----
.../omid/tso/RuntimeExceptionPanicker.java | 6 +++++
.../java/org/apache/omid/tso/TSOServer.java | 2 --
.../org/apache/omid/tso/TSOStateManager.java | 6 ++---
.../apache/omid/tso/TSOStateManagerImpl.java | 8 ++++---
.../org/apache/omid/tso/VoidLeaseManager.java | 2 +-
.../org/apache/omid/tso/TestLeaseManager.java | 25 ++++++++++----------
.../java/org/apache/omid/tso/TestLongCache.java | 21 ++++------------
.../apache/omid/tso/TestRequestProcessor.java | 4 ++--
.../apache/omid/tso/TestTSOStateManager.java | 22 ++++++++---------
16 files changed, 68 insertions(+), 86 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/main/java/org/apache/omid/tso/Cache.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/Cache.java b/tso-server/src/main/java/org/apache/omid/tso/Cache.java
index 5904c60..53abf3d 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/Cache.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/Cache.java
@@ -23,8 +23,6 @@ package org.apache.omid.tso;
*/
public interface Cache {
- void reset();
-
long set(long key, long value);
long get(long key);
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/main/java/org/apache/omid/tso/CommitHashMap.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/CommitHashMap.java b/tso-server/src/main/java/org/apache/omid/tso/CommitHashMap.java
index cdb64b8..df7544d 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/CommitHashMap.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/CommitHashMap.java
@@ -66,11 +66,6 @@ class CommitHashMap {
LOG.info("CellId -> CommitTS map created with [{}] buckets (32 elems/bucket)", size);
}
- public void reset() {
- cellIdToCommitMap.reset();
- LOG.info("CellId -> CommitTS map reset");
- }
-
public long getLatestWriteForCell(long hash) {
return cellIdToCommitMap.get(hash);
}
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/main/java/org/apache/omid/tso/LeaseManager.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/LeaseManager.java b/tso-server/src/main/java/org/apache/omid/tso/LeaseManager.java
index 4944869..6b726b2 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/LeaseManager.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/LeaseManager.java
@@ -17,14 +17,13 @@
*/
package org.apache.omid.tso;
-import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Charsets;
import com.google.common.base.Preconditions;
import com.google.common.util.concurrent.AbstractScheduledService;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
-import org.apache.omid.tso.TSOStateManager.TSOState;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.utils.EnsurePath;
+import org.apache.omid.tso.TSOStateManager.TSOState;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.data.Stat;
import org.slf4j.Logger;
@@ -127,13 +126,13 @@ class LeaseManager extends AbstractScheduledService implements LeaseManagement {
if (canAcquireLease()) {
endLeaseInMs.set(baseTimeInMs.get() + leasePeriodInMs);
LOG.info("{} got the lease (Master) Ver. {}/End of lease: {}ms", tsoHostAndPort,
- leaseNodeVersion, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(endLeaseInMs));
+ leaseNodeVersion, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(endLeaseInMs));
tsoStateInitializer.submit(new Runnable() {
// TSO State initialization
@Override
public void run() {
try {
- TSOState newTSOState = stateManager.reset();
+ TSOState newTSOState = stateManager.initialize();
advertiseTSOServerInfoThroughZK(newTSOState.getEpoch());
tsoChannelHandler.reconnect();
} catch (Exception e) {
@@ -159,18 +158,15 @@ class LeaseManager extends AbstractScheduledService implements LeaseManagement {
if (canAcquireLease()) {
if (System.currentTimeMillis() > getEndLeaseInMs()) {
endLeaseInMs.set(0L);
- LOG.warn("{} expired lease! Releasing lease to start Master re-election", tsoHostAndPort);
- tsoChannelHandler.closeConnection();
+ panicker.panic(tsoHostAndPort + " expired lease! Master is committing suicide");
} else {
endLeaseInMs.set(baseTimeInMs.get() + leasePeriodInMs);
LOG.trace("{} renewed lease: Version {}/End of lease at {}ms",
- tsoHostAndPort, leaseNodeVersion, endLeaseInMs);
+ tsoHostAndPort, leaseNodeVersion, endLeaseInMs);
}
} else {
endLeaseInMs.set(0L);
- LOG.warn("{} lost the lease (Ver. {})! Other instance is now Master",
- tsoHostAndPort, leaseNodeVersion);
- tsoChannelHandler.closeConnection();
+ panicker.panic(tsoHostAndPort + " lease lost (Ver. " + leaseNodeVersion + ")! Other instance is Master. Committing suicide...");
}
}
@@ -240,13 +236,13 @@ class LeaseManager extends AbstractScheduledService implements LeaseManagement {
Stat stat = zkClient.checkExists().forPath(leasePath);
leaseNodeVersion = stat.getVersion();
LOG.trace("{} will try to get lease (with Ver. {}) in {}ms", tsoHostAndPort, leaseNodeVersion,
- leasePeriodInMs);
+ leasePeriodInMs);
// ...and wait the lease period
return new Schedule(leasePeriodInMs, TimeUnit.MILLISECONDS);
} else {
long waitTimeInMs = getEndLeaseInMs() - System.currentTimeMillis() - guardLeasePeriodInMs;
LOG.trace("{} will try to renew lease (with Ver. {}) in {}ms", tsoHostAndPort,
- leaseNodeVersion, waitTimeInMs);
+ leaseNodeVersion, waitTimeInMs);
return new Schedule(waitTimeInMs, TimeUnit.MILLISECONDS);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/main/java/org/apache/omid/tso/LongCache.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/LongCache.java b/tso-server/src/main/java/org/apache/omid/tso/LongCache.java
index b269a0b..ecd6cd1 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/LongCache.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/LongCache.java
@@ -17,12 +17,8 @@
*/
package org.apache.omid.tso;
-import java.util.Arrays;
-
public class LongCache implements Cache {
- public static final long RESET_VALUE = 0L;
-
private final long[] cache;
private final int size;
private final int associativity;
@@ -33,11 +29,6 @@ public class LongCache implements Cache {
this.associativity = associativity;
}
- @Override
- public void reset() {
- Arrays.fill(cache, RESET_VALUE);
- }
-
/* (non-Javadoc)
* @see org.apache.omid.tso.Cache#set(long, long)
*/
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/main/java/org/apache/omid/tso/MockPanicker.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/MockPanicker.java b/tso-server/src/main/java/org/apache/omid/tso/MockPanicker.java
index 9e3cd5f..fdf8476 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/MockPanicker.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/MockPanicker.java
@@ -21,10 +21,17 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MockPanicker implements Panicker {
+
private static final Logger LOG = LoggerFactory.getLogger(MockPanicker.class);
@Override
+ public void panic(String reason) {
+ LOG.error("PANICKING: {}", reason);
+ }
+
+ @Override
public void panic(String reason, Throwable cause) {
LOG.error("PANICKING: {}", reason, cause);
}
+
}
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/main/java/org/apache/omid/tso/Panicker.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/Panicker.java b/tso-server/src/main/java/org/apache/omid/tso/Panicker.java
index 2823f84..c821b5a 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/Panicker.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/Panicker.java
@@ -18,5 +18,9 @@
package org.apache.omid.tso;
public interface Panicker {
+
+ void panic(String reason);
+
void panic(String reason, Throwable cause);
+
}
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/main/java/org/apache/omid/tso/RequestProcessorImpl.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/RequestProcessorImpl.java b/tso-server/src/main/java/org/apache/omid/tso/RequestProcessorImpl.java
index c853da0..cf4b44d 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/RequestProcessorImpl.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/RequestProcessorImpl.java
@@ -68,9 +68,7 @@ public class RequestProcessorImpl implements EventHandler<RequestProcessorImpl.R
requestRing = RingBuffer.createMultiProducer(RequestEvent.EVENT_FACTORY, 1 << 12, new BusySpinWaitStrategy());
SequenceBarrier requestSequenceBarrier = requestRing.newBarrier();
BatchEventProcessor<RequestEvent> requestProcessor =
- new BatchEventProcessor<RequestEvent>(requestRing,
- requestSequenceBarrier,
- this);
+ new BatchEventProcessor<RequestEvent>(requestRing, requestSequenceBarrier, this);
requestRing.addGatingSequences(requestProcessor.getSequence());
requestProcessor.setExceptionHandler(new FatalExceptionHandler(panicker));
@@ -82,15 +80,14 @@ public class RequestProcessorImpl implements EventHandler<RequestProcessorImpl.R
}
/**
- * This should be called when the TSO gets initialized or gets leadership
+ * This should be called when the TSO gets leadership
*/
@Override
- public void update(TSOState state) throws IOException {
- LOG.info("Reseting RequestProcessor...");
+ public void update(TSOState state) {
+ LOG.info("Initializing RequestProcessor...");
this.lowWatermark = state.getLowWatermark();
persistProc.persistLowWatermark(lowWatermark);
this.epoch = state.getEpoch();
- hashmap.reset();
LOG.info("RequestProcessor initialized with LWMs {} and Epoch {}", lowWatermark, epoch);
}
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/main/java/org/apache/omid/tso/RuntimeExceptionPanicker.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/RuntimeExceptionPanicker.java b/tso-server/src/main/java/org/apache/omid/tso/RuntimeExceptionPanicker.java
index c1fbadb..657f0d2 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/RuntimeExceptionPanicker.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/RuntimeExceptionPanicker.java
@@ -20,7 +20,13 @@ package org.apache.omid.tso;
class RuntimeExceptionPanicker implements Panicker {
@Override
+ public void panic(String reason) {
+ panic(reason, new Throwable("TSO Error"));
+ }
+
+ @Override
public void panic(String reason, Throwable cause) {
throw new RuntimeException(reason, cause);
}
+
}
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/main/java/org/apache/omid/tso/TSOServer.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/TSOServer.java b/tso-server/src/main/java/org/apache/omid/tso/TSOServer.java
index 82d2ade..c93a0b6 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/TSOServer.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/TSOServer.java
@@ -25,8 +25,6 @@ import com.google.inject.Injector;
import com.google.inject.Module;
import com.google.inject.Singleton;
import org.apache.omid.metrics.MetricsRegistry;
-import org.apache.omid.tools.hbase.HBaseLogin;
-import org.apache.hadoop.conf.Configuration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/main/java/org/apache/omid/tso/TSOStateManager.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/TSOStateManager.java b/tso-server/src/main/java/org/apache/omid/tso/TSOStateManager.java
index 2e69cad..10eabac 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/TSOStateManager.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/TSOStateManager.java
@@ -84,12 +84,12 @@ public interface TSOStateManager {
void unregister(StateObserver observer);
/**
- * Allows to reset the state
+ * Allows to initialize the state
*
- * @return the new state after reset
+ * @return the new state
* @throws IOException
* when problems resetting occur
*/
- TSOState reset() throws IOException;
+ TSOState initialize() throws IOException;
}
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/main/java/org/apache/omid/tso/TSOStateManagerImpl.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/TSOStateManagerImpl.java b/tso-server/src/main/java/org/apache/omid/tso/TSOStateManagerImpl.java
index ed0f600..a10c22f 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/TSOStateManagerImpl.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/TSOStateManagerImpl.java
@@ -58,8 +58,9 @@ public class TSOStateManagerImpl implements TSOStateManager {
}
@Override
- public synchronized TSOState reset() throws IOException {
- LOG.info("Reseting the TSO Server state...");
+ public TSOState initialize() throws IOException {
+
+ LOG.info("Initializing TSO Server state...");
// The timestamp oracle dictates the new state
timestampOracle.initialize();
long lowWatermark = timestampOracle.getLast();
@@ -71,8 +72,9 @@ public class TSOStateManagerImpl implements TSOStateManager {
for (StateObserver stateObserver : stateObservers) {
stateObserver.update(state);
}
- LOG.info("New TSO Server state {}", state);
+ LOG.info("TSO Server state {}", state);
return state;
+
}
}
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/main/java/org/apache/omid/tso/VoidLeaseManager.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/VoidLeaseManager.java b/tso-server/src/main/java/org/apache/omid/tso/VoidLeaseManager.java
index 25fb2a0..0b32885 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/VoidLeaseManager.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/VoidLeaseManager.java
@@ -32,7 +32,7 @@ public class VoidLeaseManager implements LeaseManagement {
@Override
public void startService() throws LeaseManagementException {
try {
- stateManager.reset();
+ stateManager.initialize();
tsoChannelHandler.reconnect();
} catch (IOException e) {
throw new LeaseManagementException("Error initializing Lease Manager", e);
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/test/java/org/apache/omid/tso/TestLeaseManager.java
----------------------------------------------------------------------
diff --git a/tso-server/src/test/java/org/apache/omid/tso/TestLeaseManager.java b/tso-server/src/test/java/org/apache/omid/tso/TestLeaseManager.java
index 59a0220..60cefca 100644
--- a/tso-server/src/test/java/org/apache/omid/tso/TestLeaseManager.java
+++ b/tso-server/src/test/java/org/apache/omid/tso/TestLeaseManager.java
@@ -18,11 +18,11 @@
package org.apache.omid.tso;
import com.google.common.base.Charsets;
-import org.apache.omid.TestUtils;
-import org.apache.omid.tso.TSOStateManager.TSOState;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.test.TestingServer;
import org.apache.curator.utils.CloseableUtils;
+import org.apache.omid.TestUtils;
+import org.apache.omid.tso.TSOStateManager.TSOState;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.slf4j.Logger;
@@ -105,7 +105,7 @@ public class TestLeaseManager {
TSOChannelHandler tsoChannelHandler = mock(TSOChannelHandler.class);
TSOStateManager stateManager = mock(TSOStateManager.class);
- when(stateManager.reset()).thenThrow(new IOException());
+ when(stateManager.initialize()).thenThrow(new IOException());
leaseManager1 = new PausableLeaseManager(LEASE_MGR_ID_1,
tsoChannelHandler,
stateManager,
@@ -126,8 +126,7 @@ public class TestLeaseManager {
}
@Test(timeOut = 60000)
- public void testLeaseHolderDoesNotChangeWhenPausedForALongTimeAndTheresNoOtherInstance()
- throws Exception {
+ public void testLeaseHolderDoesNotChangeWhenPausedForALongTimeAndTheresNoOtherInstance() throws Exception {
final String TEST_TSO_LEASE_PATH = "/test1_tsolease";
final String TEST_CURRENT_TSO_PATH = "/test1_currenttso";
@@ -135,7 +134,7 @@ public class TestLeaseManager {
// Launch the instance under test...
TSOChannelHandler tsoChannelHandler1 = mock(TSOChannelHandler.class);
TSOStateManager stateManager1 = mock(TSOStateManager.class);
- when(stateManager1.reset()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_1, DUMMY_EPOCH_1));
+ when(stateManager1.initialize()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_1, DUMMY_EPOCH_1));
leaseManager1 = new PausableLeaseManager(LEASE_MGR_ID_1,
tsoChannelHandler1,
stateManager1,
@@ -173,7 +172,7 @@ public class TestLeaseManager {
// ... and check again that nothing changed
checkLeaseHolder(TEST_TSO_LEASE_PATH, LEASE_MGR_ID_1);
checkInstanceId(TEST_CURRENT_TSO_PATH, INSTANCE_ID_1 + "1");
- assertTrue(leaseManager1.stillInLeasePeriod());
+ assertFalse(leaseManager1.stillInLeasePeriod()); // Must not be master as it should have triggered and exception
}
@@ -186,7 +185,7 @@ public class TestLeaseManager {
// Launch the master instance...
TSOChannelHandler tsoChannelHandler1 = mock(TSOChannelHandler.class);
TSOStateManager stateManager1 = mock(TSOStateManager.class);
- when(stateManager1.reset()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_1, DUMMY_EPOCH_1));
+ when(stateManager1.initialize()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_1, DUMMY_EPOCH_1));
leaseManager1 = new PausableLeaseManager(LEASE_MGR_ID_1,
tsoChannelHandler1,
stateManager1,
@@ -209,7 +208,7 @@ public class TestLeaseManager {
// Then launch another instance...
TSOChannelHandler tsoChannelHandler2 = mock(TSOChannelHandler.class);
TSOStateManager stateManager2 = mock(TSOStateManager.class);
- when(stateManager2.reset()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_2, DUMMY_EPOCH_2));
+ when(stateManager2.initialize()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_2, DUMMY_EPOCH_2));
leaseManager2 = new PausableLeaseManager(LEASE_MGR_ID_2,
tsoChannelHandler2,
stateManager2,
@@ -239,7 +238,7 @@ public class TestLeaseManager {
// Launch the master instance...
TSOChannelHandler tsoChannelHandler1 = mock(TSOChannelHandler.class);
TSOStateManager stateManager1 = mock(TSOStateManager.class);
- when(stateManager1.reset()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_1, DUMMY_EPOCH_1));
+ when(stateManager1.initialize()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_1, DUMMY_EPOCH_1));
leaseManager1 = new PausableLeaseManager(LEASE_MGR_ID_1,
tsoChannelHandler1,
stateManager1,
@@ -262,7 +261,7 @@ public class TestLeaseManager {
// Then launch another instance...
TSOChannelHandler tsoChannelHandler2 = mock(TSOChannelHandler.class);
TSOStateManager stateManager2 = mock(TSOStateManager.class);
- when(stateManager2.reset()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_2, DUMMY_EPOCH_2));
+ when(stateManager2.initialize()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_2, DUMMY_EPOCH_2));
leaseManager2 = new PausableLeaseManager(LEASE_MGR_ID_2,
tsoChannelHandler2,
stateManager2,
@@ -285,7 +284,7 @@ public class TestLeaseManager {
assertTrue(leaseManager2.stillInLeasePeriod());
// Now, lets resume the first instance...
- when(stateManager1.reset()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_3, DUMMY_EPOCH_3));
+ when(stateManager1.initialize()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_3, DUMMY_EPOCH_3));
leaseManager1.resume();
// ... let the test run for some time...
@@ -334,7 +333,7 @@ public class TestLeaseManager {
// Launch the master instance...
TSOStateManager stateManager1 = mock(TSOStateManager.class);
- when(stateManager1.reset()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_1, DUMMY_EPOCH_1));
+ when(stateManager1.initialize()).thenReturn(new TSOState(DUMMY_LOW_WATERMARK_1, DUMMY_EPOCH_1));
PausableLeaseManager leaseManager = new PausableLeaseManager(LEASE_MGR_ID_1,
mock(TSOChannelHandler.class),
stateManager1,
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/test/java/org/apache/omid/tso/TestLongCache.java
----------------------------------------------------------------------
diff --git a/tso-server/src/test/java/org/apache/omid/tso/TestLongCache.java b/tso-server/src/test/java/org/apache/omid/tso/TestLongCache.java
index c6cad08..c02ed85 100644
--- a/tso-server/src/test/java/org/apache/omid/tso/TestLongCache.java
+++ b/tso-server/src/test/java/org/apache/omid/tso/TestLongCache.java
@@ -26,7 +26,7 @@ import java.util.Set;
import java.util.TreeSet;
import static org.testng.Assert.assertEquals;
-import static org.testng.AssertJUnit.assertTrue;
+import static org.testng.Assert.assertTrue;
public class TestLongCache {
@@ -37,7 +37,7 @@ public class TestLongCache {
private Random random = new Random(System.currentTimeMillis());
@Test
- public void testAddAndGetElemsAndResetCache() {
+ public void testAddAndGetElems() {
// Cache configuration
final int CACHE_SIZE = 10_000_000;
@@ -47,7 +47,7 @@ public class TestLongCache {
// After creation, cache values should be the default
for (int i = 0; i < 1000; i++) {
long position = random.nextLong();
- assertEquals(cache.get(position), LongCache.RESET_VALUE);
+ assertEquals(cache.get(position), 0L);
}
Set<Long> testedKeys = new TreeSet<>();
@@ -63,17 +63,6 @@ public class TestLongCache {
assertEquals(cache.get(key), TEST_VALUE);
}
- // Reset cache and check the values are the default again
- long startTimeInMs = System.currentTimeMillis();
- cache.reset();
- long endTimeInMs = System.currentTimeMillis();
- long resetTimeInMs = endTimeInMs - startTimeInMs;
- LOG.info("Time in reseting cache of {}/{} elems/asoc {}ms", CACHE_SIZE, CACHE_ASSOCIATIVITY, resetTimeInMs);
-
- for (long key : testedKeys) {
- assertEquals(cache.get(key), LongCache.RESET_VALUE);
- }
-
}
@Test(timeOut = 10000)
@@ -116,7 +105,7 @@ public class TestLongCache {
double avgGap = totalAge / (double) removals;
LOG.info("Avg gap: " + (tempAvg));
LOG.info("Std dev gap: " + Math.sqrt((tempStdDev / entries)));
- assertTrue("avgGap should be greater than entries * 0.6",
- avgGap > entries * 0.6);
+ assertTrue(avgGap > entries * 0.6, "avgGap should be greater than entries * 0.6");
+
}
}
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/test/java/org/apache/omid/tso/TestRequestProcessor.java
----------------------------------------------------------------------
diff --git a/tso-server/src/test/java/org/apache/omid/tso/TestRequestProcessor.java b/tso-server/src/test/java/org/apache/omid/tso/TestRequestProcessor.java
index a9b32e6..d1272a7 100644
--- a/tso-server/src/test/java/org/apache/omid/tso/TestRequestProcessor.java
+++ b/tso-server/src/test/java/org/apache/omid/tso/TestRequestProcessor.java
@@ -75,7 +75,7 @@ public class TestRequestProcessor {
// Initialize the state for the experiment
stateManager.register(requestProc);
- stateManager.reset();
+ stateManager.initialize();
}
@@ -150,7 +150,7 @@ public class TestRequestProcessor {
// ... simulate the reset of the RequestProcessor state (e.g. due to
// a change in mastership) and...
- stateManager.reset();
+ stateManager.initialize();
// ...check that the transaction is aborted when trying to commit
requestProc.commitRequest(startTS, writeSet, false, null, new MonitoringContext(metrics));
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/811ec48f/tso-server/src/test/java/org/apache/omid/tso/TestTSOStateManager.java
----------------------------------------------------------------------
diff --git a/tso-server/src/test/java/org/apache/omid/tso/TestTSOStateManager.java b/tso-server/src/test/java/org/apache/omid/tso/TestTSOStateManager.java
index c69e77f..2b4b250 100644
--- a/tso-server/src/test/java/org/apache/omid/tso/TestTSOStateManager.java
+++ b/tso-server/src/test/java/org/apache/omid/tso/TestTSOStateManager.java
@@ -51,23 +51,23 @@ public class TestTSOStateManager {
}
@Test
- public void testResetOfTSOServerState() throws Exception {
+ public void testTSOServerStateInitialization() throws Exception {
// Reset the state and check we get the initial state values
- TSOState initialState = stateManager.reset();
+ TSOState initialState = stateManager.initialize();
assertEquals(initialState.getLowWatermark(), INITIAL_STATE_VALUE);
assertEquals(initialState.getEpoch(), INITIAL_STATE_VALUE);
assertTrue("In this implementation low watermark should be equal to epoch",
- initialState.getLowWatermark() == initialState.getEpoch());
+ initialState.getLowWatermark() == initialState.getEpoch());
// Then, simulate a change in the state returned by the Timestamp Oracle...
when(timestampOracle.getLast()).thenReturn(NEW_STATE_VALUE);
// ... and again, reset the state and check we get the new values
- TSOState secondState = stateManager.reset();
+ TSOState secondState = stateManager.initialize();
assertEquals(secondState.getLowWatermark(), NEW_STATE_VALUE);
assertEquals(secondState.getEpoch(), NEW_STATE_VALUE);
assertTrue("In this implementation low watermark should be equal to epoch",
- secondState.getLowWatermark() == secondState.getEpoch());
+ secondState.getLowWatermark() == secondState.getEpoch());
}
@@ -79,7 +79,7 @@ public class TestTSOStateManager {
stateManager.register(observer1);
// Reset the state to trigger observer notifications
- TSOState state = stateManager.reset();
+ TSOState state = stateManager.initialize();
// Check observer 1 was notified with the corresponding state
verify(observer1, timeout(100).times(1)).update(eq(state));
@@ -89,7 +89,7 @@ public class TestTSOStateManager {
stateManager.register(observer2);
// Again, reset the state to trigger observer notifications
- state = stateManager.reset();
+ state = stateManager.initialize();
// Check both observers were notified with the corresponding state
verify(observer1, timeout(100).times(1)).update(eq(state));
@@ -99,16 +99,16 @@ public class TestTSOStateManager {
stateManager.unregister(observer1);
// Again, reset the state to trigger observer notifications
- state = stateManager.reset();
+ state = stateManager.initialize();
// Check only observer 2 was notified
verify(observer1, timeout(100).times(0)).update(eq(state));
verify(observer2, timeout(100).times(1)).update(eq(state));
}
- // ------------------------------------------------------------------------
- // -------------------------- Helper classes ------------------------------
- // ------------------------------------------------------------------------
+ // ----------------------------------------------------------------------------------------------------------------
+ // Helper classes
+ // ----------------------------------------------------------------------------------------------------------------
private class DummyObserver implements StateObserver {