浏览代码

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

Chris Bannister 7 年之前
父节点
当前提交
d93886f926
共有 2 个文件被更改,包括 6 次插入1 次删除
  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"]
+		delete(replication, "class")
 
-		keyspace.StrategyOptions = make(map[string]interface{})
+		keyspace.StrategyOptions = make(map[string]interface{}, len(replication))
 		for k, v := range replication {
 			keyspace.StrategyOptions[k] = v
 		}

+ 4 - 0
topology.go

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