static void sanityCheckReplicationFactor(KsDef ks, CassandraKeyValueServiceConfig config, Set<String> dcs) { checkRfsSpecified(config, dcs, ks.getStrategy_options()); checkRfsMatchConfig(ks, config, dcs, ks.getStrategy_options()); }
private static void checkKsDefRfEqualsOne(KsDef ks, CassandraKeyValueServiceConfig config) { int currentRf = Integer.parseInt(ks.getStrategy_options().get(CassandraConstants.REPLICATION_FACTOR_OPTION)); if (currentRf != 1) { logErrorOrThrow(SIMPLE_PARTITIONING_ERROR_MSG, config.ignoreNodeTopologyChecks()); } }
private void lowerConsistencyWhenSafe() { Set<String> dcs; Map<String, String> strategyOptions; try { dcs = clientPool.runWithRetry(client -> CassandraVerifier.sanityCheckDatacenters( client, config)); KsDef ksDef = clientPool.runWithRetry(client -> client.describe_keyspace(config.getKeyspaceOrThrow())); strategyOptions = Maps.newHashMap(ksDef.getStrategy_options()); if (dcs.size() == 1) { String dc = dcs.iterator().next(); if (strategyOptions.get(dc) != null) { int currentRf = Integer.parseInt(strategyOptions.get(dc)); if (currentRf == config.replicationFactor()) { if (currentRf == 2 && config.clusterMeetsNormalConsistencyGuarantees()) { log.info("Setting Read Consistency to ONE, as cluster has only one datacenter at RF2."); readConsistency = ConsistencyLevel.ONE; rangeLoader.setConsistencyLevel(readConsistency); } } } } } catch (TException e) { return; } }
@Override public Map<String, String> getStrategyOptions() { if (ks_def.getStrategy_options() == null) { ks_def.strategy_options = new HashMap<String, String>(); } return ks_def.getStrategy_options(); }
@Override public Map<String, String> getStrategyOptions() { if (ks_def.getStrategy_options() == null) { ks_def.strategy_options = new HashMap<String, String>(); } return ks_def.getStrategy_options(); }
static void sanityCheckReplicationFactor(KsDef ks, CassandraKeyValueServiceConfig config, Set<String> dcs) { checkRfsSpecified(config, dcs, ks.getStrategy_options()); checkRfsMatchConfig(ks, config, dcs, ks.getStrategy_options()); }
private static void checkKsDefRfEqualsOne(KsDef ks, CassandraKeyValueServiceConfig config) { int currentRf = Integer.parseInt(ks.getStrategy_options().get(CassandraConstants.REPLICATION_FACTOR_OPTION)); if (currentRf != 1) { logErrorOrThrow(SIMPLE_PARTITIONING_ERROR_MSG, config.ignoreNodeTopologyChecks()); } }
public Object getFieldValue(_Fields field) { switch (field) { case NAME: return getName(); case STRATEGY_CLASS: return getStrategy_class(); case STRATEGY_OPTIONS: return getStrategy_options(); case REPLICATION_FACTOR: return Integer.valueOf(getReplication_factor()); case CF_DEFS: return getCf_defs(); case DURABLE_WRITES: return Boolean.valueOf(isDurable_writes()); } throw new IllegalStateException(); }
public Object getFieldValue(_Fields field) { switch (field) { case NAME: return getName(); case STRATEGY_CLASS: return getStrategy_class(); case STRATEGY_OPTIONS: return getStrategy_options(); case REPLICATION_FACTOR: return Integer.valueOf(getReplication_factor()); case CF_DEFS: return getCf_defs(); case DURABLE_WRITES: return Boolean.valueOf(isDurable_writes()); } throw new IllegalStateException(); }
public Object getFieldValue(_Fields field) { switch (field) { case NAME: return getName(); case STRATEGY_CLASS: return getStrategy_class(); case STRATEGY_OPTIONS: return getStrategy_options(); case REPLICATION_FACTOR: return Integer.valueOf(getReplication_factor()); case CF_DEFS: return getCf_defs(); case DURABLE_WRITES: return Boolean.valueOf(isDurable_writes()); } throw new IllegalStateException(); }
private void lowerConsistencyWhenSafe() { Set<String> dcs; Map<String, String> strategyOptions; try { dcs = clientPool.runWithRetry(client -> CassandraVerifier.sanityCheckDatacenters( client, config)); KsDef ksDef = clientPool.runWithRetry(client -> client.describe_keyspace(config.getKeyspaceOrThrow())); strategyOptions = Maps.newHashMap(ksDef.getStrategy_options()); if (dcs.size() == 1) { String dc = dcs.iterator().next(); if (strategyOptions.get(dc) != null) { int currentRf = Integer.parseInt(strategyOptions.get(dc)); if (currentRf == config.replicationFactor()) { if (currentRf == 2 && config.clusterMeetsNormalConsistencyGuarantees()) { log.info("Setting Read Consistency to ONE, as cluster has only one datacenter at RF2."); readConsistency = ConsistencyLevel.ONE; rangeLoader.setConsistencyLevel(readConsistency); } } } } } catch (TException e) { return; } }
if (!ksDef.getStrategy_options().containsKey(dataCenter)) { Map<String, String> strategyOptions = Maps.newLinkedHashMap(ksDef.getStrategy_options()); strategyOptions.put(dataCenter, Integer.toString(replicationFactor)); ksDef.setStrategy_options(strategyOptions);
Map<String, String> currentStrategyOptions = ksDef.getStrategy_options();