Cassandra
  1. Cassandra
  2. CASSANDRA-5518

Clean out token range bisection on bootstrap

    Details

    • Type: Task Task
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Fix Version/s: 2.0 beta 1
    • Component/s: Core
    • Labels:
      None

      Description

      Bootstrapping a node by bisecting an existing node's range has never been very useful, and with vnodes it's thoroughly obsolete.

        Activity

        Jonathan Ellis created issue -
        Show
        Jonathan Ellis added a comment - https://github.com/jbellis/cassandra/commits/5518
        Jonathan Ellis made changes -
        Field Original Value New Value
        Status Open [ 1 ] Patch Available [ 10002 ]
        Reviewer brandon.williams
        Hide
        Brandon Williams added a comment -

        Is the "this is broken" comment in Gossiper because there could be a token collision? I typically don't like comments like this in there without knowing why

        Show
        Brandon Williams added a comment - Is the "this is broken" comment in Gossiper because there could be a token collision? I typically don't like comments like this in there without knowing why
        Hide
        Jonathan Ellis added a comment -

        What that code is doing is saying, "If I don't know what token I'm supposed to assassinate, pick a random one." (Prior to this patch it was saying, "pick a bootstrap token," which is just as broken.)

        So basically that comment is there to remind someone, probably you, to fix it better, but I consider it out of scope for this ticket since removing the bisect garbage makes it no worse.

        Show
        Jonathan Ellis added a comment - What that code is doing is saying, "If I don't know what token I'm supposed to assassinate, pick a random one." (Prior to this patch it was saying, "pick a bootstrap token," which is just as broken.) So basically that comment is there to remind someone, probably you, to fix it better, but I consider it out of scope for this ticket since removing the bisect garbage makes it no worse.
        Hide
        Jonathan Ellis added a comment -

        (Probably the Right Thing is to just give up and acknowledge we're screwed, but again, the original code was going to great lengths to avoid this and I wanted to make this semantically neutral.)

        Show
        Jonathan Ellis added a comment - (Probably the Right Thing is to just give up and acknowledge we're screwed, but again, the original code was going to great lengths to avoid this and I wanted to make this semantically neutral.)
        Hide
        Brandon Williams added a comment -

        Hey, it's called 'unsafe' for a reason, but it tries to be as robust as possible in case of a gossip bug where you have no way to evict something without a full ring restart. Anyway, lgtm, +1.

        Show
        Brandon Williams added a comment - Hey, it's called 'unsafe' for a reason, but it tries to be as robust as possible in case of a gossip bug where you have no way to evict something without a full ring restart. Anyway, lgtm, +1.
        Hide
        Jonathan Ellis added a comment -

        committed

        Show
        Jonathan Ellis added a comment - committed
        Jonathan Ellis made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Patch Available Patch Available
        1m 29s 1 Jonathan Ellis 27/Apr/13 05:54
        Patch Available Patch Available Resolved Resolved
        4d 14h 50m 1 Jonathan Ellis 01/May/13 20:44

          People

          • Assignee:
            Jonathan Ellis
            Reporter:
            Jonathan Ellis
            Reviewer:
            Brandon Williams
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development