If a column is added to the schema and there's also an index defined for that column, the older segments which were built by older schema/table config cannot be purged with the following exception:
Cannot create index for column: XYZ because it is not in schema.
This is because SegmentColumnarIndexCreator assumes that schema and table config are always in-sync. That's a valid assumption - other than the old segment scenario mentioned above - because validation put in place in table config rest endpoint makes sure that if an index is added to the table config, that column should be present in the schema.
If a column is added to the schema and there's also an index defined for that column, the older segments which were built by older schema/table config cannot be purged with the following exception:
This is because SegmentColumnarIndexCreator assumes that schema and table config are always in-sync. That's a valid assumption - other than the old segment scenario mentioned above - because validation put in place in table config rest endpoint makes sure that if an index is added to the table config, that column should be present in the schema.