Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-5002

UUIGen should never use another host IP for its node part

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Fix Version/s: 1.2.0 rc1
    • Component/s: None
    • Labels:
      None

      Description

      UUIDGen allows to specify the inet address that we use to generate the node part of the created UUID. This is wrong however. More precisely, the node part is what make sure UUID generated on two different hosts are different, because we can't guarantee that the timestamp and clock parts will be different. In other words, generating on a host a UUID with the node part of another host is dangerous is clearly contrary to the spec.

      And as it turns out, making sure we always use the local address means that the full lsb part of the UUID becomes constant (as it should) and we can remove the nodeCache from UUIDGen and simplify/speedup UUID generation, which is all the more reason to fix it.

      I note that we were almost always using the local address to generate UUID anyway. The only place where we weren't is in Stream

      {In/Out}

      Session, and there is virtually no chance that this has ever broke anything (but we should still fix it).

        Attachments

        1. 5002.txt
          19 kB
          Sylvain Lebresne

          Activity

            People

            • Assignee:
              slebresne Sylvain Lebresne
              Reporter:
              slebresne Sylvain Lebresne
              Reviewer:
              Jonathan Ellis
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: