Search in sources :

Example 1 with KeyspaceDiff

use of org.apache.cassandra.schema.KeyspaceMetadata.KeyspaceDiff in project cassandra by apache.

the class DropIndexStatement method schemaChangeEvent.

SchemaChange schemaChangeEvent(KeyspacesDiff diff) {
    assert diff.altered.size() == 1;
    KeyspaceDiff ksDiff = diff.altered.get(0);
    assert ksDiff.tables.altered.size() == 1;
    Diff.Altered<TableMetadata> tableDiff = ksDiff.tables.altered.iterator().next();
    return new SchemaChange(Change.UPDATED, Target.TABLE, keyspaceName, tableDiff.after.name);
}
Also used : KeyspaceDiff(org.apache.cassandra.schema.KeyspaceMetadata.KeyspaceDiff) KeyspaceDiff(org.apache.cassandra.schema.KeyspaceMetadata.KeyspaceDiff) KeyspacesDiff(org.apache.cassandra.schema.Keyspaces.KeyspacesDiff) SchemaChange(org.apache.cassandra.transport.Event.SchemaChange)

Example 2 with KeyspaceDiff

use of org.apache.cassandra.schema.KeyspaceMetadata.KeyspaceDiff in project cassandra by apache.

the class AlterKeyspaceStatement method clientWarnings.

@Override
Set<String> clientWarnings(KeyspacesDiff diff) {
    if (diff.isEmpty())
        return clientWarnings;
    KeyspaceDiff keyspaceDiff = diff.altered.get(0);
    AbstractReplicationStrategy before = keyspaceDiff.before.createReplicationStrategy();
    AbstractReplicationStrategy after = keyspaceDiff.after.createReplicationStrategy();
    if (before.getReplicationFactor().fullReplicas < after.getReplicationFactor().fullReplicas)
        clientWarnings.add("When increasing replication factor you need to run a full (-full) repair to distribute the data.");
    return clientWarnings;
}
Also used : KeyspaceDiff(org.apache.cassandra.schema.KeyspaceMetadata.KeyspaceDiff) AbstractReplicationStrategy(org.apache.cassandra.locator.AbstractReplicationStrategy)

Aggregations

KeyspaceDiff (org.apache.cassandra.schema.KeyspaceMetadata.KeyspaceDiff)2 AbstractReplicationStrategy (org.apache.cassandra.locator.AbstractReplicationStrategy)1 KeyspacesDiff (org.apache.cassandra.schema.Keyspaces.KeyspacesDiff)1 SchemaChange (org.apache.cassandra.transport.Event.SchemaChange)1