cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CASSANDRA-825) Create an additional system keyspace to store KS definitions and migration data.
Date Thu, 04 Mar 2010 02:59:27 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-825?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12841026#action_12841026
] 

Jonathan Ellis commented on CASSANDRA-825:
------------------------------------------

- Can you use less words in parameter / field names, but spell them out?

repStratClass -> strategyClass
epSnitch -> snitch
etc.

(for local variable names KSMetaData ksm etc. is fine)

- Can you add a FBUtilities convenience for this?
UUIDGen.makeType1UUID(UUIDGen.fromHost(FBUtilities.getLocalAddress()))

- This probably isn't a good mac address replacment -- since it's iterating most-significant-first,
the chance of collision w/in a cluster is basically guaranteed.  Which probably isn't the
end of the world here but it's not too much more work to run getAddress through md5 first.
+        for (int i = 0; i < enet.length && i < addr.length; i++)
+            enet[i] = addr[i];

- this is clunky and possibly error-prone (since if we are "jumping" the counter higher when
we load a new id? then we might have been generating "new" ids that collided with yet-to-be-read
ones)
+        synchronized (idGen)
+        {
+            if (idGen.get() <= cfId)
+                idGen.set(cfId + 1);
+        }

Can we just initialize the counter to the max value at initialization time?

- for patch 5, why do we need historical names?  we don't need it for log replay (only the
current name gets turned into an sstable) and if we're going to use it to read old sstables
based on timestamp, that's a mess, we'd need to record not only the name sequence but how
long each name was mapped to the id.  Wouldn't it be simpler to name sstable files by cf ID
instead of name?  [for old installs a one-time conversion on startup can be done, rename is
fast so it's ok to do that rather than deal w/ complexity of mixed ids and names, imo].  Or
is this for something else entirely?

> Create an additional system keyspace to store KS definitions and migration data.
> --------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-825
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-825
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: Core
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7
>
>         Attachments: v2-0001-CASSANDRA-825-use-jug-for-TimeUUID-generation.txt, v2-0002-dump-and-load-definition-tables.txt,
v2-0003-make-KSMetaData-immutable.txt, v2-0004-push-cfid-generation-down-into-CFMetaData-getting-rid-.txt,
v2-0005-support-for-serializing-historical-cf-names.txt
>
>
> Create an additional system keyspace to store KS definitions and migration data. 
> Tweak the internals so cassandra can optional load all definitions from there, ignoring
CF definitions in the xml.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message