Browse Source

metadata: remove class from keyspace strategy options. (#1051)

Chris Bannister 7 years ago
parent
commit
d93886f926
2 changed files with 6 additions and 1 deletions
  1. 2 1
      metadata.go
  2. 4 0
      topology.go

+ 2 - 1
metadata.go

@@ -426,8 +426,9 @@ func getKeyspaceMetadata(session *Session, keyspaceName string) (*KeyspaceMetada
 		}
 		}
 
 
 		keyspace.StrategyClass = replication["class"]
 		keyspace.StrategyClass = replication["class"]
+		delete(replication, "class")
 
 
-		keyspace.StrategyOptions = make(map[string]interface{})
+		keyspace.StrategyOptions = make(map[string]interface{}, len(replication))
 		for k, v := range replication {
 		for k, v := range replication {
 			keyspace.StrategyOptions[k] = v
 			keyspace.StrategyOptions[k] = v
 		}
 		}

+ 4 - 0
topology.go

@@ -40,6 +40,10 @@ func getStrategy(ks *KeyspaceMetadata) placementStrategy {
 	case strings.Contains(ks.StrategyClass, "NetworkTopologyStrategy"):
 	case strings.Contains(ks.StrategyClass, "NetworkTopologyStrategy"):
 		dcs := make(map[string]int)
 		dcs := make(map[string]int)
 		for dc, rf := range ks.StrategyOptions {
 		for dc, rf := range ks.StrategyOptions {
+			if dc == "class" {
+				continue
+			}
+
 			dcs[dc] = getReplicationFactorFromOpts(ks.Name+":dc="+dc, rf)
 			dcs[dc] = getReplicationFactorFromOpts(ks.Name+":dc="+dc, rf)
 		}
 		}
 		return &networkTopology{dcs: dcs}
 		return &networkTopology{dcs: dcs}