You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2012/10/05 19:05:10 UTC
git commit: Save tokens as string in local and peers system table
Updated Branches:
refs/heads/trunk 1b56ad122 -> c2a8f1288
Save tokens as string in local and peers system table
patch by slebresne; reviewed by jbellis for CASSANDRA-4351
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c2a8f128
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c2a8f128
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c2a8f128
Branch: refs/heads/trunk
Commit: c2a8f1288f8985cdec374c88a063ac84cec60181
Parents: 1b56ad1
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Fri Oct 5 19:03:26 2012 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Fri Oct 5 19:03:26 2012 +0200
----------------------------------------------------------------------
.../org/apache/cassandra/config/CFMetaData.java | 4 ++--
src/java/org/apache/cassandra/db/SystemTable.java | 15 ++++++++-------
2 files changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c2a8f128/src/java/org/apache/cassandra/config/CFMetaData.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java
index ef25d2a..176d63a 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -160,7 +160,7 @@ public final class CFMetaData
public static final CFMetaData PeersCf = compile(12, "CREATE TABLE " + SystemTable.PEERS_CF + " ("
+ "peer inet PRIMARY KEY,"
+ "ring_id uuid,"
- + "tokens set<blob>,"
+ + "tokens set<varchar>,"
+ "schema_version uuid,"
+ "release_version text,"
+ "rpc_address inet,"
@@ -170,7 +170,7 @@ public final class CFMetaData
public static final CFMetaData LocalCf = compile(13, "CREATE TABLE " + SystemTable.LOCAL_CF + " ("
+ "key text PRIMARY KEY,"
- + "tokens set<blob>,"
+ + "tokens set<varchar>,"
+ "cluster_name text,"
+ "gossip_generation int,"
+ "bootstrapped text,"
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c2a8f128/src/java/org/apache/cassandra/db/SystemTable.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/SystemTable.java b/src/java/org/apache/cassandra/db/SystemTable.java
index ff7d81a..2883e0b 100644
--- a/src/java/org/apache/cassandra/db/SystemTable.java
+++ b/src/java/org/apache/cassandra/db/SystemTable.java
@@ -41,6 +41,7 @@ import org.apache.cassandra.db.filter.QueryFilter;
import org.apache.cassandra.db.filter.QueryPath;
import org.apache.cassandra.db.marshal.AsciiType;
import org.apache.cassandra.db.marshal.BytesType;
+import org.apache.cassandra.db.marshal.UTF8Type;
import org.apache.cassandra.dht.IPartitioner;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
@@ -208,7 +209,7 @@ public class SystemTable
Iterator<Token> iter = tokens.iterator();
while (iter.hasNext())
{
- sb.append("'").append(ByteBufferUtil.bytesToHex(factory.toByteArray(iter.next()))).append("'");
+ sb.append("'").append(factory.toString(iter.next())).append("'");
if (iter.hasNext())
sb.append(",");
}
@@ -216,12 +217,12 @@ public class SystemTable
return sb.toString();
}
- private static Collection<Token> deserializeTokens(Collection<ByteBuffer> tokensBytes)
+ private static Collection<Token> deserializeTokens(Collection<String> tokensStrings)
{
Token.TokenFactory factory = StorageService.getPartitioner().getTokenFactory();
- List<Token> tokens = new ArrayList<Token>(tokensBytes.size());
- for (ByteBuffer tk : tokensBytes)
- tokens.add(factory.fromByteArray(tk));
+ List<Token> tokens = new ArrayList<Token>(tokensStrings.size());
+ for (String tk : tokensStrings)
+ tokens.add(factory.fromString(tk));
return tokens;
}
@@ -296,7 +297,7 @@ public class SystemTable
{
InetAddress peer = row.getInetAddress("peer");
if (row.has("tokens"))
- tokenMap.putAll(peer, deserializeTokens(row.getSet("tokens", BytesType.instance)));
+ tokenMap.putAll(peer, deserializeTokens(row.getSet("tokens", UTF8Type.instance)));
}
return tokenMap;
@@ -351,7 +352,7 @@ public class SystemTable
UntypedResultSet result = processInternal(String.format(req, LOCAL_CF, LOCAL_KEY));
return result.isEmpty() || !result.one().has("tokens")
? Collections.<Token>emptyList()
- : deserializeTokens(result.one().<ByteBuffer>getSet("tokens", BytesType.instance));
+ : deserializeTokens(result.one().<String>getSet("tokens", UTF8Type.instance));
}
public static int incrementAndGetGeneration()