cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j...@apache.org
Subject [1/2] cassandra git commit: fix
Date Fri, 04 Sep 2015 13:42:47 GMT
Repository: cassandra
Updated Branches:
  refs/heads/trunk ae9914bb5 -> 737b3d0ce


fix


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

Branch: refs/heads/trunk
Commit: c7557bdecda6ffe76bb5ee62be4c2d6c53804681
Parents: a22db5b
Author: T Jake Luciani <jake@apache.org>
Authored: Thu Sep 3 14:53:00 2015 -0400
Committer: T Jake Luciani <jake@apache.org>
Committed: Fri Sep 4 09:10:49 2015 -0400

----------------------------------------------------------------------
 .../cassandra/db/view/MaterializedViewUtils.java      | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c7557bde/src/java/org/apache/cassandra/db/view/MaterializedViewUtils.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/view/MaterializedViewUtils.java b/src/java/org/apache/cassandra/db/view/MaterializedViewUtils.java
index 4dfea75..ea81750 100644
--- a/src/java/org/apache/cassandra/db/view/MaterializedViewUtils.java
+++ b/src/java/org/apache/cassandra/db/view/MaterializedViewUtils.java
@@ -26,6 +26,7 @@ import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.db.Keyspace;
 import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.locator.AbstractReplicationStrategy;
+import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.FBUtilities;
 
 public final class MaterializedViewUtils
@@ -87,8 +88,21 @@ public final class MaterializedViewUtils
         // number of replicas for all of the tokens in the ring.
         assert localBaseEndpoints.size() == localViewEndpoints.size() : "Replication strategy
should have the same number of endpoints for the base and the view";
         int baseIdx = localBaseEndpoints.indexOf(FBUtilities.getBroadcastAddress());
+
         if (baseIdx < 0)
+        {
+
+            if (StorageService.instance.getTokenMetadata().pendingEndpointsFor(viewToken,
keyspaceName).size() > 0)
+            {
+                //Since there are pending endpoints we are going to store hints this in the
batchlog regardless.
+                //So we can pretend we are the views endpoint.
+
+                return FBUtilities.getBroadcastAddress();
+            }
+
             throw new RuntimeException("Trying to get the view natural endpoint on a non-data
replica");
+        }
+
 
         return localViewEndpoints.get(baseIdx);
     }


Mime
View raw message