@VisibleForTesting static IPartitioner newPartitioner(String partitionerClassName, Optional<AbstractType<?>> comparator) throws ConfigurationException { if (!partitionerClassName.contains(".")) partitionerClassName = "org.apache.cassandra.dht." + partitionerClassName; if (partitionerClassName.equals("org.apache.cassandra.dht.LocalPartitioner")) { assert comparator.isPresent() : "Expected a comparator for local partitioner"; return new LocalPartitioner(comparator.get()); } return FBUtilities.instanceOrConstruct(partitionerClassName, "partitioner"); }
@VisibleForTesting static IPartitioner newPartitioner(String partitionerClassName, Optional<AbstractType<?>> comparator) throws ConfigurationException { if (!partitionerClassName.contains(".")) partitionerClassName = "org.apache.cassandra.dht." + partitionerClassName; if (partitionerClassName.equals("org.apache.cassandra.dht.LocalPartitioner")) { assert comparator.isPresent() : "Expected a comparator for local partitioner"; return new LocalPartitioner(comparator.get()); } return FBUtilities.instanceOrConstruct(partitionerClassName, "partitioner"); }
@VisibleForTesting static IPartitioner newPartitioner(String partitionerClassName, Optional<AbstractType<?>> comparator) throws ConfigurationException { if (!partitionerClassName.contains(".")) partitionerClassName = "org.apache.cassandra.dht." + partitionerClassName; if (partitionerClassName.equals("org.apache.cassandra.dht.LocalPartitioner")) { assert comparator.isPresent() : "Expected a comparator for local partitioner"; return new LocalPartitioner(comparator.get()); } return FBUtilities.instanceOrConstruct(partitionerClassName, "partitioner"); }
@VisibleForTesting static IPartitioner newPartitioner(String partitionerClassName, Optional<AbstractType<?>> comparator) throws ConfigurationException { if (!partitionerClassName.contains(".")) partitionerClassName = "org.apache.cassandra.dht." + partitionerClassName; if (partitionerClassName.equals("org.apache.cassandra.dht.LocalPartitioner")) { assert comparator.isPresent() : "Expected a comparator for local partitioner"; return new LocalPartitioner(comparator.get()); } return FBUtilities.instanceOrConstruct(partitionerClassName, "partitioner"); }
/** * @return An appropriate {@link LoggingSupport} implementation according to the used slf4j binding. */ public static LoggingSupport getLoggingSupport() { if (loggingSupport == null) { // unfortunately, this is the best way to determine if logback is being used for logger String loggerFactoryClass = LoggerFactory.getILoggerFactory().getClass().getName(); if (loggerFactoryClass.contains("logback")) { loggingSupport = FBUtilities.instanceOrConstruct("org.apache.cassandra.utils.logging.LogbackLoggingSupport", "LogbackLoggingSupport"); } else { loggingSupport = new NoOpFallbackLoggingSupport(); logger.warn("You are using Cassandra with an unsupported deployment. The intended logging implementation library logback is not used by slf4j. Detected slf4j logger factory: {}. " + "You will not be able to dynamically manage log levels via JMX and may have performance or other issues.", loggerFactoryClass); } } return loggingSupport; } }
/** * @return An appropriate {@link LoggingSupport} implementation according to the used slf4j binding. */ public static LoggingSupport getLoggingSupport() { if (loggingSupport == null) { // unfortunately, this is the best way to determine if logback is being used for logger String loggerFactoryClass = LoggerFactory.getILoggerFactory().getClass().getName(); if (loggerFactoryClass.contains("logback")) { loggingSupport = FBUtilities.instanceOrConstruct("org.apache.cassandra.utils.logging.LogbackLoggingSupport", "LogbackLoggingSupport"); } else { loggingSupport = new NoOpFallbackLoggingSupport(); logger.warn("You are using Cassandra with an unsupported deployment. The intended logging implementation library logback is not used by slf4j. Detected slf4j logger factory: {}. " + "You will not be able to dynamically manage log levels via JMX and may have performance or other issues.", loggerFactoryClass); } } return loggingSupport; } }
public PartitionFunction partitionFunctionClass() { String partFuncClass = getSettings().get(IndexMetaData.SETTING_PARTITION_FUNCTION_CLASS, MessageFormatPartitionFunction.class.getName()); return FBUtilities.instanceOrConstruct(partFuncClass, "PartitionFunction class used to generate index name from document fields"); }