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] Updated: (CASSANDRA-1) Remove support
Date Sat, 07 Mar 2009 03:38:56 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-1?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jonathan Ellis updated CASSANDRA-1:
-----------------------------------

    Attachment: remove-prep.patch

This patch makes changes that make remove support easier or possible:

Column:
 - add boolean isMarkedForDelete.  If true, the timestamp field represents the deletion time
 - all fields are final (immutable).  This avoids the need for Atomic* variables and makes
whole classes of bugs impossible

SuperColumn:
 - removed boolean isMarkedForDelete
 - long markedForDeleteAt added.  If greater than MIN_VALUE, it is considered deleted at the
given time
 - putColumn() and repair() combined; renamed to integrate()

ColumnFamily:
 - long markedForDeleteAt added, as in SuperColumn
 - isSuper() convenience method added
 - addColumn and createColumn methods combined; all are now overloads of addColumn.  Note
that addColumn(name, column) was removed in favor of simply addColumn(column) since the column
already knows its name, and allowing a different one to be specified could result in hard-to-find
bugs
 - serializer always dumps + loads the Columns; trying to optimize by leaving them out causes
bugs with remove
 - renamed serializer2 to serializerWithIndexes
 - renamed getColumnFamilies to getColumnFamilyMap.  Added getColumnFamilies method returning
only the CF collection (the map values).

Memtable:
 - added SuperColumn support to forceFlush.  Refactored flush methods slightly so that the
only one who cares about fRecovery is Table.  [everyone else just passed False.]

NamesFilter:
 - makes a copy of the List it is passed.  This fixes a bug that may not be specific to remove
support.

Row:
 - merge() removed (duplicate of Repair)

RowMutation:
 - added makeRowMutationMessage()
 - added sanity checks to add()
 - added delete(columnFamilyColumn, timestamp) method
 - cleaned up duplicate code in apply() overloads

Message:
 - Changed constructor from Object[] body to Object... body.  This allows (but does not require)
single Objects to be passed without explicitly wrapping in a new Object[] {}.

General:
 - old-style remove/delete support removed, since it's going to be rewritten in the next patch

The other changes are just dealing with the consequences of the above, particularly the getColumnFamilyMap
rename and the CF.addColumn parameter change.

> Remove support
> --------------
>
>                 Key: CASSANDRA-1
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Jonathan Ellis
>         Attachments: remove-prep.patch
>
>
> These patches implement removing columns, supercolumns, or columnfamilies for a given
key.

-- 
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