Zero downtime index upgrade in Apache Solr
Session Abstract
In this talk we’ll explore how Apache Solr introduced the capability to upgrade an index in-place with zero downtime. This upgrade path helps prepare the index for a future Solr major version upgrade without needing to recreate the index from source as is the case with Lucene based search engines today.
Session Description
Starting Lucene/Solr 7.x, if you have an index created in a certain version it is only usable until the next major version upgrade. Beyond that you are required to recreate the index from source data. This can be a practical challenge in case of large clusters since this can imply potential downtime and/or significant infrastructure & operational costs, or worse – a dead-end if the true source of data no longer exists.
Starting Apache Solr 9.11 [yet to be released as of this draft], users have the ability to upgrade an index in-place with zero downtime, subject to certain constraints . This prepares the index for a future Solr major version upgrade, eliminating the need to recreate the index from source. The implication is that an index originally created in Solr 8.x now has a pathway to future upgrades without needing the source data.
In the talk, I’ll discuss the mechanisms and APIs that Solr exposes to support this capability, and the constraints involved. The audience will also learn about implementation details across the Lucene and Solr layers, and how the underlying changes made during this effort pave the way for a similar capability in other Lucene-based search engines.