Class MigrationCoordinator


  • public class MigrationCoordinator
    extends java.lang.Object
    • Constructor Detail

      • MigrationCoordinator

        public MigrationCoordinator()
    • Method Detail

      • setUptimeFn

        public static void setUptimeFn​(java.util.function.LongSupplier supplier)
      • start

        public void start()
      • reset

        public void reset()
      • outstandingVersions

        public java.util.Map<java.util.UUID,​java.util.Set<InetAddressAndPort>> outstandingVersions()
      • getVersionInfoUnsafe

        protected org.apache.cassandra.schema.MigrationCoordinator.VersionInfo getVersionInfoUnsafe​(java.util.UUID version)
      • getMaxOutstandingVersionRequests

        protected int getMaxOutstandingVersionRequests()
      • shouldPullSchema

        protected boolean shouldPullSchema​(java.util.UUID version)
      • shouldPullFromEndpoint

        protected boolean shouldPullFromEndpoint​(InetAddressAndPort endpoint)
      • shouldPullImmediately

        protected boolean shouldPullImmediately​(InetAddressAndPort endpoint,
                                                java.util.UUID version)
      • isLocalVersion

        protected boolean isLocalVersion​(java.util.UUID version)
      • reportEndpointVersion

        public java.util.concurrent.Future<java.lang.Void> reportEndpointVersion​(InetAddressAndPort endpoint,
                                                                                 java.util.UUID version)
      • removeAndIgnoreEndpoint

        public void removeAndIgnoreEndpoint​(InetAddressAndPort endpoint)
      • sendMigrationMessage

        protected void sendMigrationMessage​(org.apache.cassandra.schema.MigrationCoordinator.Callback callback)
      • getInflightTasks

        public int getInflightTasks()
      • awaitSchemaRequests

        public boolean awaitSchemaRequests​(long waitMillis)
        Wait until we've received schema responses for all versions we're aware of
        Parameters:
        waitMillis -
        Returns:
        true if response for all schemas were received, false if we timed out waiting