DataStax Help Center

Why do I see lots of SchemaDisagreementErrors when upgrading a cluster with search nodes from 2.1 to 2.2?

In 2.2, we added a new metadata field (_ttl_expire) to Solr secondary indexes which controls the frequency with which deleted data is purged from the index (DSP-747). This configuration and other metadata for Solr secondary indexes is stored in Cassandra in Column Family metadata. When a newly upgraded node is restarted, it runs through the set of indexes it needs to initialise, creating a stub index instance for each and then populating its metadata with the values read from Cassandra. As the _ttl_expire field didn't previously exist, it populates that with the default value and attempts to write that back to Cassandra. Unfortunately the DSE 2.2 upgrade also involves a Cassandra upgrade from 1.0.10 to 1.1.5 which carries the additional constraint that schema updates are disallowed while the cluster is running on mixed versions. 
So in the normal course of events, unless a brand new index is being created Solr indexes will not issue DDL statements, what we have been seeing is an artifact of the upgrade process, is compounded by the schema versioning changes introduced between Cassandra 1.0 & 1.1
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request


Powered by Zendesk