org.apache.cassandra.service

## Class MigrationManager

- java.lang.Object
- - org.apache.cassandra.service.MigrationManager

    public class MigrationManager
    extends java.lang.Object

### Nested Class Summary

Nested Classes
`static class` `MigrationManager.MigrationsSerializer`

### Field Summary

Fields
`static MigrationManager` `instance`
`static int` `MIGRATION_DELAY_IN_MS`

### Method Summary

Methods
`static void` `announceColumnFamilyDrop(java.lang.String ksName, java.lang.String cfName)`
`static void` `announceColumnFamilyDrop(java.lang.String ksName, java.lang.String cfName, boolean announceLocally)`
`static void` `announceColumnFamilyUpdate(CFMetaData cfm, boolean fromThrift)`
`static void` `announceColumnFamilyUpdate(CFMetaData cfm, boolean fromThrift, boolean announceLocally)`
`static void` `announceKeyspaceDrop(java.lang.String ksName)`
`static void` `announceKeyspaceDrop(java.lang.String ksName, boolean announceLocally)`
`static void` `announceKeyspaceUpdate(KSMetaData ksm)`
`static void` `announceKeyspaceUpdate(KSMetaData ksm, boolean announceLocally)`
`static void` `announceNewColumnFamily(CFMetaData cfm)`
`static void` `announceNewColumnFamily(CFMetaData cfm, boolean announceLocally)`
`static void` `announceNewKeyspace(KSMetaData ksm)`
`static void` `announceNewKeyspace(KSMetaData ksm, boolean announceLocally)`
`static void` `announceNewKeyspace(KSMetaData ksm, long timestamp, boolean announceLocally)`
`static void` `announceNewType(UserType newType)`
`static void` `announceNewType(UserType newType, boolean announceLocally)`
`static void` `announceTypeDrop(UserType droppedType)`
`static void` `announceTypeDrop(UserType droppedType, boolean announceLocally)`
`static void` `announceTypeUpdate(UserType updatedType)`
`static void` `announceTypeUpdate(UserType updatedType, boolean announceLocally)`
`static boolean` `isReadyForBootstrap()`
`void` `notifyCreateColumnFamily(CFMetaData cfm)`
`void` `notifyCreateKeyspace(KSMetaData ksm)`
`void` `notifyCreateUserType(UserType ut)`
`void` `notifyDropColumnFamily(CFMetaData cfm)`
`void` `notifyDropKeyspace(KSMetaData ksm)`
`void` `notifyDropUserType(UserType ut)`
`void` `notifyUpdateColumnFamily(CFMetaData cfm)`
`void` `notifyUpdateKeyspace(KSMetaData ksm)`
`void` `notifyUpdateUserType(UserType ut)`
`static void` `passiveAnnounce(java.util.UUID version)` Announce my version passively over gossip.
`void` `register(IMigrationListener listener)`
`static void` `resetLocalSchema()` Clear all locally stored schema information and reset schema to initial state.
`void` `scheduleSchemaPull(java.net.InetAddress endpoint, EndpointState state)`
`void` `unregister(IMigrationListener listener)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### instance

    public static final MigrationManager instance

#### MIGRATION_DELAY_IN_MS

    public static final int MIGRATION_DELAY_IN_MS

See Also:
  Constant Field Values

### Method Detail

#### register

    public void register(IMigrationListener listener)

#### unregister

    public void unregister(IMigrationListener listener)

#### scheduleSchemaPull

    public void scheduleSchemaPull(java.net.InetAddress endpoint,
                          EndpointState state)

#### isReadyForBootstrap

    public static boolean isReadyForBootstrap()

#### notifyCreateKeyspace

    public void notifyCreateKeyspace(KSMetaData ksm)

#### notifyCreateColumnFamily

    public void notifyCreateColumnFamily(CFMetaData cfm)

#### notifyCreateUserType

    public void notifyCreateUserType(UserType ut)

#### notifyUpdateKeyspace

    public void notifyUpdateKeyspace(KSMetaData ksm)

#### notifyUpdateColumnFamily

    public void notifyUpdateColumnFamily(CFMetaData cfm)

#### notifyUpdateUserType

    public void notifyUpdateUserType(UserType ut)

#### notifyDropKeyspace

    public void notifyDropKeyspace(KSMetaData ksm)

#### notifyDropColumnFamily

    public void notifyDropColumnFamily(CFMetaData cfm)

#### notifyDropUserType

    public void notifyDropUserType(UserType ut)

#### announceNewKeyspace

    public static void announceNewKeyspace(KSMetaData ksm)
                                    throws ConfigurationException

Throws:
  `ConfigurationException`

#### announceNewKeyspace

    public static void announceNewKeyspace(KSMetaData ksm,
                           boolean announceLocally)
                                    throws ConfigurationException

Throws:
  `ConfigurationException`

#### announceNewKeyspace

    public static void announceNewKeyspace(KSMetaData ksm,
                           long timestamp,
                           boolean announceLocally)
                                    throws ConfigurationException

Throws:
  `ConfigurationException`

#### announceNewColumnFamily

    public static void announceNewColumnFamily(CFMetaData cfm)
                                        throws ConfigurationException

Throws:
  `ConfigurationException`

#### announceNewColumnFamily

    public static void announceNewColumnFamily(CFMetaData cfm,
                               boolean announceLocally)
                                        throws ConfigurationException

Throws:
  `ConfigurationException`

#### announceNewType

    public static void announceNewType(UserType newType)

#### announceNewType

    public static void announceNewType(UserType newType,
                       boolean announceLocally)

#### announceKeyspaceUpdate

    public static void announceKeyspaceUpdate(KSMetaData ksm)
                                       throws ConfigurationException

Throws:
  `ConfigurationException`

#### announceKeyspaceUpdate

    public static void announceKeyspaceUpdate(KSMetaData ksm,
                              boolean announceLocally)
                                       throws ConfigurationException

Throws:
  `ConfigurationException`

#### announceColumnFamilyUpdate

    public static void announceColumnFamilyUpdate(CFMetaData cfm,
                                  boolean fromThrift)
                                           throws ConfigurationException

Throws:
  `ConfigurationException`

#### announceColumnFamilyUpdate

    public static void announceColumnFamilyUpdate(CFMetaData cfm,
                                  boolean fromThrift,
                                  boolean announceLocally)
                                           throws ConfigurationException

Throws:
  `ConfigurationException`

#### announceTypeUpdate

    public static void announceTypeUpdate(UserType updatedType)

#### announceTypeUpdate

    public static void announceTypeUpdate(UserType updatedType,
                          boolean announceLocally)

#### announceKeyspaceDrop

    public static void announceKeyspaceDrop(java.lang.String ksName)
                                     throws ConfigurationException

Throws:
  `ConfigurationException`

#### announceKeyspaceDrop

    public static void announceKeyspaceDrop(java.lang.String ksName,
                            boolean announceLocally)
                                     throws ConfigurationException

Throws:
  `ConfigurationException`

#### announceColumnFamilyDrop

    public static void announceColumnFamilyDrop(java.lang.String ksName,
                                java.lang.String cfName)
                                         throws ConfigurationException

Throws:
  `ConfigurationException`

#### announceColumnFamilyDrop

    public static void announceColumnFamilyDrop(java.lang.String ksName,
                                java.lang.String cfName,
                                boolean announceLocally)
                                         throws ConfigurationException

Throws:
  `ConfigurationException`

#### announceTypeDrop

    public static void announceTypeDrop(UserType droppedType)

#### announceTypeDrop

    public static void announceTypeDrop(UserType droppedType,
                        boolean announceLocally)

#### passiveAnnounce

    public static void passiveAnnounce(java.util.UUID version)

Announce my version passively over gossip. Used to notify nodes as they arrive in the cluster.

Parameters:
  `version` - The schema version to announce

#### resetLocalSchema

    public static void resetLocalSchema()
                                 throws java.io.IOException

Clear all locally stored schema information and reset schema to initial state. Called by user (via JMX) who wants to get rid of schema disagreement.

Throws:
  `java.io.IOException` - if schema tables truncation fails