fix NPE in DefsTest and DatabaseDescriptorTest caused by not initialized (started) Gossiper
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/44d6f49b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/44d6f49b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/44d6f49b Branch: refs/heads/cassandra-1.1 Commit: 44d6f49bb051a3a49fb2b758b6fb8016a1845f13 Parents: 9dbb1b7 Author: Pavel Yaskevich <xe...@apache.org> Authored: Thu Feb 23 18:07:59 2012 +0300 Committer: Pavel Yaskevich <xe...@apache.org> Committed: Thu Feb 23 18:28:15 2012 +0300 ---------------------------------------------------------------------- .../cassandra/config/DatabaseDescriptorTest.java | 42 +++++++++------ test/unit/org/apache/cassandra/db/DefsTest.java | 15 +++++ 2 files changed, 41 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/44d6f49b/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 084ed9b..1cb2b64 100644 --- a/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java +++ b/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java @@ -20,6 +20,7 @@ package org.apache.cassandra.config; import org.apache.cassandra.CleanupHelper; import org.apache.cassandra.db.migration.AddKeyspace; +import org.apache.cassandra.gms.Gossiper; import org.apache.cassandra.locator.SimpleStrategy; import org.apache.cassandra.thrift.InvalidRequestException; @@ -64,25 +65,34 @@ public class DatabaseDescriptorTest CleanupHelper.cleanupAndLeaveDirs(); DatabaseDescriptor.loadSchemas(); assert Schema.instance.getNonSystemTables().size() == 0; - - // add a few. - AddKeyspace ks0 = new AddKeyspace(KSMetaData.testMetadata("ks0", SimpleStrategy.class, KSMetaData.optsWithRF(3))); - ks0.apply(); - AddKeyspace ks1 = new AddKeyspace(KSMetaData.testMetadata("ks1", SimpleStrategy.class, KSMetaData.optsWithRF(3))); - ks1.apply(); - assert Schema.instance.getTableDefinition("ks0") != null; - assert Schema.instance.getTableDefinition("ks1") != null; + Gossiper.instance.start((int)(System.currentTimeMillis() / 1000)); - Schema.instance.clearTableDefinition(Schema.instance.getTableDefinition("ks0")); - Schema.instance.clearTableDefinition(Schema.instance.getTableDefinition("ks1")); + try + { + // add a few. + AddKeyspace ks0 = new AddKeyspace(KSMetaData.testMetadata("ks0", SimpleStrategy.class, KSMetaData.optsWithRF(3))); + ks0.apply(); + AddKeyspace ks1 = new AddKeyspace(KSMetaData.testMetadata("ks1", SimpleStrategy.class, KSMetaData.optsWithRF(3))); + ks1.apply(); - assert Schema.instance.getTableDefinition("ks0") == null; - assert Schema.instance.getTableDefinition("ks1") == null; - - DatabaseDescriptor.loadSchemas(); + assert Schema.instance.getTableDefinition("ks0") != null; + assert Schema.instance.getTableDefinition("ks1") != null; + + Schema.instance.clearTableDefinition(Schema.instance.getTableDefinition("ks0")); + Schema.instance.clearTableDefinition(Schema.instance.getTableDefinition("ks1")); + + assert Schema.instance.getTableDefinition("ks0") == null; + assert Schema.instance.getTableDefinition("ks1") == null; - assert Schema.instance.getTableDefinition("ks0") != null; - assert Schema.instance.getTableDefinition("ks1") != null; + DatabaseDescriptor.loadSchemas(); + + assert Schema.instance.getTableDefinition("ks0") != null; + assert Schema.instance.getTableDefinition("ks1") != null; + } + finally + { + Gossiper.instance.stop(); + } } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/44d6f49b/test/unit/org/apache/cassandra/db/DefsTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/DefsTest.java b/test/unit/org/apache/cassandra/db/DefsTest.java index bd3dfa1..9bfa82c 100644 --- a/test/unit/org/apache/cassandra/db/DefsTest.java +++ b/test/unit/org/apache/cassandra/db/DefsTest.java @@ -39,6 +39,7 @@ import org.apache.cassandra.db.migration.DropKeyspace; import org.apache.cassandra.db.migration.Migration; import org.apache.cassandra.db.migration.UpdateColumnFamily; import org.apache.cassandra.db.migration.UpdateKeyspace; +import org.apache.cassandra.gms.Gossiper; import org.apache.cassandra.io.sstable.Component; import org.apache.cassandra.io.sstable.Descriptor; import org.apache.cassandra.io.sstable.SSTableDeletingTask; @@ -49,10 +50,24 @@ import org.apache.cassandra.thrift.ColumnDef; import org.apache.cassandra.thrift.IndexType; import org.apache.cassandra.utils.ByteBufferUtil; +import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.Test; public class DefsTest extends CleanupHelper { + @BeforeClass + public static void startGossiper() + { + Gossiper.instance.start((int) (System.currentTimeMillis() / 1000)); + } + + @AfterClass + public static void stopGossiper() + { + Gossiper.instance.stop(); + } + @Test public void ensureStaticCFMIdsAreLessThan1000() {