In SearchService.java line 632 we call indexShard.acquireSearcher(), and then pass this searcher to a new DefaultSearchContext which takes ownership. However, if there is an error when creating this search context, the searcher will never be released.