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/18 19:34:38 UTC
[3/7] incubator-omid git commit: Remove IOException from
TimestampOracle intf
Remove IOException from TimestampOracle intf
The unnecessary exception introduced a several unnecessary boilerplate code.
Also the TimestampOracle interface has been commented properly.
Change-Id: I510e7677f07299061aebfd23f7a8d189e177a4f1
Project: http://git-wip-us.apache.org/repos/asf/incubator-omid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-omid/commit/484d116a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-omid/tree/484d116a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-omid/diff/484d116a
Branch: refs/heads/master
Commit: 484d116a50324f423b91514a6b4436cc90a13f05
Parents: a8bee71
Author: Francisco Perez-Sorrosal <fp...@yahoo-inc.com>
Authored: Thu May 12 10:37:25 2016 -0700
Committer: Francisco Perez-Sorrosal <fp...@yahoo-inc.com>
Committed: Wed May 18 12:26:31 2016 -0700
----------------------------------------------------------------------
.../apache/omid/tso/RequestProcessorImpl.java | 40 ++++++++------------
.../org/apache/omid/tso/TimestampOracle.java | 16 ++++++--
.../apache/omid/tso/TimestampOracleImpl.java | 7 ++--
.../omid/tso/PausableTimestampOracle.java | 2 +-
.../java/org/apache/omid/tso/TestPanicker.java | 8 +---
.../apache/omid/tso/TestTimestampOracle.java | 8 +---
6 files changed, 36 insertions(+), 45 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/484d116a/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 d101c72..0ad5c08 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
@@ -154,15 +154,7 @@ class RequestProcessorImpl implements EventHandler<RequestProcessorImpl.RequestE
private void handleTimestamp(RequestEvent requestEvent) throws Exception {
- long timestamp;
-
- try {
- timestamp = timestampOracle.next();
- } catch (IOException e) {
- LOG.error("Error getting timestamp", e);
- return;
- }
-
+ long timestamp = timestampOracle.next();
persistProc.addTimestampToBatch(timestamp, requestEvent.getChannel(), requestEvent.getMonCtx());
}
@@ -195,27 +187,25 @@ class RequestProcessorImpl implements EventHandler<RequestProcessorImpl.RequestE
if (txCanCommit) {
// 2. commit
- try {
- long commitTimestamp = timestampOracle.next();
- if (numCellsInWriteset > 0) {
- long newLowWatermark = lowWatermark;
+ long commitTimestamp = timestampOracle.next();
- for (long r : writeSet) {
- long removed = hashmap.putLatestWriteForCell(r, commitTimestamp);
- newLowWatermark = Math.max(removed, newLowWatermark);
- }
+ if (numCellsInWriteset > 0) {
+ long newLowWatermark = lowWatermark;
- if (newLowWatermark != lowWatermark) {
- LOG.trace("Setting new low Watermark to {}", newLowWatermark);
- lowWatermark = newLowWatermark;
- persistProc.persistLowWatermark(newLowWatermark); // Async persist
- }
+ for (long r : writeSet) {
+ long removed = hashmap.putLatestWriteForCell(r, commitTimestamp);
+ newLowWatermark = Math.max(removed, newLowWatermark);
+ }
+
+ if (newLowWatermark != lowWatermark) {
+ LOG.trace("Setting new low Watermark to {}", newLowWatermark);
+ lowWatermark = newLowWatermark;
+ persistProc.persistLowWatermark(newLowWatermark); // Async persist
}
- persistProc.addCommitToBatch(startTimestamp, commitTimestamp, c, event.getMonCtx());
- } catch (IOException e) {
- LOG.error("Error committing tx {}", startTimestamp, e);
}
+ persistProc.addCommitToBatch(startTimestamp, commitTimestamp, c, event.getMonCtx());
+
} else { // add it to the aborted list
persistProc.addAbortToBatch(startTimestamp, isRetry, c, event.getMonCtx());
}
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/484d116a/tso-server/src/main/java/org/apache/omid/tso/TimestampOracle.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/TimestampOracle.java b/tso-server/src/main/java/org/apache/omid/tso/TimestampOracle.java
index f6c6127..3b795ef 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/TimestampOracle.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/TimestampOracle.java
@@ -19,16 +19,26 @@ package org.apache.omid.tso;
import java.io.IOException;
+/**
+ * Functionality of a service delivering monotonic increasing timestamps.
+ */
public interface TimestampOracle {
+ /**
+ * Allows the initialization of the Timestamp Oracle service.
+ * @throws IOException
+ * raised if a problem during initialization is shown.
+ */
void initialize() throws IOException;
/**
- * Returns the next timestamp if available. Otherwise spins till the
- * ts-persist thread performs the new timestamp allocation
+ * Returns the next timestamp.
*/
- long next() throws IOException;
+ long next();
+ /**
+ * Returns the last timestamp assigned.
+ */
long getLast();
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/484d116a/tso-server/src/main/java/org/apache/omid/tso/TimestampOracleImpl.java
----------------------------------------------------------------------
diff --git a/tso-server/src/main/java/org/apache/omid/tso/TimestampOracleImpl.java b/tso-server/src/main/java/org/apache/omid/tso/TimestampOracleImpl.java
index b5bbe4b..0a65c01 100644
--- a/tso-server/src/main/java/org/apache/omid/tso/TimestampOracleImpl.java
+++ b/tso-server/src/main/java/org/apache/omid/tso/TimestampOracleImpl.java
@@ -34,7 +34,7 @@ import java.util.concurrent.Executors;
import static org.apache.omid.metrics.MetricsUtils.name;
/**
- * The Timestamp Oracle that gives monotonically increasing timestamps
+ * The Timestamp Oracle that gives monotonically increasing timestamps.
*/
@Singleton
public class TimestampOracleImpl implements TimestampOracle {
@@ -129,12 +129,11 @@ public class TimestampOracleImpl implements TimestampOracle {
}
/**
- * Returns the next timestamp if available. Otherwise spins till the
- * ts-persist thread performs the new timestamp allocation
+ * Returns the next timestamp if available. Otherwise spins till the ts-persist thread allocates a new timestamp.
*/
@SuppressWarnings("StatementWithEmptyBody")
@Override
- public long next() throws IOException {
+ public long next() {
lastTimestamp++;
if (lastTimestamp == nextAllocationThreshold) {
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/484d116a/tso-server/src/test/java/org/apache/omid/tso/PausableTimestampOracle.java
----------------------------------------------------------------------
diff --git a/tso-server/src/test/java/org/apache/omid/tso/PausableTimestampOracle.java b/tso-server/src/test/java/org/apache/omid/tso/PausableTimestampOracle.java
index 360bbe2..588acfd 100644
--- a/tso-server/src/test/java/org/apache/omid/tso/PausableTimestampOracle.java
+++ b/tso-server/src/test/java/org/apache/omid/tso/PausableTimestampOracle.java
@@ -39,7 +39,7 @@ public class PausableTimestampOracle extends TimestampOracleImpl {
}
@Override
- public long next() throws IOException {
+ public long next() {
while (tsoPaused) {
synchronized (this) {
try {
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/484d116a/tso-server/src/test/java/org/apache/omid/tso/TestPanicker.java
----------------------------------------------------------------------
diff --git a/tso-server/src/test/java/org/apache/omid/tso/TestPanicker.java b/tso-server/src/test/java/org/apache/omid/tso/TestPanicker.java
index 2964388..9b8ad29 100644
--- a/tso-server/src/test/java/org/apache/omid/tso/TestPanicker.java
+++ b/tso-server/src/test/java/org/apache/omid/tso/TestPanicker.java
@@ -77,12 +77,8 @@ public class TestPanicker {
Thread allocThread = new Thread("AllocThread") {
@Override
public void run() {
- try {
- while (true) {
- tso.next();
- }
- } catch (IOException ioe) {
- LOG.error("Shouldn't occur");
+ while (true) {
+ tso.next();
}
}
};
http://git-wip-us.apache.org/repos/asf/incubator-omid/blob/484d116a/tso-server/src/test/java/org/apache/omid/tso/TestTimestampOracle.java
----------------------------------------------------------------------
diff --git a/tso-server/src/test/java/org/apache/omid/tso/TestTimestampOracle.java b/tso-server/src/test/java/org/apache/omid/tso/TestTimestampOracle.java
index 501581b..c75e95b 100644
--- a/tso-server/src/test/java/org/apache/omid/tso/TestTimestampOracle.java
+++ b/tso-server/src/test/java/org/apache/omid/tso/TestTimestampOracle.java
@@ -97,12 +97,8 @@ public class TestTimestampOracle {
Thread allocThread = new Thread("AllocThread") {
@Override
public void run() {
- try {
- while (true) {
- timestampOracle.next();
- }
- } catch (IOException ioe) {
- LOG.error("Shouldn't occur");
+ while (true) {
+ timestampOracle.next();
}
}
};