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

AbstractType value compatibility checks are broken for some of the implementations

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Not A Problem
    • None
    • None
    • None
    • Normal

    Description

      We should document how type coercion works, in all contexts (UDFs, query responses, merging), and what our criteria are for success. Right now it looks like we perform no conversion, so we should require that they are compared in the same way (if they are clusterings), and that they at least have the same number of bytes (if both fixed width).

      Integer type considers itself value compatible with Int32 and Long, which from an AlterTable point of view at least seems potentially problematic.

      It's very likely I'm missing something. However as it stands we seem able to read an old type from an sstable, have it make it through a compaction unscathed, and write out the same bytes "as" the new type. If I'm correct about this behaviour, this will corrupt this partition in the new sstable so that it cannot be read.

      Not marking as critical/blocker, as I'm not familiar enough with how this works to say if this brief analysis is correct, but if I am we should raise the priority.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              benedict Benedict Elliott Smith
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: