Major version upgrades of search infrastructure are often treated as dependency and configuration exercises. In practice, when search sits upstream of machine-learning pipelines and directly impacts revenue, such upgrades can fail in far more subtle — and harder to diagnose — ways.
This article describes how a long-stalled migration of a production ads retrieval system from Apache Solr/Apache Lucene 5 to 8 was unblocked after multiple prior attempts had failed. The failures were not caused by missing dependencies or misconfiguration, but by cumulative semantic drift and execution-path changes that only manifested under real production conditions.