You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Gary Dusbabek (JIRA)" <ji...@apache.org> on 2010/03/26 22:22:27 UTC

[jira] Issue Comment Edited: (CASSANDRA-827) Add hooks that recognize when system KS is updated.

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

Gary Dusbabek edited comment on CASSANDRA-827 at 3/26/10 9:20 PM:
------------------------------------------------------------------

0002 refactors DefsTable heavily.  Each operation is broken out to its own class that can be serialized and moved to other nodes.  It also introduces the concept of a 'migration,' which is a schema operation (add|drop|rename cf|ks).

0004 changes gossip to that it includes the schema version. It brings back the DefsTable executor as a stage on which migrations are executed.  A seed node is instructed to wait (same as load balance waiting period) so that it can contact other seed nodes for updated schemas before it begins serving requests.

0006 changes startup to always load schema from the system tables.  The load-from-xml code was kept around to help with transition and exposed in JMX.  We can remove this in a release or two.  The java unit tests still load schema from xml.

0007 implements the stubbed thrift methods.  The nosetests use them to establish a testing schema.

0008 alters the write path so that the cfid is used to determine which CFS is written to during normal writes and CL recovery.  CF names are still used (extensively--I didn't have the guts to push this through all the way) for other operations.  I'm not happy with Table.cfNameMap but don't see an alternative that doesn't require touching *a lot* of code.

      was (Author: gdusbabek):
    0002 refactors DefsTable heavily.  Each operation is broken out to its own class that can be serialized and moved to other nodes.  It also introduces the concept of a 'migration,' which is a schema operation (add|drop|rename cf|ks).

0004 changes gossip to that it includes the schema version. It brings back the DefsTable executor as a stage on which migrations are executed.  A seed node is instructed to wait (same as load balance waiting period) so that it can contact other seed nodes for updated schemas before it begins serving requests.

0006 changes startup to always load schema from the system tables.  The load-from-xml code was kept around to help with transition and exposed in JMX.  We can remove this in a release or two.  The java unit tests still load schema from xml.

0007 implements the stubbed thrift methods.  The nosetests use them to establish a testing schema.

0008 alters the write path so that the cfid is used to determine which CFS is written to during normal writes and CL recovery.  Column names are still used (extensively--I didn't have the guts to push this through all the way) for other operations.  I'm not happy with Table.cfNameMap but don't see an alternative that doesn't require touching *a lot* of code.
  
> Add hooks that recognize when system KS is updated.
> ---------------------------------------------------
>
>                 Key: CASSANDRA-827
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-827
>             Project: Cassandra
>          Issue Type: Sub-task
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>             Fix For: 0.7
>
>         Attachments: v1-0001-remove-unused-JoinMessage.txt, v1-0002-Refactor-so-meta-mutations-can-be-serialized-and-moved.txt, v1-0003-move-ConfigurationException-to-its-own-class-file.txt, v1-0004-Gossip-metadata-version-and-request-updates.txt, v1-0005-thrift-changes.txt, v1-0006-switch-to-reading-schema-configuration-from-storage.txt, v1-0007-thrift-impl.txt, v1-0008-use-cfid-for-all-mutations.txt
>
>
> Add hooks that recognize when system KS is updated.
> Figure out the best way to refresh the collections in DD, perform the adds, deletes, etc.

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