http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/service/StorageProxy.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java index 9cfbd68..a0f39af 100644 --- a/src/java/org/apache/cassandra/service/StorageProxy.java +++ b/src/java/org/apache/cassandra/service/StorageProxy.java @@ -45,6 +45,7 @@ import org.apache.cassandra.concurrent.StageManager; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.Schema; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.db.*; import org.apache.cassandra.db.filter.DataLimits; import org.apache.cassandra.db.filter.TombstoneOverwhelmingException; @@ -964,7 +965,7 @@ public class StorageProxy implements StorageProxyMBean WriteResponseHandler<?> handler = new WriteResponseHandler<>(endpoints.all, Collections.<InetAddress>emptyList(), endpoints.all.size() == 1 ? ConsistencyLevel.ONE : ConsistencyLevel.TWO, - Keyspace.open(SystemKeyspace.NAME), + Keyspace.open(SchemaConstants.SYSTEM_KEYSPACE_NAME), null, WriteType.BATCH_LOG, queryStartNanoTime); @@ -1519,7 +1520,7 @@ public class StorageProxy implements StorageProxyMBean private static boolean systemKeyspaceQuery(List<? extends ReadCommand> cmds) { for (ReadCommand cmd : cmds) - if (!Schema.isSystemKeyspace(cmd.metadata().ksName)) + if (!SchemaConstants.isSystemKeyspace(cmd.metadata().ksName)) return false; return true; } @@ -1841,7 +1842,7 @@ public class StorageProxy implements StorageProxyMBean { try { - command.setMonitoringTime(new ConstructionTime(constructionTime), timeout, DatabaseDescriptor.getSlowQueryTimeout()); + command.setMonitoringTime(new ConstructionTime(constructionTime), verb.getTimeout(), DatabaseDescriptor.getSlowQueryTimeout()); ReadResponse response; try (ReadExecutionController executionController = command.executionController(); @@ -2522,19 +2523,17 @@ public class StorageProxy implements StorageProxyMBean { final long constructionTime; final MessagingService.Verb verb; - final long timeout; public DroppableRunnable(MessagingService.Verb verb) { this.constructionTime = System.currentTimeMillis(); this.verb = verb; - this.timeout = DatabaseDescriptor.getTimeout(verb); } public final void run() { long timeTaken = System.currentTimeMillis() - constructionTime; - if (timeTaken > timeout) + if (timeTaken > verb.getTimeout()) { MessagingService.instance().incrementDroppedMessages(verb, timeTaken); return; @@ -2575,7 +2574,7 @@ public class StorageProxy implements StorageProxyMBean public final void run() { final MessagingService.Verb verb = verb(); - long mutationTimeout = DatabaseDescriptor.getTimeout(verb); + long mutationTimeout = verb.getTimeout(); long timeTaken = System.currentTimeMillis() - constructionTime; if (timeTaken > mutationTimeout) {
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/service/StorageService.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java index 116989c..cbf8b05 100644 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@ -57,6 +57,7 @@ import org.apache.cassandra.concurrent.StageManager; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.Schema; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.db.*; import org.apache.cassandra.db.commitlog.CommitLog; import org.apache.cassandra.db.compaction.CompactionManager; @@ -634,7 +635,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE }, "StorageServiceShutdownHook"); Runtime.getRuntime().addShutdownHook(drainOnShutdown); - replacing = DatabaseDescriptor.isReplacing(); + replacing = isReplacing(); if (!Boolean.parseBoolean(System.getProperty("cassandra.start_gossip", "true"))) { @@ -704,6 +705,16 @@ public class StorageService extends NotificationBroadcasterSupport implements IE } } + private boolean isReplacing() + { + if (System.getProperty("cassandra.replace_address_first_boot", null) != null && SystemKeyspace.bootstrapComplete()) + { + logger.info("Replace address on first boot requested; this node is already bootstrapped"); + return false; + } + return DatabaseDescriptor.getReplaceAddress() != null; + } + /** * In the event of forceful termination we need to remove the shutdown hook to prevent hanging (OOM for instance) */ @@ -846,7 +857,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE for (int i = 0; i < delay; i += 1000) { // if we see schema, we can proceed to the next check directly - if (!Schema.instance.getVersion().equals(Schema.emptyVersion)) + if (!Schema.instance.getVersion().equals(SchemaConstants.emptyVersion)) { logger.debug("got schema: {}", Schema.instance.getVersion()); break; @@ -2722,7 +2733,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE public int forceKeyspaceCleanup(int jobs, String keyspaceName, String... tables) throws IOException, ExecutionException, InterruptedException { - if (Schema.isSystemKeyspace(keyspaceName)) + if (SchemaConstants.isSystemKeyspace(keyspaceName)) throw new RuntimeException("Cleanup of the system keyspace is neither necessary nor wise"); CompactionManager.AllSSTableOpStatus status = CompactionManager.AllSSTableOpStatus.SUCCESSFUL; @@ -3045,7 +3056,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE Map<String, TabularData> snapshotMap = new HashMap<>(); for (Keyspace keyspace : Keyspace.all()) { - if (Schema.isSystemKeyspace(keyspace.getName())) + if (SchemaConstants.isSystemKeyspace(keyspace.getName())) continue; for (ColumnFamilyStore cfStore : keyspace.getColumnFamilyStores()) @@ -3071,7 +3082,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE long total = 0; for (Keyspace keyspace : Keyspace.all()) { - if (Schema.isSystemKeyspace(keyspace.getName())) + if (SchemaConstants.isSystemKeyspace(keyspace.getName())) continue; for (ColumnFamilyStore cfStore : keyspace.getColumnFamilyStores()) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/streaming/messages/FileMessageHeader.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/streaming/messages/FileMessageHeader.java b/src/java/org/apache/cassandra/streaming/messages/FileMessageHeader.java index 32d814b..232727d 100644 --- a/src/java/org/apache/cassandra/streaming/messages/FileMessageHeader.java +++ b/src/java/org/apache/cassandra/streaming/messages/FileMessageHeader.java @@ -22,7 +22,6 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; -import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.SerializationHeader; import org.apache.cassandra.db.TypeSizes; import org.apache.cassandra.io.compress.CompressionMetadata; @@ -222,7 +221,7 @@ public class FileMessageHeader { UUID cfId = UUIDSerializer.serializer.deserialize(in, MessagingService.current_version); int sequenceNumber = in.readInt(); - Version sstableVersion = DatabaseDescriptor.getSSTableFormat().info.getVersion(in.readUTF()); + Version sstableVersion = SSTableFormat.Type.current().info.getVersion(in.readUTF()); SSTableFormat.Type format = SSTableFormat.Type.LEGACY; if (version >= StreamMessage.VERSION_22) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/thrift/TServerCustomFactory.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/thrift/TServerCustomFactory.java b/src/java/org/apache/cassandra/thrift/TServerCustomFactory.java index 3c5b967..e98e6f2 100644 --- a/src/java/org/apache/cassandra/thrift/TServerCustomFactory.java +++ b/src/java/org/apache/cassandra/thrift/TServerCustomFactory.java @@ -41,16 +41,16 @@ public class TServerCustomFactory implements TServerFactory public TServer buildTServer(TServerFactory.Args args) { TServer server; - if (ThriftServer.SYNC.equalsIgnoreCase(serverType)) + if (ThriftServer.ThriftServerType.SYNC.equalsIgnoreCase(serverType)) { server = new CustomTThreadPoolServer.Factory().buildTServer(args); } - else if(ThriftServer.ASYNC.equalsIgnoreCase(serverType)) + else if(ThriftServer.ThriftServerType.ASYNC.equalsIgnoreCase(serverType)) { server = new CustomTNonBlockingServer.Factory().buildTServer(args); logger.info(String.format("Using non-blocking/asynchronous thrift server on %s : %s", args.addr.getHostName(), args.addr.getPort())); } - else if(ThriftServer.HSHA.equalsIgnoreCase(serverType)) + else if(ThriftServer.ThriftServerType.HSHA.equalsIgnoreCase(serverType)) { server = new THsHaDisruptorServer.Factory().buildTServer(args); logger.info(String.format("Using custom half-sync/half-async thrift server on %s : %s", args.addr.getHostName(), args.addr.getPort())); http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/thrift/ThriftServer.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/thrift/ThriftServer.java b/src/java/org/apache/cassandra/thrift/ThriftServer.java index 44ec524..21ee475 100644 --- a/src/java/org/apache/cassandra/thrift/ThriftServer.java +++ b/src/java/org/apache/cassandra/thrift/ThriftServer.java @@ -33,10 +33,7 @@ import org.apache.thrift.transport.TTransportFactory; public class ThriftServer implements CassandraDaemon.Server { - private static Logger logger = LoggerFactory.getLogger(ThriftServer.class); - public final static String SYNC = "sync"; - public final static String ASYNC = "async"; - public final static String HSHA = "hsha"; + private static final Logger logger = LoggerFactory.getLogger(ThriftServer.class); protected final InetAddress address; protected final int port; @@ -143,4 +140,11 @@ public class ThriftServer implements CassandraDaemon.Server serverEngine.stop(); } } + + public static final class ThriftServerType + { + public final static String SYNC = "sync"; + public final static String ASYNC = "async"; + public final static String HSHA = "hsha"; + } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/thrift/ThriftValidation.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/thrift/ThriftValidation.java b/src/java/org/apache/cassandra/thrift/ThriftValidation.java index be3e489..56c4865 100644 --- a/src/java/org/apache/cassandra/thrift/ThriftValidation.java +++ b/src/java/org/apache/cassandra/thrift/ThriftValidation.java @@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ColumnDefinition; import org.apache.cassandra.config.Schema; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.cql3.Attributes; import org.apache.cassandra.cql3.Operator; import org.apache.cassandra.db.*; @@ -636,7 +637,7 @@ public class ThriftValidation public static void validateKeyspaceNotSystem(String modifiedKeyspace) throws org.apache.cassandra.exceptions.InvalidRequestException { - if (Schema.isSystemKeyspace(modifiedKeyspace)) + if (SchemaConstants.isSystemKeyspace(modifiedKeyspace)) throw new org.apache.cassandra.exceptions.InvalidRequestException(String.format("%s keyspace is not user-modifiable", modifiedKeyspace)); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/tools/BulkLoader.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/BulkLoader.java b/src/java/org/apache/cassandra/tools/BulkLoader.java index c094d0a..7d10cdc 100644 --- a/src/java/org/apache/cassandra/tools/BulkLoader.java +++ b/src/java/org/apache/cassandra/tools/BulkLoader.java @@ -30,7 +30,6 @@ import com.google.common.collect.Multimap; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; -import org.apache.cassandra.config.Config; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.EncryptionOptions; import org.apache.cassandra.io.sstable.SSTableLoader; @@ -51,7 +50,7 @@ public class BulkLoader public static void load(LoaderOptions options) throws BulkLoadException { - Config.setClientMode(true); + DatabaseDescriptor.toolInitialization(); OutputHandler handler = new OutputHandler.SystemOutput(options.verbose, options.debug); SSTableLoader loader = new SSTableLoader( options.directory, http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/tools/NodeProbe.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/NodeProbe.java b/src/java/org/apache/cassandra/tools/NodeProbe.java index bd0d8db..89e7bda 100644 --- a/src/java/org/apache/cassandra/tools/NodeProbe.java +++ b/src/java/org/apache/cassandra/tools/NodeProbe.java @@ -267,8 +267,10 @@ public class NodeProbe implements AutoCloseable private void checkJobs(PrintStream out, int jobs) { + // TODO this should get the configured number of concurrent_compactors via JMX and not using DatabaseDescriptor + DatabaseDescriptor.toolInitialization(); if (jobs > DatabaseDescriptor.getConcurrentCompactors()) - out.println(String.format("jobs (%d) is bigger than configured concurrent_compactors (%d), using at most %d threads", jobs, DatabaseDescriptor.getConcurrentCompactors(), DatabaseDescriptor.getConcurrentCompactors())); + out.println(String.format("jobs (%d) is bigger than configured concurrent_compactors (%d) on this host, using at most %d threads", jobs, DatabaseDescriptor.getConcurrentCompactors(), DatabaseDescriptor.getConcurrentCompactors())); } public void forceKeyspaceCleanup(PrintStream out, int jobs, String keyspaceName, String... tableNames) throws IOException, ExecutionException, InterruptedException http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/tools/SSTableExport.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/SSTableExport.java b/src/java/org/apache/cassandra/tools/SSTableExport.java index f05898f..13c9528 100644 --- a/src/java/org/apache/cassandra/tools/SSTableExport.java +++ b/src/java/org/apache/cassandra/tools/SSTableExport.java @@ -28,7 +28,7 @@ import java.util.stream.StreamSupport; import org.apache.commons.cli.*; import org.apache.cassandra.config.CFMetaData; -import org.apache.cassandra.config.Config; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.cql3.ColumnIdentifier; import org.apache.cassandra.db.DecoratedKey; import org.apache.cassandra.db.PartitionPosition; @@ -62,7 +62,7 @@ public class SSTableExport static { - Config.setClientMode(true); + DatabaseDescriptor.toolInitialization(); Option optKey = new Option(KEY_OPTION, true, "Partition key"); // Number of times -k <key> can be passed on the command line. http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/tools/SSTableRepairedAtSetter.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/SSTableRepairedAtSetter.java b/src/java/org/apache/cassandra/tools/SSTableRepairedAtSetter.java index 3608808..413ec4d 100644 --- a/src/java/org/apache/cassandra/tools/SSTableRepairedAtSetter.java +++ b/src/java/org/apache/cassandra/tools/SSTableRepairedAtSetter.java @@ -26,6 +26,7 @@ import java.util.Arrays; import java.util.List; import org.apache.cassandra.config.Config; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.io.sstable.Component; import org.apache.cassandra.io.sstable.Descriptor; import org.apache.cassandra.service.ActiveRepairService; @@ -48,9 +49,6 @@ public class SSTableRepairedAtSetter */ public static void main(final String[] args) throws IOException { - // Necessary since BufferPool used in RandomAccessReader needs to access DatabaseDescriptor - Config.setClientMode(true); - PrintStream out = System.out; if (args.length == 0) { http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/tools/StandaloneSSTableUtil.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/StandaloneSSTableUtil.java b/src/java/org/apache/cassandra/tools/StandaloneSSTableUtil.java index 7aa07d0..2e8ee0b 100644 --- a/src/java/org/apache/cassandra/tools/StandaloneSSTableUtil.java +++ b/src/java/org/apache/cassandra/tools/StandaloneSSTableUtil.java @@ -19,6 +19,7 @@ package org.apache.cassandra.tools; import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.Schema; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.Directories; @@ -48,6 +49,7 @@ public class StandaloneSSTableUtil try { // load keyspace descriptions. + Util.initDatabaseDescriptor(); Schema.instance.loadFromDisk(false); CFMetaData metadata = Schema.instance.getCFMetaData(options.keyspaceName, options.cfName); http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/tools/StandaloneScrubber.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/StandaloneScrubber.java b/src/java/org/apache/cassandra/tools/StandaloneScrubber.java index 42772ef..f544089 100644 --- a/src/java/org/apache/cassandra/tools/StandaloneScrubber.java +++ b/src/java/org/apache/cassandra/tools/StandaloneScrubber.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/tools/StandaloneSplitter.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/StandaloneSplitter.java b/src/java/org/apache/cassandra/tools/StandaloneSplitter.java index 57504c3..1e57ff4 100644 --- a/src/java/org/apache/cassandra/tools/StandaloneSplitter.java +++ b/src/java/org/apache/cassandra/tools/StandaloneSplitter.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/tools/StandaloneUpgrader.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/StandaloneUpgrader.java b/src/java/org/apache/cassandra/tools/StandaloneUpgrader.java index ef80d34..e49f0ca 100644 --- a/src/java/org/apache/cassandra/tools/StandaloneUpgrader.java +++ b/src/java/org/apache/cassandra/tools/StandaloneUpgrader.java @@ -20,6 +20,7 @@ package org.apache.cassandra.tools; import java.util.*; import java.util.concurrent.TimeUnit; +import org.apache.cassandra.io.sstable.format.SSTableFormat; import org.apache.cassandra.io.sstable.format.SSTableReader; import org.apache.commons.cli.*; @@ -82,7 +83,7 @@ public class StandaloneUpgrader try { SSTableReader sstable = SSTableReader.openNoValidation(entry.getKey(), components, cfs); - if (sstable.descriptor.version.equals(DatabaseDescriptor.getSSTableFormat().info.getLatestVersion())) + if (sstable.descriptor.version.equals(SSTableFormat.Type.current().info.getLatestVersion())) continue; readers.add(sstable); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/tools/StandaloneVerifier.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/StandaloneVerifier.java b/src/java/org/apache/cassandra/tools/StandaloneVerifier.java index d358882..ee55dd5 100644 --- a/src/java/org/apache/cassandra/tools/StandaloneVerifier.java +++ b/src/java/org/apache/cassandra/tools/StandaloneVerifier.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/tools/Util.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/Util.java b/src/java/org/apache/cassandra/tools/Util.java index 6e23361..76011a9 100644 --- a/src/java/org/apache/cassandra/tools/Util.java +++ b/src/java/org/apache/cassandra/tools/Util.java @@ -35,22 +35,21 @@ public final class Util { try { - DatabaseDescriptor.forceStaticInitialization(); + DatabaseDescriptor.toolInitialization(); } - catch (ExceptionInInitializerError e) + catch (Throwable e) { - Throwable cause = e.getCause(); - boolean logStackTrace = !(cause instanceof ConfigurationException) || ((ConfigurationException) cause).logStackTrace; - System.out.println("Exception (" + cause.getClass().getName() + ") encountered during startup: " + cause.getMessage()); + boolean logStackTrace = !(e instanceof ConfigurationException) || ((ConfigurationException) e).logStackTrace; + System.out.println("Exception (" + e.getClass().getName() + ") encountered during startup: " + e.getMessage()); if (logStackTrace) { - cause.printStackTrace(); + e.printStackTrace(); System.exit(3); } else { - System.err.println(cause.getMessage()); + System.err.println(e.getMessage()); System.exit(3); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/tools/nodetool/Cleanup.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/nodetool/Cleanup.java b/src/java/org/apache/cassandra/tools/nodetool/Cleanup.java index 41e9b01..c964b2f 100644 --- a/src/java/org/apache/cassandra/tools/nodetool/Cleanup.java +++ b/src/java/org/apache/cassandra/tools/nodetool/Cleanup.java @@ -23,8 +23,8 @@ import io.airlift.command.Command; import java.util.ArrayList; import java.util.List; -import org.apache.cassandra.config.Schema; import io.airlift.command.Option; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.tools.NodeProbe; import org.apache.cassandra.tools.NodeTool.NodeToolCmd; @@ -47,7 +47,7 @@ public class Cleanup extends NodeToolCmd for (String keyspace : keyspaces) { - if (Schema.isSystemKeyspace(keyspace)) + if (SchemaConstants.isSystemKeyspace(keyspace)) continue; try @@ -60,4 +60,4 @@ public class Cleanup extends NodeToolCmd } } } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/tools/nodetool/Repair.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/nodetool/Repair.java b/src/java/org/apache/cassandra/tools/nodetool/Repair.java index 5383fa5..350601a 100644 --- a/src/java/org/apache/cassandra/tools/nodetool/Repair.java +++ b/src/java/org/apache/cassandra/tools/nodetool/Repair.java @@ -31,8 +31,8 @@ import java.util.Set; import com.google.common.collect.Sets; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.repair.RepairParallelism; -import org.apache.cassandra.repair.SystemDistributedKeyspace; import org.apache.cassandra.repair.messages.RepairOption; import org.apache.cassandra.tools.NodeProbe; import org.apache.cassandra.tools.NodeTool.NodeToolCmd; @@ -41,7 +41,7 @@ import org.apache.commons.lang3.StringUtils; @Command(name = "repair", description = "Repair one or more tables") public class Repair extends NodeToolCmd { - public final static Set<String> ONLY_EXPLICITLY_REPAIRED = Sets.newHashSet(SystemDistributedKeyspace.NAME); + public final static Set<String> ONLY_EXPLICITLY_REPAIRED = Sets.newHashSet(SchemaConstants.DISTRIBUTED_KEYSPACE_NAME); @Arguments(usage = "[<keyspace> <tables>...]", description = "The keyspace followed by one or many tables") private List<String> args = new ArrayList<>(); @@ -134,4 +134,4 @@ public class Repair extends NodeToolCmd } } } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/tracing/TraceKeyspace.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tracing/TraceKeyspace.java b/src/java/org/apache/cassandra/tracing/TraceKeyspace.java index 5c400a9..ac8b4f7 100644 --- a/src/java/org/apache/cassandra/tracing/TraceKeyspace.java +++ b/src/java/org/apache/cassandra/tracing/TraceKeyspace.java @@ -22,6 +22,7 @@ import java.nio.ByteBuffer; import java.util.*; import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.db.Mutation; import org.apache.cassandra.db.rows.Row; import org.apache.cassandra.db.partitions.PartitionUpdate; @@ -37,8 +38,6 @@ public final class TraceKeyspace { } - public static final String NAME = "system_traces"; - public static final String SESSIONS = "sessions"; public static final String EVENTS = "events"; @@ -70,13 +69,13 @@ public final class TraceKeyspace private static CFMetaData compile(String name, String description, String schema) { - return CFMetaData.compile(String.format(schema, name), NAME) + return CFMetaData.compile(String.format(schema, name), SchemaConstants.TRACE_KEYSPACE_NAME) .comment(description); } public static KeyspaceMetadata metadata() { - return KeyspaceMetadata.create(NAME, KeyspaceParams.simple(2), Tables.of(Sessions, Events)); + return KeyspaceMetadata.create(SchemaConstants.TRACE_KEYSPACE_NAME, KeyspaceParams.simple(2), Tables.of(Sessions, Events)); } static Mutation makeStartSessionMutation(ByteBuffer sessionId, http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/transport/Client.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/transport/Client.java b/src/java/org/apache/cassandra/transport/Client.java index 92466d2..84f3a43 100644 --- a/src/java/org/apache/cassandra/transport/Client.java +++ b/src/java/org/apache/cassandra/transport/Client.java @@ -27,7 +27,7 @@ import java.util.*; import com.google.common.base.Splitter; import org.apache.cassandra.auth.PasswordAuthenticator; -import org.apache.cassandra.config.Config; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.cql3.QueryOptions; import org.apache.cassandra.db.ConsistencyLevel; import org.apache.cassandra.db.marshal.Int32Type; @@ -238,7 +238,7 @@ public class Client extends SimpleClient public static void main(String[] args) throws Exception { - Config.setClientMode(true); + DatabaseDescriptor.clientInitialization(); // Print usage if no argument is specified. if (args.length < 2 || args.length > 3) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/utils/FBUtilities.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/utils/FBUtilities.java b/src/java/org/apache/cassandra/utils/FBUtilities.java index 28334df..16c17c3 100644 --- a/src/java/org/apache/cassandra/utils/FBUtilities.java +++ b/src/java/org/apache/cassandra/utils/FBUtilities.java @@ -55,7 +55,6 @@ import org.apache.cassandra.io.sstable.Descriptor; import org.apache.cassandra.io.sstable.metadata.MetadataComponent; import org.apache.cassandra.io.sstable.metadata.MetadataType; import org.apache.cassandra.io.sstable.metadata.ValidationMetadata; -import org.apache.cassandra.schema.CompressionParams; import org.apache.cassandra.io.util.DataOutputBuffer; import org.apache.cassandra.io.util.DataOutputBufferFixed; import org.apache.cassandra.io.util.FileUtils; @@ -735,20 +734,6 @@ public class FBUtilities buffer.position(position); } - private static final ThreadLocal<byte[]> threadLocalScratchBuffer = new ThreadLocal<byte[]>() - { - @Override - protected byte[] initialValue() - { - return new byte[CompressionParams.DEFAULT_CHUNK_LENGTH]; - } - }; - - public static byte[] getThreadLocalScratchBuffer() - { - return threadLocalScratchBuffer.get(); - } - public static long abs(long index) { long negbit = index >> 63; http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java b/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java index 5bcbcf7..6c5b692 100644 --- a/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java +++ b/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java @@ -25,6 +25,7 @@ import com.datastax.driver.core.*; import org.apache.cassandra.config.ColumnDefinition; import org.apache.cassandra.config.ColumnDefinition.ClusteringOrder; import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.cql3.ColumnIdentifier; import org.apache.cassandra.db.marshal.*; import org.apache.cassandra.dht.*; @@ -107,7 +108,7 @@ public class NativeSSTableLoaderClient extends SSTableLoader.Client private static Types fetchTypes(String keyspace, Session session) { - String query = String.format("SELECT * FROM %s.%s WHERE keyspace_name = ?", SchemaKeyspace.NAME, SchemaKeyspace.TYPES); + String query = String.format("SELECT * FROM %s.%s WHERE keyspace_name = ?", SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TYPES); Types.RawBuilder types = Types.rawBuilder(keyspace); for (Row row : session.execute(query, keyspace)) @@ -132,7 +133,7 @@ public class NativeSSTableLoaderClient extends SSTableLoader.Client private static Map<String, CFMetaData> fetchTables(String keyspace, Session session, IPartitioner partitioner, Types types) { Map<String, CFMetaData> tables = new HashMap<>(); - String query = String.format("SELECT * FROM %s.%s WHERE keyspace_name = ?", SchemaKeyspace.NAME, SchemaKeyspace.TABLES); + String query = String.format("SELECT * FROM %s.%s WHERE keyspace_name = ?", SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES); for (Row row : session.execute(query, keyspace)) { @@ -149,7 +150,7 @@ public class NativeSSTableLoaderClient extends SSTableLoader.Client private static Map<String, CFMetaData> fetchViews(String keyspace, Session session, IPartitioner partitioner, Types types) { Map<String, CFMetaData> tables = new HashMap<>(); - String query = String.format("SELECT * FROM %s.%s WHERE keyspace_name = ?", SchemaKeyspace.NAME, SchemaKeyspace.VIEWS); + String query = String.format("SELECT * FROM %s.%s WHERE keyspace_name = ?", SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.VIEWS); for (Row row : session.execute(query, keyspace)) { @@ -177,7 +178,7 @@ public class NativeSSTableLoaderClient extends SSTableLoader.Client boolean isCompound = isView || flags.contains(CFMetaData.Flag.COMPOUND); String columnsQuery = String.format("SELECT * FROM %s.%s WHERE keyspace_name = ? AND table_name = ?", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.COLUMNS); List<ColumnDefinition> defs = new ArrayList<>(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/long/org/apache/cassandra/db/commitlog/CommitLogStressTest.java ---------------------------------------------------------------------- diff --git a/test/long/org/apache/cassandra/db/commitlog/CommitLogStressTest.java b/test/long/org/apache/cassandra/db/commitlog/CommitLogStressTest.java index 810e8bf..3f5be03 100644 --- a/test/long/org/apache/cassandra/db/commitlog/CommitLogStressTest.java +++ b/test/long/org/apache/cassandra/db/commitlog/CommitLogStressTest.java @@ -53,6 +53,11 @@ import org.apache.cassandra.security.EncryptionContextGenerator; public class CommitLogStressTest { + static + { + DatabaseDescriptor.daemonInitialization(); + } + public static ByteBuffer dataSource; public static int NUM_THREADS = 4 * Runtime.getRuntime().availableProcessors() - 1; http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/long/org/apache/cassandra/locator/DynamicEndpointSnitchLongTest.java ---------------------------------------------------------------------- diff --git a/test/long/org/apache/cassandra/locator/DynamicEndpointSnitchLongTest.java b/test/long/org/apache/cassandra/locator/DynamicEndpointSnitchLongTest.java index 2349453..35bf5b4 100644 --- a/test/long/org/apache/cassandra/locator/DynamicEndpointSnitchLongTest.java +++ b/test/long/org/apache/cassandra/locator/DynamicEndpointSnitchLongTest.java @@ -33,6 +33,11 @@ import org.apache.cassandra.utils.FBUtilities; public class DynamicEndpointSnitchLongTest { + static + { + DatabaseDescriptor.daemonInitialization(); + } + @Test public void testConcurrency() throws InterruptedException, IOException, ConfigurationException { http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/long/org/apache/cassandra/streaming/LongStreamingTest.java ---------------------------------------------------------------------- diff --git a/test/long/org/apache/cassandra/streaming/LongStreamingTest.java b/test/long/org/apache/cassandra/streaming/LongStreamingTest.java index 300be11..3d6f7ae 100644 --- a/test/long/org/apache/cassandra/streaming/LongStreamingTest.java +++ b/test/long/org/apache/cassandra/streaming/LongStreamingTest.java @@ -31,6 +31,7 @@ import org.junit.Test; import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.Config; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.Schema; import org.apache.cassandra.cql3.QueryProcessor; import org.apache.cassandra.cql3.UntypedResultSet; @@ -51,6 +52,8 @@ public class LongStreamingTest @BeforeClass public static void setup() throws Exception { + DatabaseDescriptor.daemonInitialization(); + SchemaLoader.cleanupAndLeaveDirs(); Keyspace.setInitialized(); StorageService.instance.initServer(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/auth/jmx/AuthorizationProxyTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/auth/jmx/AuthorizationProxyTest.java b/test/unit/org/apache/cassandra/auth/jmx/AuthorizationProxyTest.java index f86df40..84282e0 100644 --- a/test/unit/org/apache/cassandra/auth/jmx/AuthorizationProxyTest.java +++ b/test/unit/org/apache/cassandra/auth/jmx/AuthorizationProxyTest.java @@ -29,9 +29,11 @@ import javax.security.auth.Subject; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; +import org.junit.BeforeClass; import org.junit.Test; import org.apache.cassandra.auth.*; +import org.apache.cassandra.config.DatabaseDescriptor; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -40,6 +42,12 @@ import static org.junit.Assert.fail; public class AuthorizationProxyTest { + @BeforeClass + public static void setup() throws Exception + { + DatabaseDescriptor.daemonInitialization(); + } + JMXResource osBean = JMXResource.mbean("java.lang:type=OperatingSystem"); JMXResource runtimeBean = JMXResource.mbean("java.lang:type=Runtime"); JMXResource threadingBean = JMXResource.mbean("java.lang:type=Threading"); http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/batchlog/BatchlogManagerTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/batchlog/BatchlogManagerTest.java b/test/unit/org/apache/cassandra/batchlog/BatchlogManagerTest.java index d4e621f..f192bcf 100644 --- a/test/unit/org/apache/cassandra/batchlog/BatchlogManagerTest.java +++ b/test/unit/org/apache/cassandra/batchlog/BatchlogManagerTest.java @@ -33,6 +33,7 @@ import org.apache.cassandra.Util.PartitionerSwitcher; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.Schema; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.cql3.UntypedResultSet; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.DecoratedKey; @@ -72,6 +73,7 @@ public class BatchlogManagerTest @BeforeClass public static void defineSchema() throws ConfigurationException { + DatabaseDescriptor.daemonInitialization(); sw = Util.switchPartitioner(Murmur3Partitioner.instance); SchemaLoader.prepareServer(); SchemaLoader.createKeyspace(KEYSPACE1, @@ -97,8 +99,8 @@ public class BatchlogManagerTest InetAddress localhost = InetAddress.getByName("127.0.0.1"); metadata.updateNormalToken(Util.token("A"), localhost); metadata.updateHostId(UUIDGen.getTimeUUID(), localhost); - Keyspace.open(SystemKeyspace.NAME).getColumnFamilyStore(SystemKeyspace.BATCHES).truncateBlocking(); - Keyspace.open(SystemKeyspace.NAME).getColumnFamilyStore(SystemKeyspace.LEGACY_BATCHLOG).truncateBlocking(); + Keyspace.open(SchemaConstants.SYSTEM_KEYSPACE_NAME).getColumnFamilyStore(SystemKeyspace.BATCHES).truncateBlocking(); + Keyspace.open(SchemaConstants.SYSTEM_KEYSPACE_NAME).getColumnFamilyStore(SystemKeyspace.LEGACY_BATCHLOG).truncateBlocking(); } @Test @@ -171,12 +173,12 @@ public class BatchlogManagerTest if (legacy) { - Keyspace.open(SystemKeyspace.NAME).getColumnFamilyStore(SystemKeyspace.LEGACY_BATCHLOG).forceBlockingFlush(); + Keyspace.open(SchemaConstants.SYSTEM_KEYSPACE_NAME).getColumnFamilyStore(SystemKeyspace.LEGACY_BATCHLOG).forceBlockingFlush(); LegacyBatchlogMigrator.migrate(); } // Flush the batchlog to disk (see CASSANDRA-6822). - Keyspace.open(SystemKeyspace.NAME).getColumnFamilyStore(SystemKeyspace.BATCHES).forceBlockingFlush(); + Keyspace.open(SchemaConstants.SYSTEM_KEYSPACE_NAME).getColumnFamilyStore(SystemKeyspace.BATCHES).forceBlockingFlush(); assertEquals(100, BatchlogManager.instance.countAllBatches() - initialAllBatches); assertEquals(0, BatchlogManager.instance.getTotalBatchesReplayed() - initialReplayedBatches); @@ -260,7 +262,7 @@ public class BatchlogManagerTest } // Flush the batchlog to disk (see CASSANDRA-6822). - Keyspace.open(SystemKeyspace.NAME).getColumnFamilyStore(SystemKeyspace.BATCHES).forceBlockingFlush(); + Keyspace.open(SchemaConstants.SYSTEM_KEYSPACE_NAME).getColumnFamilyStore(SystemKeyspace.BATCHES).forceBlockingFlush(); // Force batchlog replay and wait for it to complete. BatchlogManager.instance.startBatchlogReplay().get(); @@ -341,15 +343,15 @@ public class BatchlogManagerTest } // Flush the batchlog to disk (see CASSANDRA-6822). - Keyspace.open(SystemKeyspace.NAME).getColumnFamilyStore(SystemKeyspace.BATCHES).forceBlockingFlush(); + Keyspace.open(SchemaConstants.SYSTEM_KEYSPACE_NAME).getColumnFamilyStore(SystemKeyspace.BATCHES).forceBlockingFlush(); assertEquals(1500, BatchlogManager.instance.countAllBatches() - initialAllBatches); assertEquals(0, BatchlogManager.instance.getTotalBatchesReplayed() - initialReplayedBatches); - UntypedResultSet result = executeInternal(String.format("SELECT count(*) FROM \"%s\".\"%s\"", SystemKeyspace.NAME, SystemKeyspace.LEGACY_BATCHLOG)); + UntypedResultSet result = executeInternal(String.format("SELECT count(*) FROM \"%s\".\"%s\"", SchemaConstants.SYSTEM_KEYSPACE_NAME, SystemKeyspace.LEGACY_BATCHLOG)); assertNotNull(result); assertEquals("Count in blog legacy", 0, result.one().getLong("count")); - result = executeInternal(String.format("SELECT count(*) FROM \"%s\".\"%s\"", SystemKeyspace.NAME, SystemKeyspace.BATCHES)); + result = executeInternal(String.format("SELECT count(*) FROM \"%s\".\"%s\"", SchemaConstants.SYSTEM_KEYSPACE_NAME, SystemKeyspace.BATCHES)); assertNotNull(result); assertEquals("Count in blog", 1500, result.one().getLong("count")); @@ -382,10 +384,10 @@ public class BatchlogManagerTest assertEquals(750, result.one().getLong("count")); // Ensure batchlog is left as expected. - result = executeInternal(String.format("SELECT count(*) FROM \"%s\".\"%s\"", SystemKeyspace.NAME, SystemKeyspace.BATCHES)); + result = executeInternal(String.format("SELECT count(*) FROM \"%s\".\"%s\"", SchemaConstants.SYSTEM_KEYSPACE_NAME, SystemKeyspace.BATCHES)); assertNotNull(result); assertEquals("Count in blog after initial replay", 750, result.one().getLong("count")); - result = executeInternal(String.format("SELECT count(*) FROM \"%s\".\"%s\"", SystemKeyspace.NAME, SystemKeyspace.LEGACY_BATCHLOG)); + result = executeInternal(String.format("SELECT count(*) FROM \"%s\".\"%s\"", SchemaConstants.SYSTEM_KEYSPACE_NAME, SystemKeyspace.LEGACY_BATCHLOG)); assertNotNull(result); assertEquals("Count in blog legacy after initial replay ", 0, result.one().getLong("count")); } @@ -414,7 +416,7 @@ public class BatchlogManagerTest Assert.assertEquals(initialAllBatches + 1, BatchlogManager.instance.countAllBatches()); String query = String.format("SELECT count(*) FROM %s.%s where id = %s", - SystemKeyspace.NAME, + SchemaConstants.SYSTEM_KEYSPACE_NAME, SystemKeyspace.BATCHES, uuid); UntypedResultSet result = executeInternal(query); @@ -451,7 +453,7 @@ public class BatchlogManagerTest assertEquals(initialAllBatches, BatchlogManager.instance.countAllBatches()); String query = String.format("SELECT count(*) FROM %s.%s where id = %s", - SystemKeyspace.NAME, + SchemaConstants.SYSTEM_KEYSPACE_NAME, SystemKeyspace.BATCHES, uuid); UntypedResultSet result = executeInternal(query); @@ -486,7 +488,7 @@ public class BatchlogManagerTest assertEquals(1, BatchlogManager.instance.countAllBatches() - initialAllBatches); // Flush the batchlog to disk (see CASSANDRA-6822). - Keyspace.open(SystemKeyspace.NAME).getColumnFamilyStore(SystemKeyspace.BATCHES).forceBlockingFlush(); + Keyspace.open(SchemaConstants.SYSTEM_KEYSPACE_NAME).getColumnFamilyStore(SystemKeyspace.BATCHES).forceBlockingFlush(); assertEquals(1, BatchlogManager.instance.countAllBatches() - initialAllBatches); assertEquals(0, BatchlogManager.instance.getTotalBatchesReplayed() - initialReplayedBatches); http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutorTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutorTest.java b/test/unit/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutorTest.java index 5040a24..9276248 100644 --- a/test/unit/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutorTest.java +++ b/test/unit/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutorTest.java @@ -24,12 +24,20 @@ package org.apache.cassandra.concurrent; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; +import org.junit.BeforeClass; import org.junit.Test; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.utils.WrappedRunnable; public class DebuggableThreadPoolExecutorTest { + @BeforeClass + public static void setupDD() + { + DatabaseDescriptor.daemonInitialization(); + } + @Test public void testSerialization() { http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/config/CFMetaDataTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/config/CFMetaDataTest.java b/test/unit/org/apache/cassandra/config/CFMetaDataTest.java index 8616987..6e2fa50 100644 --- a/test/unit/org/apache/cassandra/config/CFMetaDataTest.java +++ b/test/unit/org/apache/cassandra/config/CFMetaDataTest.java @@ -151,15 +151,15 @@ public class CFMetaDataTest // Test schema conversion Mutation rm = SchemaKeyspace.makeCreateTableMutation(keyspace, cfm, FBUtilities.timestampMicros()).build(); - PartitionUpdate cfU = rm.getPartitionUpdate(Schema.instance.getId(SchemaKeyspace.NAME, SchemaKeyspace.TABLES)); - PartitionUpdate cdU = rm.getPartitionUpdate(Schema.instance.getId(SchemaKeyspace.NAME, SchemaKeyspace.COLUMNS)); + PartitionUpdate cfU = rm.getPartitionUpdate(Schema.instance.getId(SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES)); + PartitionUpdate cdU = rm.getPartitionUpdate(Schema.instance.getId(SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.COLUMNS)); - UntypedResultSet.Row tableRow = QueryProcessor.resultify(String.format("SELECT * FROM %s.%s", SchemaKeyspace.NAME, SchemaKeyspace.TABLES), + UntypedResultSet.Row tableRow = QueryProcessor.resultify(String.format("SELECT * FROM %s.%s", SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES), UnfilteredRowIterators.filter(cfU.unfilteredIterator(), FBUtilities.nowInSeconds())) .one(); TableParams params = SchemaKeyspace.createTableParamsFromRow(tableRow); - UntypedResultSet columnsRows = QueryProcessor.resultify(String.format("SELECT * FROM %s.%s", SchemaKeyspace.NAME, SchemaKeyspace.COLUMNS), + UntypedResultSet columnsRows = QueryProcessor.resultify(String.format("SELECT * FROM %s.%s", SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.COLUMNS), UnfilteredRowIterators.filter(cdU.unfilteredIterator(), FBUtilities.nowInSeconds())); Set<ColumnDefinition> columns = new HashSet<>(); for (UntypedResultSet.Row row : columnsRows) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java b/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java index 933d231..1e8e704 100644 --- a/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java +++ b/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java @@ -21,6 +21,7 @@ package org.apache.cassandra.config; */ import org.junit.Assert; +import org.junit.BeforeClass; import org.junit.Test; import org.apache.cassandra.db.marshal.*; @@ -29,6 +30,12 @@ import org.apache.cassandra.utils.ByteBufferUtil; public class ColumnDefinitionTest { + @BeforeClass + public static void setupDD() + { + DatabaseDescriptor.daemonInitialization(); + } + @Test public void testSerializeDeserialize() throws Exception { http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/config/DatabaseDescriptorRefTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/config/DatabaseDescriptorRefTest.java b/test/unit/org/apache/cassandra/config/DatabaseDescriptorRefTest.java new file mode 100644 index 0000000..63c44e0 --- /dev/null +++ b/test/unit/org/apache/cassandra/config/DatabaseDescriptorRefTest.java @@ -0,0 +1,251 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.cassandra.config; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintStream; +import java.lang.management.ManagementFactory; +import java.lang.management.ThreadInfo; +import java.lang.management.ThreadMXBean; +import java.lang.reflect.Method; +import java.net.URL; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.junit.Test; + +import org.apache.cassandra.utils.Pair; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +/** + * Verifies that {@link DatabaseDescriptor#clientInitialization()} } and a couple of <i>apply</i> methods + * do not somehow lazily initialize any unwanted part of Cassandra like schema, commit log or start + * unexpected threads. + * + * {@link DatabaseDescriptor#toolInitialization()} is tested via unit tests extending + * {@link org.apache.cassandra.tools.ToolsTester}. + */ +public class DatabaseDescriptorRefTest +{ + static final String[] validClasses = { + "org.apache.cassandra.auth.IInternodeAuthenticator", + "org.apache.cassandra.auth.IAuthenticator", + "org.apache.cassandra.auth.IAuthorizer", + "org.apache.cassandra.auth.IRoleManager", + "org.apache.cassandra.config.DatabaseDescriptor", + "org.apache.cassandra.config.ConfigurationLoader", + "org.apache.cassandra.config.Config", + "org.apache.cassandra.config.Config$1", + "org.apache.cassandra.config.Config$RequestSchedulerId", + "org.apache.cassandra.config.Config$CommitLogSync", + "org.apache.cassandra.config.Config$DiskAccessMode", + "org.apache.cassandra.config.Config$DiskFailurePolicy", + "org.apache.cassandra.config.Config$CommitFailurePolicy", + "org.apache.cassandra.config.Config$DiskOptimizationStrategy", + "org.apache.cassandra.config.Config$InternodeCompression", + "org.apache.cassandra.config.Config$MemtableAllocationType", + "org.apache.cassandra.config.Config$UserFunctionTimeoutPolicy", + "org.apache.cassandra.config.RequestSchedulerOptions", + "org.apache.cassandra.config.ParameterizedClass", + "org.apache.cassandra.config.EncryptionOptions", + "org.apache.cassandra.config.EncryptionOptions$ClientEncryptionOptions", + "org.apache.cassandra.config.EncryptionOptions$ServerEncryptionOptions", + "org.apache.cassandra.config.EncryptionOptions$ServerEncryptionOptions$InternodeEncryption", + "org.apache.cassandra.config.YamlConfigurationLoader", + "org.apache.cassandra.config.YamlConfigurationLoader$PropertiesChecker", + "org.apache.cassandra.config.YamlConfigurationLoader$PropertiesChecker$1", + "org.apache.cassandra.config.YamlConfigurationLoader$CustomConstructor", + "org.apache.cassandra.config.TransparentDataEncryptionOptions", + "org.apache.cassandra.dht.IPartitioner", + "org.apache.cassandra.exceptions.ConfigurationException", + "org.apache.cassandra.exceptions.RequestValidationException", + "org.apache.cassandra.exceptions.CassandraException", + "org.apache.cassandra.exceptions.TransportException", + "org.apache.cassandra.locator.IEndpointSnitch", + "org.apache.cassandra.io.FSWriteError", + "org.apache.cassandra.io.FSError", + "org.apache.cassandra.io.compress.ICompressor", + "org.apache.cassandra.io.compress.LZ4Compressor", + "org.apache.cassandra.io.sstable.metadata.MetadataType", + "org.apache.cassandra.io.util.BufferedDataOutputStreamPlus", + "org.apache.cassandra.io.util.DataOutputBuffer", + "org.apache.cassandra.io.util.DataOutputBufferFixed", + "org.apache.cassandra.io.util.DataOutputStreamPlus", + "org.apache.cassandra.io.util.DataOutputPlus", + "org.apache.cassandra.io.util.DiskOptimizationStrategy", + "org.apache.cassandra.locator.SimpleSeedProvider", + "org.apache.cassandra.locator.SeedProvider", + "org.apache.cassandra.scheduler.IRequestScheduler", + "org.apache.cassandra.security.EncryptionContext", + "org.apache.cassandra.service.CacheService$CacheType", + "org.apache.cassandra.utils.FBUtilities", + "org.apache.cassandra.utils.FBUtilities$1", + "org.apache.cassandra.utils.CloseableIterator", + "org.apache.cassandra.utils.Pair", + "org.apache.cassandra.OffsetAwareConfigurationLoader", + "org.apache.cassandra.ConsoleAppender", + "org.apache.cassandra.ConsoleAppender$1", + "org.apache.cassandra.LogbackStatusListener", + "org.apache.cassandra.LogbackStatusListener$1", + "org.apache.cassandra.LogbackStatusListener$2", + "org.apache.cassandra.TeeingAppender", + // generated classes + "org.apache.cassandra.config.ConfigBeanInfo", + "org.apache.cassandra.config.ConfigCustomizer", + "org.apache.cassandra.config.EncryptionOptionsBeanInfo", + "org.apache.cassandra.config.EncryptionOptionsCustomizer", + "org.apache.cassandra.config.EncryptionOptions$ServerEncryptionOptionsBeanInfo", + "org.apache.cassandra.config.EncryptionOptions$ServerEncryptionOptionsCustomizer", + "org.apache.cassandra.ConsoleAppenderBeanInfo", + "org.apache.cassandra.ConsoleAppenderCustomizer", + }; + + static final Set<String> checkedClasses = new HashSet<>(Arrays.asList(validClasses)); + + @Test + public void testDatabaseDescriptorRef() throws Throwable + { + PrintStream out = System.out; + PrintStream err = System.err; + + ThreadMXBean threads = ManagementFactory.getThreadMXBean(); + int threadCount = threads.getThreadCount(); + + ClassLoader delegate = Thread.currentThread().getContextClassLoader(); + + List<Pair<String, Exception>> violations = Collections.synchronizedList(new ArrayList<>()); + + ClassLoader cl = new ClassLoader(null) + { + final Map<String, Class<?>> classMap = new HashMap<>(); + + public URL getResource(String name) + { + return delegate.getResource(name); + } + + public InputStream getResourceAsStream(String name) + { + return delegate.getResourceAsStream(name); + } + + protected Class<?> findClass(String name) throws ClassNotFoundException + { + Class<?> cls = classMap.get(name); + if (cls != null) + return cls; + + if (name.startsWith("org.apache.cassandra.")) + { + // out.println(name); + + if (!checkedClasses.contains(name)) + violations.add(Pair.create(name, new Exception())); + } + + URL url = delegate.getResource(name.replace('.', '/') + ".class"); + if (url == null) + throw new ClassNotFoundException(name); + try (InputStream in = url.openConnection().getInputStream()) + { + ByteArrayOutputStream os = new ByteArrayOutputStream(); + int c; + while ((c = in.read()) != -1) + os.write(c); + byte[] data = os.toByteArray(); + cls = defineClass(name, data, 0, data.length); + classMap.put(name, cls); + return cls; + } + catch (IOException e) + { + throw new ClassNotFoundException(name, e); + } + } + }; + + Thread.currentThread().setContextClassLoader(cl); + + assertEquals("thread started", threadCount, threads.getThreadCount()); + + Class cDatabaseDescriptor = Class.forName("org.apache.cassandra.config.DatabaseDescriptor", true, cl); + + for (String methodName : new String[]{ + "clientInitialization", + "applyAddressConfig", + "applyThriftHSHA", + "applyInitialTokens", + // no seed provider in default configuration for clients + // "applySeedProvider", + // definitely not safe for clients - implicitly instantiates schema + // "applyPartitioner", + // definitely not safe for clients - implicitly instantiates StorageService + // "applySnitch", + "applyEncryptionContext", + // starts "REQUEST-SCHEDULER" thread via RoundRobinScheduler + // "applyRequestScheduler", + }) + { + Method method = cDatabaseDescriptor.getDeclaredMethod(methodName); + method.invoke(null); + + if ("clientInitialization".equals(methodName) && + threadCount + 1 == threads.getThreadCount()) + { + // ignore the "AsyncAppender-Worker-ASYNC" thread + threadCount++; + } + + if (threadCount != threads.getThreadCount()) + { + for (ThreadInfo threadInfo : threads.getThreadInfo(threads.getAllThreadIds())) + out.println("Thread #" + threadInfo.getThreadId() + ": " + threadInfo.getThreadName()); + assertEquals("thread started in " + methodName, threadCount, ManagementFactory.getThreadMXBean().getThreadCount()); + } + + checkViolations(err, violations); + } + } + + private void checkViolations(PrintStream err, List<Pair<String, Exception>> violations) + { + if (!violations.isEmpty()) + { + for (Pair<String, Exception> violation : new ArrayList<>(violations)) + { + err.println(); + err.println(); + err.println("VIOLATION: " + violation.left); + violation.right.printStackTrace(err); + } + + fail(); + } + } +} http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java b/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java index 84f0235..359ef53 100644 --- a/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java +++ b/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java @@ -50,6 +50,12 @@ import static org.junit.Assert.assertTrue; @RunWith(OrderedJUnit4ClassRunner.class) public class DatabaseDescriptorTest { + @BeforeClass + public static void setupDatabaseDescriptor() + { + DatabaseDescriptor.daemonInitialization(); + } + @Test public void testCFMetaDataSerialization() throws ConfigurationException, InvalidRequestException { http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/cql3/CQLTester.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/CQLTester.java b/test/unit/org/apache/cassandra/cql3/CQLTester.java index 310abd0..3bb753f 100644 --- a/test/unit/org/apache/cassandra/cql3/CQLTester.java +++ b/test/unit/org/apache/cassandra/cql3/CQLTester.java @@ -45,6 +45,7 @@ import org.apache.cassandra.concurrent.ScheduledExecutors; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.Schema; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.cql3.functions.FunctionName; import org.apache.cassandra.cql3.functions.ThreadAwareSecurityManager; import org.apache.cassandra.cql3.statements.ParsedStatement; @@ -94,6 +95,8 @@ public abstract class CQLTester public static final List<Integer> PROTOCOL_VERSIONS; static { + DatabaseDescriptor.daemonInitialization(); + // The latest versions might not be supported yet by the java driver ImmutableList.Builder<Integer> builder = ImmutableList.builder(); for (int version = Server.MIN_SUPPORTED_VERSION; version <= Server.CURRENT_VERSION; version++) @@ -149,6 +152,8 @@ public abstract class CQLTester if (isServerPrepared) return; + DatabaseDescriptor.daemonInitialization(); + // Cleanup first try { @@ -673,7 +678,7 @@ public abstract class CQLTester try { ClientState state = ClientState.forInternalCalls(); - state.setKeyspace(SystemKeyspace.NAME); + state.setKeyspace(SchemaConstants.SYSTEM_KEYSPACE_NAME); QueryState queryState = new QueryState(state); ParsedStatement.Prepared prepared = QueryProcessor.parseStatement(query, queryState); http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/cql3/ColumnConditionTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/ColumnConditionTest.java b/test/unit/org/apache/cassandra/cql3/ColumnConditionTest.java index 78e0a6c..ca0c182 100644 --- a/test/unit/org/apache/cassandra/cql3/ColumnConditionTest.java +++ b/test/unit/org/apache/cassandra/cql3/ColumnConditionTest.java @@ -20,10 +20,12 @@ package org.apache.cassandra.cql3; import java.nio.ByteBuffer; import java.util.*; +import org.junit.BeforeClass; import org.junit.Test; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.rows.BufferCell; import org.apache.cassandra.db.rows.Cell; import org.apache.cassandra.db.rows.CellPath; @@ -46,6 +48,12 @@ public class ColumnConditionTest public static final ByteBuffer A = AsciiType.instance.fromString("a"); public static final ByteBuffer B = AsciiType.instance.fromString("b"); + @BeforeClass + public static void setupDD() + { + DatabaseDescriptor.daemonInitialization(); + } + private static boolean isSatisfiedBy(ColumnCondition.Bound bound, ByteBuffer conditionValue, ByteBuffer columnValue) throws InvalidRequestException { Cell cell = null; http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/cql3/PstmtPersistenceTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/PstmtPersistenceTest.java b/test/unit/org/apache/cassandra/cql3/PstmtPersistenceTest.java index 6a075c9..380dbda 100644 --- a/test/unit/org/apache/cassandra/cql3/PstmtPersistenceTest.java +++ b/test/unit/org/apache/cassandra/cql3/PstmtPersistenceTest.java @@ -25,6 +25,7 @@ import java.util.List; import org.junit.Test; import junit.framework.Assert; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.cql3.statements.ParsedStatement; import org.apache.cassandra.db.SystemKeyspace; import org.apache.cassandra.db.marshal.Int32Type; @@ -43,7 +44,7 @@ public class PstmtPersistenceTest extends CQLTester // need this for pstmt execution/validation tests requireNetwork(); - int rows = QueryProcessor.executeOnceInternal("SELECT * FROM " + SystemKeyspace.NAME + '.' + SystemKeyspace.PREPARED_STATEMENTS).size(); + int rows = QueryProcessor.executeOnceInternal("SELECT * FROM " + SchemaConstants.SYSTEM_KEYSPACE_NAME + '.' + SystemKeyspace.PREPARED_STATEMENTS).size(); Assert.assertEquals(0, rows); execute("CREATE KEYSPACE IF NOT EXISTS foo WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'}"); @@ -55,7 +56,7 @@ public class PstmtPersistenceTest extends CQLTester List<MD5Digest> stmtIds = new ArrayList<>(); // #0 - stmtIds.add(QueryProcessor.prepare("SELECT * FROM " + SchemaKeyspace.NAME + '.' + SchemaKeyspace.TABLES + " WHERE keyspace_name = ?", clientState, false).statementId); + stmtIds.add(QueryProcessor.prepare("SELECT * FROM " + SchemaConstants.SCHEMA_KEYSPACE_NAME + '.' + SchemaKeyspace.TABLES + " WHERE keyspace_name = ?", clientState, false).statementId); // #1 stmtIds.add(QueryProcessor.prepare("SELECT * FROM " + KEYSPACE + '.' + currentTable() + " WHERE pk = ?", clientState, false).statementId); // #2 @@ -69,7 +70,7 @@ public class PstmtPersistenceTest extends CQLTester Assert.assertEquals(5, stmtIds.size()); Assert.assertEquals(5, QueryProcessor.preparedStatementsCount()); - String queryAll = "SELECT * FROM " + SystemKeyspace.NAME + '.' + SystemKeyspace.PREPARED_STATEMENTS; + String queryAll = "SELECT * FROM " + SchemaConstants.SYSTEM_KEYSPACE_NAME + '.' + SystemKeyspace.PREPARED_STATEMENTS; rows = QueryProcessor.executeOnceInternal(queryAll).size(); Assert.assertEquals(5, rows); http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/cql3/restrictions/ClusteringColumnRestrictionsTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/restrictions/ClusteringColumnRestrictionsTest.java b/test/unit/org/apache/cassandra/cql3/restrictions/ClusteringColumnRestrictionsTest.java index f78967d..83c00d0 100644 --- a/test/unit/org/apache/cassandra/cql3/restrictions/ClusteringColumnRestrictionsTest.java +++ b/test/unit/org/apache/cassandra/cql3/restrictions/ClusteringColumnRestrictionsTest.java @@ -21,10 +21,12 @@ import java.nio.ByteBuffer; import java.util.*; import com.google.common.collect.Iterables; +import org.junit.BeforeClass; import org.junit.Test; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.cql3.*; import org.apache.cassandra.cql3.Term.MultiItemTerminal; import org.apache.cassandra.cql3.statements.Bound; @@ -41,6 +43,12 @@ import static org.junit.Assert.assertTrue; public class ClusteringColumnRestrictionsTest { + @BeforeClass + public static void setupDD() + { + DatabaseDescriptor.daemonInitialization(); + } + @Test public void testBoundsAsClusteringWithNoRestrictions() { http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/TombstonesTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/TombstonesTest.java b/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/TombstonesTest.java index 5980372..72ed887 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/TombstonesTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/TombstonesTest.java @@ -42,6 +42,7 @@ public class TombstonesTest extends CQLTester @BeforeClass public static void setUp() throws Throwable { + DatabaseDescriptor.daemonInitialization(); DatabaseDescriptor.setTombstoneFailureThreshold(THRESHOLD); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java index 506d533..49ce6f3 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java @@ -42,12 +42,12 @@ import ch.qos.logback.classic.turbo.TurboFilter; import com.datastax.driver.core.Session; import com.datastax.driver.core.TupleValue; import org.apache.cassandra.config.Schema; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.cql3.CQLTester; import org.apache.cassandra.cql3.QueryProcessor; import org.apache.cassandra.cql3.UntypedResultSet; import org.apache.cassandra.cql3.UntypedResultSet.Row; import org.apache.cassandra.cql3.functions.UDAggregate; -import org.apache.cassandra.db.SystemKeyspace; import org.apache.cassandra.db.marshal.AbstractType; import org.apache.cassandra.db.marshal.TypeParser; import org.apache.cassandra.exceptions.FunctionExecutionException; @@ -1392,7 +1392,7 @@ public class AggregationTest extends CQLTester "CREATE AGGREGATE " + KEYSPACE_PER_TEST + ".test_wrong_ks(int) " + "SFUNC " + shortFunctionName(fState) + ' ' + "STYPE " + type + ' ' + - "FINALFUNC " + SystemKeyspace.NAME + ".min " + + "FINALFUNC " + SchemaConstants.SYSTEM_KEYSPACE_NAME + ".min " + "INITCOND 1"); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/cql3/validation/operations/AlterTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/AlterTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/AlterTest.java index 092efc2..c9be678 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/operations/AlterTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/operations/AlterTest.java @@ -17,6 +17,7 @@ */ package org.apache.cassandra.cql3.validation.operations; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.cql3.CQLTester; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.Keyspace; @@ -283,7 +284,7 @@ public class AlterTest extends CQLTester createTable("CREATE TABLE %s (a text, b int, c int, primary key (a, b))"); assertRows(execute(format("SELECT compression FROM %s.%s WHERE keyspace_name = ? and table_name = ?;", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES), KEYSPACE, currentTable()), @@ -292,7 +293,7 @@ public class AlterTest extends CQLTester execute("ALTER TABLE %s WITH compression = { 'class' : 'SnappyCompressor', 'chunk_length_in_kb' : 32 };"); assertRows(execute(format("SELECT compression FROM %s.%s WHERE keyspace_name = ? and table_name = ?;", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES), KEYSPACE, currentTable()), @@ -301,7 +302,7 @@ public class AlterTest extends CQLTester execute("ALTER TABLE %s WITH compression = { 'sstable_compression' : 'LZ4Compressor', 'chunk_length_kb' : 64 };"); assertRows(execute(format("SELECT compression FROM %s.%s WHERE keyspace_name = ? and table_name = ?;", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES), KEYSPACE, currentTable()), @@ -310,7 +311,7 @@ public class AlterTest extends CQLTester execute("ALTER TABLE %s WITH compression = { 'sstable_compression' : '', 'chunk_length_kb' : 32 };"); assertRows(execute(format("SELECT compression FROM %s.%s WHERE keyspace_name = ? and table_name = ?;", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES), KEYSPACE, currentTable()), @@ -320,7 +321,7 @@ public class AlterTest extends CQLTester execute("ALTER TABLE %s WITH compression = { 'enabled' : 'false'};"); assertRows(execute(format("SELECT compression FROM %s.%s WHERE keyspace_name = ? and table_name = ?;", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES), KEYSPACE, currentTable()), http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/cql3/validation/operations/CreateTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/CreateTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/CreateTest.java index 8f92403..da0824f 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/operations/CreateTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/operations/CreateTest.java @@ -25,6 +25,7 @@ import org.junit.Test; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.Schema; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.cql3.CQLTester; import org.apache.cassandra.db.Mutation; import org.apache.cassandra.db.partitions.Partition; @@ -510,7 +511,7 @@ public class CreateTest extends CQLTester createTable("CREATE TABLE %s (a text, b int, c int, primary key (a, b))"); assertRows(execute(format("SELECT compression FROM %s.%s WHERE keyspace_name = ? and table_name = ?;", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES), KEYSPACE, currentTable()), @@ -520,7 +521,7 @@ public class CreateTest extends CQLTester + " WITH compression = { 'class' : 'SnappyCompressor', 'chunk_length_in_kb' : 32 };"); assertRows(execute(format("SELECT compression FROM %s.%s WHERE keyspace_name = ? and table_name = ?;", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES), KEYSPACE, currentTable()), @@ -530,7 +531,7 @@ public class CreateTest extends CQLTester + " WITH compression = { 'class' : 'SnappyCompressor', 'chunk_length_in_kb' : 32, 'enabled' : true };"); assertRows(execute(format("SELECT compression FROM %s.%s WHERE keyspace_name = ? and table_name = ?;", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES), KEYSPACE, currentTable()), @@ -540,7 +541,7 @@ public class CreateTest extends CQLTester + " WITH compression = { 'sstable_compression' : 'SnappyCompressor', 'chunk_length_kb' : 32 };"); assertRows(execute(format("SELECT compression FROM %s.%s WHERE keyspace_name = ? and table_name = ?;", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES), KEYSPACE, currentTable()), @@ -550,7 +551,7 @@ public class CreateTest extends CQLTester + " WITH compression = { 'sstable_compression' : '', 'chunk_length_kb' : 32 };"); assertRows(execute(format("SELECT compression FROM %s.%s WHERE keyspace_name = ? and table_name = ?;", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES), KEYSPACE, currentTable()), @@ -560,7 +561,7 @@ public class CreateTest extends CQLTester + " WITH compression = { 'enabled' : 'false'};"); assertRows(execute(format("SELECT compression FROM %s.%s WHERE keyspace_name = ? and table_name = ?;", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TABLES), KEYSPACE, currentTable()), http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java index 9bb2468..8a61b68 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java @@ -20,6 +20,7 @@ package org.apache.cassandra.cql3.validation.operations; import org.junit.Test; +import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.cql3.CQLTester; import org.apache.cassandra.exceptions.InvalidRequestException; import org.apache.cassandra.exceptions.SyntaxException; @@ -1283,7 +1284,7 @@ public class InsertUpdateIfConditionTest extends CQLTester // create and confirm schemaChange("CREATE KEYSPACE IF NOT EXISTS " + keyspace + " WITH replication = { 'class':'SimpleStrategy', 'replication_factor':1} and durable_writes = true "); assertRows(execute(format("select durable_writes from %s.%s where keyspace_name = ?", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.KEYSPACES), keyspace), row(true)); @@ -1292,7 +1293,7 @@ public class InsertUpdateIfConditionTest extends CQLTester schemaChange("CREATE KEYSPACE IF NOT EXISTS " + keyspace + " WITH replication = {'class':'SimpleStrategy', 'replication_factor':1} and durable_writes = false "); assertRows(execute(format("select durable_writes from %s.%s where keyspace_name = ?", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.KEYSPACES), keyspace), row(true)); @@ -1300,7 +1301,7 @@ public class InsertUpdateIfConditionTest extends CQLTester // drop and confirm schemaChange("DROP KEYSPACE IF EXISTS " + keyspace); - assertEmpty(execute(format("select * from %s.%s where keyspace_name = ?", SchemaKeyspace.NAME, SchemaKeyspace.KEYSPACES), + assertEmpty(execute(format("select * from %s.%s where keyspace_name = ?", SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.KEYSPACES), keyspace)); } @@ -1377,7 +1378,7 @@ public class InsertUpdateIfConditionTest extends CQLTester // create and confirm execute("CREATE TYPE IF NOT EXISTS mytype (somefield int)"); assertRows(execute(format("SELECT type_name from %s.%s where keyspace_name = ? and type_name = ?", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TYPES), KEYSPACE, "mytype"), @@ -1390,7 +1391,7 @@ public class InsertUpdateIfConditionTest extends CQLTester // drop and confirm execute("DROP TYPE IF EXISTS mytype"); assertEmpty(execute(format("SELECT type_name from %s.%s where keyspace_name = ? and type_name = ?", - SchemaKeyspace.NAME, + SchemaConstants.SCHEMA_KEYSPACE_NAME, SchemaKeyspace.TYPES), KEYSPACE, "mytype")); http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/db/CellTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/CellTest.java b/test/unit/org/apache/cassandra/db/CellTest.java index 1249989..8fb8adb 100644 --- a/test/unit/org/apache/cassandra/db/CellTest.java +++ b/test/unit/org/apache/cassandra/db/CellTest.java @@ -29,6 +29,7 @@ import org.junit.Test; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.cql3.ColumnIdentifier; import org.apache.cassandra.db.marshal.*; import org.apache.cassandra.db.rows.*; @@ -41,6 +42,11 @@ import org.apache.cassandra.utils.FBUtilities; public class CellTest { + static + { + DatabaseDescriptor.daemonInitialization(); + } + private static final String KEYSPACE1 = "CellTest"; private static final String CF_STANDARD1 = "Standard1"; private static final String CF_COLLECTION = "Collection1"; http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/db/ColumnsTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/ColumnsTest.java b/test/unit/org/apache/cassandra/db/ColumnsTest.java index 4e3df80..d64a5bd 100644 --- a/test/unit/org/apache/cassandra/db/ColumnsTest.java +++ b/test/unit/org/apache/cassandra/db/ColumnsTest.java @@ -33,6 +33,7 @@ import junit.framework.Assert; import org.apache.cassandra.MockSchema; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.marshal.SetType; import org.apache.cassandra.db.marshal.UTF8Type; import org.apache.cassandra.io.util.DataInputBuffer; @@ -43,6 +44,10 @@ import static org.apache.cassandra.utils.ByteBufferUtil.bytes; public class ColumnsTest { + static + { + DatabaseDescriptor.daemonInitialization(); + } private static final CFMetaData cfMetaData = MockSchema.newCFS().metadata; http://git-wip-us.apache.org/repos/asf/cassandra/blob/9797511c/test/unit/org/apache/cassandra/db/DirectoriesTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/DirectoriesTest.java b/test/unit/org/apache/cassandra/db/DirectoriesTest.java index 9a1c0bd..5841c36 100644 --- a/test/unit/org/apache/cassandra/db/DirectoriesTest.java +++ b/test/unit/org/apache/cassandra/db/DirectoriesTest.java @@ -67,7 +67,10 @@ public class DirectoriesTest @BeforeClass public static void beforeClass() throws IOException { + DatabaseDescriptor.daemonInitialization(); + FileUtils.setFSErrorHandler(new DefaultFSErrorHandler()); + for (String table : TABLES) { UUID tableID = CFMetaData.generateLegacyCfId(KS, table);
