I don't understand why this sometimes takes two minutes between the start commit & /update and sometimes takes 20 minutes? One of our caches has about~40,000 items, but I can't imagine it taking 20 minutes to autowarm a searcher.
What do your cache configs look like? How big is the autowarm count? If you have: <queryResultCache class="solr.LRUCache" size="512" initialSize="512" autowarmCount="32"/>that will run 32 queries when solr starts. Are you running 40K queries when it starts?
ryan