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();
                 }
             }
         };