Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Later
    • Fix Version/s: None
    • Component/s: Core
    • Labels:
      None

      Description

      It would be nice to mimic how get_slice works for removing values.

        Issue Links

          Activity

          Hide
          Jonathan Ellis added a comment -

          CASSANDRA-336 will address this too.

          Show
          Jonathan Ellis added a comment - CASSANDRA-336 will address this too.
          Hide
          Jonathan Ellis added a comment - - edited

          reopened – CASSANDRA-336 punted on this because it was hard (requires updating commitlog format).

          Show
          Jonathan Ellis added a comment - - edited reopened – CASSANDRA-336 punted on this because it was hard (requires updating commitlog format).
          Hide
          Gary Dusbabek added a comment -

          remove_slice is a subset of remove_range since a slice is a remove_range parameter.

          Show
          Gary Dusbabek added a comment - remove_slice is a subset of remove_range since a slice is a remove_range parameter.
          Hide
          Jonathan Ellis added a comment -

          going to be fixed in CASSANDRA-293

          Show
          Jonathan Ellis added a comment - going to be fixed in CASSANDRA-293
          Hide
          Gary Dusbabek added a comment -

          CASSANDRA-293 isn't working out, so we're going to implement this instead.

          Show
          Gary Dusbabek added a comment - CASSANDRA-293 isn't working out, so we're going to implement this instead.
          Hide
          Gary Dusbabek added a comment -

          I'm going to expand the scope of this to allow specifying Deletion in batch_mutate.

          Show
          Gary Dusbabek added a comment - I'm going to expand the scope of this to allow specifying Deletion in batch_mutate.
          Hide
          Gary Dusbabek added a comment -

          On second thought, I think the best way to implement this will be to create mutate(key, mutation, cl).

          One problem is that this [cluster-level] operation does not translate into a [node-level] RowMutation that can be forwarded to other nodes to be applied. (A slice materialized on a node that is out of sync may not include the same columns as a a fully synced node.)

          The Right Way would be to change everything so that when a coordinating node receives a message, it goes down a local path where a RM is created and applied, and then a cluster path where the original message is forwarded to other nodes.

          Am I over-complicating this, or is materializing the RM into a list of column ops and sending it Good Enough?

          Show
          Gary Dusbabek added a comment - On second thought, I think the best way to implement this will be to create mutate(key, mutation, cl). One problem is that this [cluster-level] operation does not translate into a [node-level] RowMutation that can be forwarded to other nodes to be applied. (A slice materialized on a node that is out of sync may not include the same columns as a a fully synced node.) The Right Way would be to change everything so that when a coordinating node receives a message, it goes down a local path where a RM is created and applied, and then a cluster path where the original message is forwarded to other nodes. Am I over-complicating this, or is materializing the RM into a list of column ops and sending it Good Enough?
          Hide
          Jonathan Ellis added a comment -

          Well, the Right Way is to add a list of Bounds tombstones to CF / SC classes.

          Show
          Jonathan Ellis added a comment - Well, the Right Way is to add a list of Bounds tombstones to CF / SC classes.
          Hide
          ZhongYu added a comment -

          Why not implement this feature?
          We are having trouble deleting columns like timestamp. There are too many columns to load to client. It is really slow to delete data by reading it first!
          We cost 10 days to delete 1,000,000,000 timestamp style data of about 1000 CF. Each CF have average 10000 rows.
          If we can delete columns by ranges, I think the above operation can finish in serval minutes.

          Show
          ZhongYu added a comment - Why not implement this feature? We are having trouble deleting columns like timestamp. There are too many columns to load to client. It is really slow to delete data by reading it first! We cost 10 days to delete 1,000,000,000 timestamp style data of about 1000 CF. Each CF have average 10000 rows. If we can delete columns by ranges, I think the above operation can finish in serval minutes.

            People

            • Assignee:
              Unassigned
              Reporter:
              Dan Di Spaltro
            • Votes:
              2 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development