[prev in list] [next in list] [prev in thread] [next in thread]
List: cassandra-commits
Subject: svn commit: r904698 - in
From: jbellis () apache ! org
Date: 2010-01-30 0:50:53
Message-ID: 20100130005053.1CF1D23888BD () eris ! apache ! org
[Download RAW message or body]
Author: jbellis
Date: Sat Jan 30 00:50:52 2010
New Revision: 904698
URL: http://svn.apache.org/viewvc?rev=904698&view=rev
Log:
imrove Streaming commenting. patch by jbellis
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/BootStrapper.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/io/Streaming.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/BootStrapper.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/BootStrapper.java?rev=904698&r1=904697&r2=904698&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/BootStrapper.java \
(original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/BootStrapper.java Sat \
Jan 30 00:50:52 2010 @@ -43,15 +43,6 @@
import com.google.common.collect.ArrayListMultimap;
- /**
- * This class handles the bootstrapping responsibilities for the local endpoint.
- *
- * - bootstrapTokenVerb asks the most-loaded node what Token to use to split its \
Range in two.
- * - streamRequestVerb tells source nodes to send us the necessary Ranges
- * - source nodes send streamInitiateVerb to us to say "get ready to receive data" \
[if there is data to send]
- * - when we have everything set up to receive the data, we send \
streamInitiateDoneVerb back to the source nodes and they start \
streaming
- * - when streaming is complete, we send streamFinishedVerb to the source so it \
can clean up on its end
- */
public class BootStrapper
{
private static final Logger logger = Logger.getLogger(BootStrapper.class);
@@ -89,8 +80,6 @@
InetAddress source = entry.getKey();
for (String table : DatabaseDescriptor.getNonSystemTables())
StorageService.instance.addBootstrapSource(source, table);
- if (logger.isDebugEnabled())
- logger.debug("Requesting from " + source + " ranges " + \
StringUtils.join(entry.getValue(), ", ")); Streaming.requestRanges(source, \
entry.getValue()); }
}
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/io/Streaming.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/io/Streaming.java?rev=904698&r1=904697&r2=904698&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/io/Streaming.java \
(original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/io/Streaming.java Sat Jan \
30 00:50:52 2010 @@ -48,6 +48,19 @@
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.FBUtilities;
+/**
+ * This class handles streaming data from one node to another.
+ *
+ * For bootstrap,
+ * 1. BOOTSTRAP_TOKEN asks the most-loaded node what Token to use to split its \
Range in two. + * 2. STREAM_REQUEST tells source nodes to send us the necessary \
Ranges + * 3. source nodes send STREAM_INITIATE to us to say "get ready to receive \
data" [if there is data to send] + * 4. when we have everything set up to receive \
the data, we send STREAM_INITIATE_DONE back to the source nodes and they start \
streaming + * 5. when streaming is complete, we send STREAM_FINISHED to the source \
so it can clean up on its end + *
+ * For unbootstrap, the leaving node starts with step 3 (1 and 2 are skipped \
entirely). This is why + * STREAM_INITIATE is a separate verb, rather than just a \
reply to STREAM_REQUEST; the REQUEST is optional. + */
public class Streaming
{
private static Logger logger = Logger.getLogger(Streaming.class);
@@ -147,6 +160,8 @@
*/
public static void requestRanges(InetAddress source, Collection<Range> ranges)
{
+ if (logger.isDebugEnabled())
+ logger.debug("Requesting from " + source + " ranges " + \
StringUtils.join(ranges, ", "));
StreamRequestMetadata streamRequestMetadata = new \
StreamRequestMetadata(FBUtilities.getLocalAddress(), ranges);
Message message = StreamRequestMessage.makeStreamRequestMessage(new \
StreamRequestMessage(streamRequestMetadata)); \
MessagingService.instance.sendOneWay(message, source); @@ -216,7 +231,7 @@
public String getNewFileNameFromOldContextAndNames(Map<String, String> \
fileNames,
Map<String, String> \
pathNames,
- StreamContextManager.StreamContext streamContext)
+ \
StreamContextManager.StreamContext streamContext) {
File sourceFile = new File( streamContext.getTargetFile() );
String[] piece = FBUtilities.strip(sourceFile.getName(), "-");
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=904698&r1=904697&r2=904698&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java \
(original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java \
Sat Jan 30 00:50:52 2010 @@ -707,14 +707,9 @@
}
}
- // Finally we have a list of addresses and ranges to
- // stream. Proceed to stream
+ // Finally we have a list of addresses and ranges to stream. Proceed to \
stream
for (Map.Entry<InetAddress, Collection<Range>> entry : \
sourceRanges.asMap().entrySet())
- {
- if (logger_.isDebugEnabled())
- logger_.debug("Requesting from " + entry.getKey() + " ranges " + \
StringUtils.join(entry.getValue(), ", "));
Streaming.requestRanges(entry.getKey(), entry.getValue());
- }
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic