You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ca...@apache.org on 2016/02/03 15:31:51 UTC

[3/6] cassandra git commit: Use Throwables.propagate on ExecutionException

Use Throwables.propagate on ExecutionException


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5f1e4bca
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5f1e4bca
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5f1e4bca

Branch: refs/heads/trunk
Commit: 5f1e4bcad7d36feb97096c6149ad3c43f26f0fd9
Parents: 21380fc
Author: Carl Yeksigian <ca...@apache.org>
Authored: Wed Feb 3 09:26:01 2016 -0500
Committer: Carl Yeksigian <ca...@apache.org>
Committed: Wed Feb 3 09:26:01 2016 -0500

----------------------------------------------------------------------
 src/java/org/apache/cassandra/db/Mutation.java        |  3 ++-
 .../cassandra/db/commitlog/CommitLogReplayer.java     | 14 ++++++++++++--
 .../apache/cassandra/service/paxos/PaxosState.java    |  3 ++-
 3 files changed, 16 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f1e4bca/src/java/org/apache/cassandra/db/Mutation.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/Mutation.java b/src/java/org/apache/cassandra/db/Mutation.java
index 1ba3740..9a26456 100644
--- a/src/java/org/apache/cassandra/db/Mutation.java
+++ b/src/java/org/apache/cassandra/db/Mutation.java
@@ -24,6 +24,7 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.atomic.AtomicLong;
 
+import com.google.common.base.Throwables;
 import com.google.common.util.concurrent.Uninterruptibles;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.cassandra.config.CFMetaData;
@@ -217,7 +218,7 @@ public class Mutation implements IMutation
         }
         catch (ExecutionException e)
         {
-            throw new RuntimeException(e.getCause());
+            Throwables.propagate(e.getCause());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f1e4bca/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
index b4472ed..33750f8 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
@@ -31,6 +31,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.zip.CRC32;
 
 import com.google.common.base.Predicate;
+import com.google.common.base.Throwables;
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Multimap;
@@ -568,7 +569,7 @@ public class CommitLogReplayer
 
         Runnable runnable = new WrappedRunnable()
         {
-            public void runMayThrow() throws ExecutionException
+            public void runMayThrow()
             {
                 if (Schema.instance.getKSMetaData(mutation.getKeyspaceName()) == null)
                     return;
@@ -603,7 +604,16 @@ public class CommitLogReplayer
                 if (newMutation != null)
                 {
                     assert !newMutation.isEmpty();
-                    Uninterruptibles.getUninterruptibly(Keyspace.open(newMutation.getKeyspaceName()).applyFromCommitLog(newMutation));
+
+                    try
+                    {
+                        Uninterruptibles.getUninterruptibly(Keyspace.open(newMutation.getKeyspaceName()).applyFromCommitLog(newMutation));
+                    }
+                    catch (ExecutionException e)
+                    {
+                        Throwables.propagate(e.getCause());
+                    }
+
                     keyspacesRecovered.add(keyspace);
                 }
             }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f1e4bca/src/java/org/apache/cassandra/service/paxos/PaxosState.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/paxos/PaxosState.java b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
index 3ecac99..d4fed51 100644
--- a/src/java/org/apache/cassandra/service/paxos/PaxosState.java
+++ b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
@@ -23,6 +23,7 @@ package org.apache.cassandra.service.paxos;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.locks.Lock;
 
+import com.google.common.base.Throwables;
 import com.google.common.util.concurrent.Striped;
 import com.google.common.util.concurrent.Uninterruptibles;
 
@@ -145,7 +146,7 @@ public class PaxosState
                 }
                 catch (ExecutionException e)
                 {
-                    throw new RuntimeException(e.getCause());
+                    Throwables.propagate(e.getCause());
                 }
             }
             else