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

Secondary index metadata is not reloaded when table is altered

    XMLWordPrintableJSON

    Details

    • Severity:
      Normal

      Description

      The javadocs for Index.getMetadataReloadTask() state the following:

      Returns a task to reload the internal metadata of an index.
      Called when the base table metadata is modified or when the configuration of the Index is updated.

      However, altering a table does not result in the reload task being executed. I think the root of the problem is that in SecondaryIndexManager.reloadIndex(), we only execute the reload task when the old IndexMetadata does not equal the current IndexMetadata. Altering the table does not change the index metadata, so this check always fails.

      This especially affects per-row secondary indexes, where the index may need to handle columns being added or dropped.

        Attachments

          Activity

            People

            • Assignee:
              samt Sam Tunnicliffe
              Reporter:
              thobbs Tom Hobbs
              Authors:
              Sam Tunnicliffe
              Reviewers:
              Tom Hobbs
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: