You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2016/04/27 18:58:56 UTC
[3/8] cassandra git commit: Fix is_dense recalculation for
Thrift-updated tables
Fix is_dense recalculation for Thrift-updated tables
patch by Aleksey Yeschenko; reviewed by Sylvain Lebresne for
CASSANDRA-11502
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e5c40278
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e5c40278
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e5c40278
Branch: refs/heads/trunk
Commit: e5c40278001bf3a9582085a58941e5f4765f118c
Parents: 3db30aa
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Fri Apr 1 17:36:14 2016 +0100
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Wed Apr 27 17:47:29 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 3 +-
.../cql3/statements/AlterTableStatement.java | 2 +-
.../cql3/statements/AlterTypeStatement.java | 2 +-
.../cql3/statements/CreateIndexStatement.java | 2 +-
.../cql3/statements/CreateTriggerStatement.java | 2 +-
.../cql3/statements/DropIndexStatement.java | 2 +-
.../cql3/statements/DropTriggerStatement.java | 2 +-
.../cassandra/schema/LegacySchemaTables.java | 10 +---
.../cassandra/service/MigrationManager.java | 8 +--
.../cassandra/thrift/CassandraServer.java | 2 +-
.../cassandra/thrift/ThriftConversion.java | 24 +++++++-
.../config/LegacySchemaTablesTest.java | 60 +++++++++++++++++++-
.../org/apache/cassandra/schema/DefsTest.java | 14 ++---
.../cassandra/triggers/TriggersSchemaTest.java | 4 +-
14 files changed, 103 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index e8a301a..3641816 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,9 +1,10 @@
2.2.7
+ * Fix is_dense recalculation for Thrift-updated tables (CASSANDRA-11502)
* Remove unnescessary file existence check during anticompaction (CASSANDRA-11660)
* Add missing files to debian packages (CASSANDRA-11642)
* Avoid calling Iterables::concat in loops during ModificationStatement::getFunctions (CASSANDRA-11621)
* cqlsh: COPY FROM should use regular inserts for single statement batches and
- report errors correctly if workers processes crash on initialization (CASSANDRA-11474)
+ report errors correctly if workers processes crash on initialization (CASSANDRA-11474)
* Always close cluster with connection in CqlRecordWriter (CASSANDRA-11553)
Merged from 2.1:
* cqlsh COPY FROM fails for null values with non-prepared statements (CASSANDRA-11631)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java b/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java
index 63a53fa..f4a7b39 100644
--- a/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java
@@ -284,7 +284,7 @@ public class AlterTableStatement extends SchemaAlteringStatement
break;
}
- MigrationManager.announceColumnFamilyUpdate(cfm, false, isLocalOnly);
+ MigrationManager.announceColumnFamilyUpdate(cfm, isLocalOnly);
return true;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java b/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
index 6459e6b..9203cf9 100644
--- a/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
@@ -113,7 +113,7 @@ public abstract class AlterTypeStatement extends SchemaAlteringStatement
for (ColumnDefinition def : copy.allColumns())
modified |= updateDefinition(copy, def, toUpdate.keyspace, toUpdate.name, updated);
if (modified)
- MigrationManager.announceColumnFamilyUpdate(copy, false, isLocalOnly);
+ MigrationManager.announceColumnFamilyUpdate(copy, isLocalOnly);
}
// Other user types potentially using the updated type
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java
index edc092d..d93c0a7 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java
@@ -191,7 +191,7 @@ public class CreateIndexStatement extends SchemaAlteringStatement
cd.setIndexName(indexName);
cfm.addDefaultIndexNames();
- MigrationManager.announceColumnFamilyUpdate(cfm, false, isLocalOnly);
+ MigrationManager.announceColumnFamilyUpdate(cfm, isLocalOnly);
return true;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/src/java/org/apache/cassandra/cql3/statements/CreateTriggerStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateTriggerStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateTriggerStatement.java
index 6ebe0d3..ef2f263 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CreateTriggerStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CreateTriggerStatement.java
@@ -78,7 +78,7 @@ public class CreateTriggerStatement extends SchemaAlteringStatement
{
cfm.addTriggerDefinition(triggerDefinition);
logger.info("Adding trigger with name {} and class {}", triggerName, triggerClass);
- MigrationManager.announceColumnFamilyUpdate(cfm, false, isLocalOnly);
+ MigrationManager.announceColumnFamilyUpdate(cfm, isLocalOnly);
return true;
}
return false;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/src/java/org/apache/cassandra/cql3/statements/DropIndexStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/DropIndexStatement.java b/src/java/org/apache/cassandra/cql3/statements/DropIndexStatement.java
index c6c0244..0d33e57 100644
--- a/src/java/org/apache/cassandra/cql3/statements/DropIndexStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/DropIndexStatement.java
@@ -97,7 +97,7 @@ public class DropIndexStatement extends SchemaAlteringStatement
CFMetaData updatedCfm = updateCFMetadata(cfm);
indexedCF = updatedCfm.cfName;
- MigrationManager.announceColumnFamilyUpdate(updatedCfm, false, isLocalOnly);
+ MigrationManager.announceColumnFamilyUpdate(updatedCfm, isLocalOnly);
return true;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/src/java/org/apache/cassandra/cql3/statements/DropTriggerStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/DropTriggerStatement.java b/src/java/org/apache/cassandra/cql3/statements/DropTriggerStatement.java
index e3db1e1..8267b4e 100644
--- a/src/java/org/apache/cassandra/cql3/statements/DropTriggerStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/DropTriggerStatement.java
@@ -63,7 +63,7 @@ public class DropTriggerStatement extends SchemaAlteringStatement
if (cfm.removeTrigger(triggerName))
{
logger.info("Dropping trigger with name {}", triggerName);
- MigrationManager.announceColumnFamilyUpdate(cfm, false, isLocalOnly);
+ MigrationManager.announceColumnFamilyUpdate(cfm, isLocalOnly);
return true;
}
if (!ifExists)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/src/java/org/apache/cassandra/schema/LegacySchemaTables.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/schema/LegacySchemaTables.java b/src/java/org/apache/cassandra/schema/LegacySchemaTables.java
index 0ef9852..8d5bf4f 100644
--- a/src/java/org/apache/cassandra/schema/LegacySchemaTables.java
+++ b/src/java/org/apache/cassandra/schema/LegacySchemaTables.java
@@ -908,8 +908,7 @@ public class LegacySchemaTables
public static Mutation makeUpdateTableMutation(KSMetaData keyspace,
CFMetaData oldTable,
CFMetaData newTable,
- long timestamp,
- boolean fromThrift)
+ long timestamp)
{
Mutation mutation = makeCreateKeyspaceMutation(keyspace, timestamp, false);
@@ -920,14 +919,7 @@ public class LegacySchemaTables
// columns that are no longer needed
for (ColumnDefinition column : columnDiff.entriesOnlyOnLeft().values())
- {
- // Thrift only knows about the REGULAR ColumnDefinition type, so don't consider other type
- // are being deleted just because they are not here.
- if (fromThrift && column.kind != ColumnDefinition.Kind.REGULAR)
- continue;
-
dropColumnFromSchemaMutation(oldTable, column, timestamp, mutation);
- }
// newly added columns
for (ColumnDefinition column : columnDiff.entriesOnlyOnRight().values())
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java b/src/java/org/apache/cassandra/service/MigrationManager.java
index ec7448a..f7a2a48 100644
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@ -346,12 +346,12 @@ public class MigrationManager
announce(LegacySchemaTables.makeCreateKeyspaceMutation(ksm, FBUtilities.timestampMicros()), announceLocally);
}
- public static void announceColumnFamilyUpdate(CFMetaData cfm, boolean fromThrift) throws ConfigurationException
+ public static void announceColumnFamilyUpdate(CFMetaData cfm) throws ConfigurationException
{
- announceColumnFamilyUpdate(cfm, fromThrift, false);
+ announceColumnFamilyUpdate(cfm, false);
}
- public static void announceColumnFamilyUpdate(CFMetaData cfm, boolean fromThrift, boolean announceLocally) throws ConfigurationException
+ public static void announceColumnFamilyUpdate(CFMetaData cfm, boolean announceLocally) throws ConfigurationException
{
cfm.validate();
@@ -363,7 +363,7 @@ public class MigrationManager
oldCfm.validateCompatility(cfm);
logger.info(String.format("Update table '%s/%s' From %s To %s", cfm.ksName, cfm.cfName, oldCfm, cfm));
- announce(LegacySchemaTables.makeUpdateTableMutation(ksm, oldCfm, cfm, FBUtilities.timestampMicros(), fromThrift), announceLocally);
+ announce(LegacySchemaTables.makeUpdateTableMutation(ksm, oldCfm, cfm, FBUtilities.timestampMicros()), announceLocally);
}
public static void announceTypeUpdate(UserType updatedType, boolean announceLocally)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index 694a36a..36664ae 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -1661,7 +1661,7 @@ public class CassandraServer implements Cassandra.Iface
if (!oldCfm.getTriggers().equals(cfm.getTriggers()))
state().ensureIsSuper("Only superusers are allowed to add or remove triggers.");
- MigrationManager.announceColumnFamilyUpdate(cfm, true);
+ MigrationManager.announceColumnFamilyUpdate(cfm);
return Schema.instance.getVersion().toString();
}
catch (RequestValidationException e)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/src/java/org/apache/cassandra/thrift/ThriftConversion.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/ThriftConversion.java b/src/java/org/apache/cassandra/thrift/ThriftConversion.java
index adb925e..04eae38 100644
--- a/src/java/org/apache/cassandra/thrift/ThriftConversion.java
+++ b/src/java/org/apache/cassandra/thrift/ThriftConversion.java
@@ -223,16 +223,33 @@ public class ThriftConversion
if (hasKeyAlias)
defs.add(ColumnDefinition.partitionKeyDef(cf_def.keyspace, cf_def.name, cf_def.key_alias, keyValidator, null));
+ // for Thrift updates, we should be calculating denseness from just the regular columns & comparator
+ boolean isDense = CFMetaData.calculateIsDense(fullRawComparator, defs);
+
// Now add any CQL metadata that we want to copy, skipping the keyAlias if there was one
for (ColumnDefinition def : previousCQLMetadata)
{
- // isPartOfCellName basically means 'is not just a CQL metadata'
- if (def.isPartOfCellName())
+ // skip all pre-existing REGULAR columns
+ if (def.kind == ColumnDefinition.Kind.REGULAR)
continue;
+ // skip previous PARTITION_KEY column def if key_alias has been set by this update already (overwritten)
if (def.kind == ColumnDefinition.Kind.PARTITION_KEY && hasKeyAlias)
continue;
+ // the table switched from DENSE to SPARSE by adding one or more REGULAR columns;
+ // in this case we should now drop the COMPACT_VALUE column
+ if (def.kind == ColumnDefinition.Kind.COMPACT_VALUE && !isDense)
+ continue;
+
+ // skip CLUSTERING_COLUMN column(s) of a sparse table, if:
+ // a) this is a Standard columnfamily *OR* b) it's a Super columnfamily and the second (subcolumn) component;
+ // in other words, only keep the clustering column in sparse tables if it's the first (super) component
+ // of a super column family
+ if (def.kind == ColumnDefinition.Kind.CLUSTERING_COLUMN && !isDense)
+ if (cfType == ColumnFamilyType.Standard || def.position() != 0)
+ continue;
+
defs.add(def);
}
@@ -242,7 +259,8 @@ public class ThriftConversion
if (cfId == null)
cfId = UUIDGen.getTimeUUID();
- CFMetaData newCFMD = new CFMetaData(cf_def.keyspace, cf_def.name, cfType, comparator, cfId);
+ // set isDense now so that it doesn't get re-calculated incorrectly later in rebuild() b/c of defined clusterings
+ CFMetaData newCFMD = new CFMetaData(cf_def.keyspace, cf_def.name, cfType, comparator, cfId).isDense(isDense);
newCFMD.addAllColumnDefinitions(defs);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/test/unit/org/apache/cassandra/config/LegacySchemaTablesTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/config/LegacySchemaTablesTest.java b/test/unit/org/apache/cassandra/config/LegacySchemaTablesTest.java
index 3642e7a..f630c88 100644
--- a/test/unit/org/apache/cassandra/config/LegacySchemaTablesTest.java
+++ b/test/unit/org/apache/cassandra/config/LegacySchemaTablesTest.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
@@ -19,18 +19,23 @@
package org.apache.cassandra.config;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.HashMap;
import java.util.HashSet;
+import com.google.common.collect.Iterables;
+
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.marshal.AsciiType;
+import org.apache.cassandra.db.marshal.BytesType;
import org.apache.cassandra.db.marshal.UTF8Type;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.compress.*;
import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.schema.LegacySchemaTables;
+import org.apache.cassandra.service.MigrationManager;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.thrift.CfDef;
import org.apache.cassandra.thrift.ColumnDef;
@@ -43,11 +48,16 @@ import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
public class LegacySchemaTablesTest
{
private static final String KEYSPACE1 = "CFMetaDataTest1";
private static final String CF_STANDARD1 = "Standard1";
+ private static final String CF_STANDARD2 = "Standard2";
private static List<ColumnDef> columnDefs = new ArrayList<ColumnDef>();
@@ -73,6 +83,54 @@ public class LegacySchemaTablesTest
}
@Test
+ public void testIsDenseRecalculation()
+ {
+ // 1.a start with a dense CF
+ CfDef cfDef0 = new CfDef().setDefault_validation_class(BytesType.class.getCanonicalName())
+ .setComparator_type(UTF8Type.class.getCanonicalName())
+ .setColumn_metadata(Collections.<ColumnDef>emptyList())
+ .setKeyspace(KEYSPACE1)
+ .setName(CF_STANDARD2);
+ CFMetaData cfm0 = ThriftConversion.fromThrift(cfDef0);
+ MigrationManager.announceNewColumnFamily(cfm0, true);
+
+ // 1.b validate that the cf is dense, has a single compact value and a clustering column, and no regulars
+ CFMetaData current = Schema.instance.getCFMetaData(KEYSPACE1, CF_STANDARD2);
+ assertTrue(current.getIsDense());
+ assertNotNull(current.compactValueColumn());
+ assertEquals(0, Iterables.size(current.regularAndStaticColumns()));
+ assertEquals(1, current.clusteringColumns().size());
+
+ // 2.a add a column to the table
+ CfDef cfDef1 = ThriftConversion.toThrift(current);
+ List<ColumnDef> colDefs =
+ Collections.singletonList(new ColumnDef(ByteBufferUtil.bytes("col1"), AsciiType.class.getCanonicalName()));
+ cfDef1.setColumn_metadata(colDefs);
+ CFMetaData cfm1 = ThriftConversion.fromThriftForUpdate(cfDef1, current);
+ MigrationManager.announceColumnFamilyUpdate(cfm1, true);
+
+ // 2.b validate that the cf is sparse now, had no compact value column or clustering column, and 1 regular
+ current = Schema.instance.getCFMetaData(KEYSPACE1, CF_STANDARD2);
+ assertFalse(current.getIsDense());
+ assertNull(current.compactValueColumn());
+ assertEquals(1, Iterables.size(current.regularAndStaticColumns()));
+ assertEquals(0, current.clusteringColumns().size());
+
+ // 3.a remove the column
+ CfDef cfDef2 = ThriftConversion.toThrift(current);
+ cfDef2.setColumn_metadata(Collections.<ColumnDef>emptyList());
+ CFMetaData cfm2 = ThriftConversion.fromThriftForUpdate(cfDef2, current);
+ MigrationManager.announceColumnFamilyUpdate(cfm2, true);
+
+ // 3.b validate that the cf is dense, has a single compact value and a clustering column, and no regulars
+ current = Schema.instance.getCFMetaData(KEYSPACE1, CF_STANDARD2);
+ assertTrue(current.getIsDense());
+ assertNotNull(current.compactValueColumn());
+ assertEquals(0, Iterables.size(current.regularAndStaticColumns()));
+ assertEquals(1, current.clusteringColumns().size());
+ }
+
+ @Test
public void testThriftConversion() throws Exception
{
CfDef cfDef = new CfDef().setDefault_validation_class(AsciiType.class.getCanonicalName())
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/test/unit/org/apache/cassandra/schema/DefsTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/schema/DefsTest.java b/test/unit/org/apache/cassandra/schema/DefsTest.java
index 302878a..ecf6709 100644
--- a/test/unit/org/apache/cassandra/schema/DefsTest.java
+++ b/test/unit/org/apache/cassandra/schema/DefsTest.java
@@ -462,22 +462,22 @@ public class DefsTest
// test valid operations.
newCfm.comment("Modified comment");
- MigrationManager.announceColumnFamilyUpdate(newCfm, false); // doesn't get set back here.
+ MigrationManager.announceColumnFamilyUpdate(newCfm); // doesn't get set back here.
newCfm.readRepairChance(0.23);
- MigrationManager.announceColumnFamilyUpdate(newCfm, false);
+ MigrationManager.announceColumnFamilyUpdate(newCfm);
newCfm.gcGraceSeconds(12);
- MigrationManager.announceColumnFamilyUpdate(newCfm, false);
+ MigrationManager.announceColumnFamilyUpdate(newCfm);
newCfm.defaultValidator(UTF8Type.instance);
- MigrationManager.announceColumnFamilyUpdate(newCfm, false);
+ MigrationManager.announceColumnFamilyUpdate(newCfm);
newCfm.minCompactionThreshold(3);
- MigrationManager.announceColumnFamilyUpdate(newCfm, false);
+ MigrationManager.announceColumnFamilyUpdate(newCfm);
newCfm.maxCompactionThreshold(33);
- MigrationManager.announceColumnFamilyUpdate(newCfm, false);
+ MigrationManager.announceColumnFamilyUpdate(newCfm);
// can't test changing the reconciler because there is only one impl.
@@ -559,7 +559,7 @@ public class DefsTest
ColumnDefinition cdOld = meta.regularColumns().iterator().next();
ColumnDefinition cdNew = ColumnDefinition.regularDef(meta, cdOld.name.bytes, cdOld.type, null);
meta.addOrReplaceColumnDefinition(cdNew);
- MigrationManager.announceColumnFamilyUpdate(meta, false);
+ MigrationManager.announceColumnFamilyUpdate(meta);
// check
Assert.assertTrue(cfs.indexManager.getIndexes().isEmpty());
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5c40278/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java b/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java
index 577e7d3..58f743e 100644
--- a/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java
+++ b/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java
@@ -103,7 +103,7 @@ public class TriggersSchemaTest
CFMetaData cfm2 = Schema.instance.getCFMetaData(ksName, cfName).copy();
TriggerDefinition td = TriggerDefinition.create(triggerName, triggerClass);
cfm2.addTriggerDefinition(td);
- MigrationManager.announceColumnFamilyUpdate(cfm2, false);
+ MigrationManager.announceColumnFamilyUpdate(cfm2);
CFMetaData cfm3 = Schema.instance.getCFMetaData(ksName, cfName);
assertFalse(cfm3.getTriggers().isEmpty());
@@ -126,7 +126,7 @@ public class TriggersSchemaTest
CFMetaData cfm2 = Schema.instance.getCFMetaData(ksName, cfName).copy();
cfm2.removeTrigger(triggerName);
- MigrationManager.announceColumnFamilyUpdate(cfm2, false);
+ MigrationManager.announceColumnFamilyUpdate(cfm2);
CFMetaData cfm3 = Schema.instance.getCFMetaData(ksName, cfName).copy();
assertTrue(cfm3.getTriggers().isEmpty());