You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2012/12/08 00:34:05 UTC

[9/11] git commit: Merge branch 'cassandra-1.1' into cassandra-1.2.0

Merge branch 'cassandra-1.1' into cassandra-1.2.0

Conflicts:
	src/java/org/apache/cassandra/service/MigrationManager.java
	src/java/org/apache/cassandra/service/StorageService.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/904caea6
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/904caea6
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/904caea6

Branch: refs/heads/cassandra-1.2
Commit: 904caea6ff08074684a9c35195bcf145fcf97d08
Parents: 44545d3 ec7a5f1
Author: Brandon Williams <br...@apache.org>
Authored: Fri Dec 7 17:25:54 2012 -0600
Committer: Brandon Williams <br...@apache.org>
Committed: Fri Dec 7 17:25:54 2012 -0600

----------------------------------------------------------------------
 .../apache/cassandra/service/MigrationManager.java |   13 ++++++++++---
 .../apache/cassandra/service/StorageService.java   |    6 ++----
 2 files changed, 12 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/904caea6/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/MigrationManager.java
index cbe9127,9a82517..028ec8b
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@@ -23,11 -25,17 +23,14 @@@ import java.io.IOException
  import java.net.InetAddress;
  import java.nio.ByteBuffer;
  import java.util.*;
 -import java.util.concurrent.Callable;
 +import java.util.concurrent.CopyOnWriteArrayList;
  import java.util.concurrent.ExecutionException;
  import java.util.concurrent.Future;
 -import java.util.ArrayList;
 -import java.util.Collection;
 -import java.util.UUID;
  import java.util.concurrent.TimeUnit;
  
+ import java.lang.management.ManagementFactory;
+ import java.lang.management.RuntimeMXBean;
+ 
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
@@@ -54,24 -64,14 +57,28 @@@ public class MigrationManager implement
  {
      private static final Logger logger = LoggerFactory.getLogger(MigrationManager.class);
  
 -    // try that many times to send migration request to the node before giving up
 -    private static final int MIGRATION_REQUEST_RETRIES = 3;
      private static final ByteBuffer LAST_MIGRATION_KEY = ByteBufferUtil.bytes("Last Migration");
  
 +    public static final MigrationManager instance = new MigrationManager();
 +
+     private static final RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
+ 
+     public static final int MIGRATION_DELAY_IN_MS = 60000;
+ 
 +    private final List<IMigrationListener> listeners = new CopyOnWriteArrayList<IMigrationListener>();
 +
 +    private MigrationManager() {}
 +
 +    public void register(IMigrationListener listener)
 +    {
 +        listeners.add(listener);
 +    }
 +
 +    public void unregister(IMigrationListener listener)
 +    {
 +        listeners.remove(listener);
 +    }
 +
      public void onJoin(InetAddress endpoint, EndpointState epState)
      {}
  

http://git-wip-us.apache.org/repos/asf/cassandra/blob/904caea6/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/StorageService.java
index 276136a,a948786..e5550f9
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@@ -522,17 -544,13 +522,16 @@@ public class StorageService implements 
          Gossiper.instance.register(this);
          Gossiper.instance.register(migrationManager);
          Gossiper.instance.start(SystemTable.incrementAndGetGeneration()); // needed for node-ring gathering.
 -
 -        // gossip Schema.emptyVersion forcing immediate check for schema updates (see MigrationManager#maybeScheduleSchemaPull)
 +        // gossip network proto version
 +        Gossiper.instance.addLocalApplicationState(ApplicationState.NET_VERSION, valueFactory.networkVersion());
 +        Gossiper.instance.addLocalApplicationState(ApplicationState.HOST_ID, valueFactory.hostId(SystemTable.getLocalHostId()));
 +        // gossip snitch infos (local DC and rack)
 +        gossipSnitchInfo();
-         // gossip Schema.emptyVersion forcing immediate check for schema updates (see MigrationManager#maybeScheduleSchemaPull)
-         Schema.instance.updateVersion(); // Ensure we know our own actual Schema UUID in preparation for updates
-         MigrationManager.passiveAnnounce(Schema.emptyVersion);
+         Schema.instance.updateVersionAndAnnounce(); // Ensure we know our own actual Schema UUID in preparation for updates
+ 
          // add rpc listening info
          Gossiper.instance.addLocalApplicationState(ApplicationState.RPC_ADDRESS, valueFactory.rpcaddress(DatabaseDescriptor.getRpcAddress()));
 -        if (null != DatabaseDescriptor.getReplaceToken())
 +        if (0 != DatabaseDescriptor.getReplaceTokens().size())
              Gossiper.instance.addLocalApplicationState(ApplicationState.STATUS, valueFactory.hibernate(true));
  
          MessagingService.instance().listen(FBUtilities.getLocalAddress());