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 2011/02/03 19:28:07 UTC
svn commit: r1066905 - in
/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra:
db/HintedHandOffManager.java db/migration/Migration.java gms/Gossiper.java
Author: brandonwilliams
Date: Thu Feb 3 18:28:07 2011
New Revision: 1066905
URL: http://svn.apache.org/viewvc?rev=1066905&view=rev
Log:
Revert "Check for schema agreement before delivering hints, add random sleep to"
Will try again later.
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/HintedHandOffManager.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/gms/Gossiper.java
Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/HintedHandOffManager.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/HintedHandOffManager.java?rev=1066905&r1=1066904&r2=1066905&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/HintedHandOffManager.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/HintedHandOffManager.java Thu Feb 3 18:28:07 2011
@@ -28,8 +28,6 @@ import java.util.concurrent.ExecutorServ
import java.util.concurrent.TimeoutException;
import static com.google.common.base.Charsets.UTF_8;
-
-import org.apache.cassandra.utils.FBUtilities;
import org.apache.commons.lang.ArrayUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -44,7 +42,6 @@ import org.apache.cassandra.dht.IPartiti
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.gms.FailureDetector;
import org.apache.cassandra.gms.Gossiper;
-import org.apache.cassandra.gms.ApplicationState;
import org.apache.cassandra.net.Message;
import org.apache.cassandra.net.MessagingService;
import org.apache.cassandra.service.*;
@@ -236,33 +233,10 @@ public class HintedHandOffManager implem
ByteBufferUtil.string(joined, index + 1, joined.limit() - (index + 1))
};
}
-
- private int waitForSchemaAgreement(InetAddress endpoint) throws InterruptedException
- {
- Gossiper gossiper = Gossiper.instance;
- int waited = 0;
- while (!gossiper.getEndpointStateForEndpoint(endpoint).getApplicationState(ApplicationState.SCHEMA).value.equals(
- gossiper.getEndpointStateForEndpoint(FBUtilities.getLocalAddress()).getApplicationState(ApplicationState.SCHEMA).value))
- {
- Thread.sleep(1000);
- waited += 1000;
- if (waited > 2 * StorageService.RING_DELAY)
- throw new RuntimeException("Could not reach schema agreement with " + endpoint + " in " + 2 * StorageService.RING_DELAY + "ms");
- }
- logger_.debug("schema for {} matches local schema", endpoint);
- return waited;
- }
- private void deliverHintsToEndpoint(InetAddress endpoint) throws IOException, DigestMismatchException, InvalidRequestException, TimeoutException, InterruptedException
+ private void deliverHintsToEndpoint(InetAddress endpoint) throws IOException, DigestMismatchException, InvalidRequestException, TimeoutException
{
- logger_.info("Checking remote schema before delivering hints to " + endpoint);
- int waited = waitForSchemaAgreement(endpoint);
logger_.info("Started hinted handoff for endpoint " + endpoint);
- // sleep a random amount to stagger handoff delivery from different replicas.
- // (if we had to wait, then gossiper randomness took care of that for us already.)
- if (waited == 0)
- Thread.sleep(new Random().nextInt(60000));
-
queuedDeliveries.remove(endpoint);
// 1. Get the key of the endpoint we need to handoff
Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java?rev=1066905&r1=1066904&r2=1066905&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java Thu Feb 3 18:28:07 2011
@@ -38,7 +38,6 @@ import org.apache.cassandra.db.*;
import org.apache.cassandra.db.filter.QueryFilter;
import org.apache.cassandra.db.filter.QueryPath;
import org.apache.cassandra.gms.Gossiper;
-import org.apache.cassandra.gms.ApplicationState;
import org.apache.cassandra.io.SerDeUtils;
import org.apache.cassandra.io.util.DataOutputBuffer;
import org.apache.cassandra.service.MigrationManager;
@@ -135,7 +134,6 @@ public abstract class Migration
migration = new RowMutation(Table.SYSTEM_TABLE, LAST_MIGRATION_KEY);
migration.add(new QueryPath(SCHEMA_CF, null, LAST_MIGRATION_KEY), ByteBuffer.wrap(UUIDGen.decompose(newVersion)), now);
migration.apply();
- Gossiper.instance.addLocalApplicationState(ApplicationState.SCHEMA, StorageService.instance.valueFactory.migration(newVersion));
// if we fail here, there will be schema changes in the CL that will get replayed *AFTER* the schema is loaded.
// CassandraDaemon checks for this condition (the stored version will be greater than the loaded version)
Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/gms/Gossiper.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1066905&r1=1066904&r2=1066905&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/gms/Gossiper.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/gms/Gossiper.java Thu Feb 3 18:28:07 2011
@@ -874,8 +874,6 @@ public class Gossiper implements IFailur
localState = new EndpointState(hbState);
localState.isAlive(true);
localState.isAGossiper(true);
- if (!StorageService.instance.isClientMode())
- localState.addApplicationState(ApplicationState.SCHEMA, StorageService.instance.valueFactory.migration(DatabaseDescriptor.getDefsVersion()));
endpointStateMap_.put(localEndpoint_, localState);
}