Apache Solr Release Notes

Introduction

Apache Solr is an open source enterprise search server based on the Apache Lucene Java search library, with XML/HTTP and JSON APIs, hit highlighting, faceted search, caching, replication, and a web administration interface. It runs in a Java servlet container such as Jetty.

See http://lucene.apache.org/solr for more information.

Getting Started

You need a Java 1.6 VM or later installed. In this release, there is an example Solr server including a bundled servlet container in the directory named "example". See the tutorial at http://lucene.apache.org/solr/tutorial.html

Versions of Major Components (5) Apache Tika 1.4 Carrot2 3.8.0 Velocity 1.7 and Velocity Tools 2.0 Apache UIMA 2.3.1 Apache ZooKeeper 3.4.5

Detailed Change List Bug Fixes (29) SOLR-5408: CollapsingQParserPlugin scores incorrectly when multiple sort criteria are used

(Brandon Chapman, Joel Bernstein) SOLR-5416: CollapsingQParserPlugin breaks Tag/Exclude Faceting

(David Boychuck, Joel Bernstein) SOLR-5442: Python client cannot parse proxied response when served by Tomcat.

(Patrick Hunt, Gregory Chanan, Vamsee Yarlagadda, Romain Rigaux, Mark Miller) SOLR-5445: Proxied responses should propagate all headers rather than the first one for each key.

(Patrick Hunt, Mark Miller) SOLR-5479: SolrCmdDistributor retry logic stops if a leader for the request cannot be found in 1 second.

(Mark Miller) SOLR-5532: SolrJ Content-Type validation is too strict for some webcontainers / proxies.

(Jakob Furrer, hossman, Shawn Heisey, Uwe Schindler, Mark Miller) SOLR-5547: Creating a collection alias using SolrJ's CollectionAdminRequest sets the alias name and the collections to alias to the same value.

(Aaron Schram, Mark Miller) SOLR-5577: Likely ZooKeeper expiration should not slow down updates a given amount, but instead cut off updates after a given time.

(Mark Miller, Christine Poerschke, Ramkumar Aiyengar) SOLR-5580: NPE when creating a core with both explicit shard and coreNodeName.

(YouPeng Yang, Mark Miller) SOLR-5552: Leader recovery process can select the wrong leader if all replicas for a shard are down and trying to recover as well as lose updates that should have been recovered.

(Timothy Potter, Mark Miller) SOLR-5569 A replica should not try and recover from a leader until it has published that it is ACTIVE.

(Mark Miller) SOLR-5568 A SolrCore cannot decide to be the leader just because the cluster state says no other SolrCore's are active.

(Mark Miller) SOLR-5496: We should share an http connection manager across non search HttpClients and ensure all http connection managers get shutdown.

(Mark Miller) SOLR-5583: ConcurrentUpdateSolrServer#blockUntilFinished may wait forever if the executor service is shutdown.

(Mark Miller) SOLR-5586: All ZkCmdExecutor's should be initialized with the zk client timeout.

(Mark Miller) SOLR-5587: ElectionContext implementations should use ZkCmdExecutor#ensureExists to ensure their election paths are properly created.

(Mark Miller) SOLR-5540: HdfsLockFactory should explicitly create the lock parent directory if necessary.

(Mark Miller) SOLR-4709: The core reload after replication if config files have changed can fail due to a race condition. (Mark Miller, Hossman)) SOLR-5503: Retry 'forward to leader' requests less aggressively - rather than on IOException and status 500, ConnectException.

(Mark Miller) SOLR-5588: PeerSync doesn't count all connect failures as success.

(Mark Miller) SOLR-5564: hl.maxAlternateFieldLength should apply to original field when fallback is attempted

(janhoy) SOLR-5608: Don't allow a closed SolrCore to publish state to ZooKeeper.

(Mark Miller, Shawn Heisey) SOLR-5615: Deadlock while trying to recover after a ZK session expiration.

(Ramkumar Aiyengar, Mark Miller) SOLR-5543: Core swaps resulted in duplicate core entries in solr.xml when using solr.xml persistence.

(Bill Bell, Alan Woodward) SOLR-5618: Fix false cache hits in queryResultCache when hashCodes are equal and duplicate filter queries exist in one of the requests

(hossman) SOLR-4260: ConcurrentUpdateSolrServer#blockUntilFinished can return before all previously added updates have finished. This could cause distributed updates meant for replicas to be lost.

(Markus Jelsma, Timothy Potter, Joel Bernstein, Mark Miller) SOLR-5645: A SolrCore reload via the CoreContainer will try and register in zk again with the new SolrCore.

(Mark Miller) SOLR-5636: SolrRequestParsers does some xpath lookups on every request, which can cause concurrency issues.

(Mark Miller) SOLR-5658: commitWithin and overwrite are not being distributed to replicas now that SolrCloud uses javabin to distribute updates.

(Mark Miller, Varun Thacker, Elodie Sannier, shalin)

Optimizations (1) SOLR-5576: Improve concurrency when registering and waiting for all SolrCore's to register a DOWN state.

(Christine Poerschke via Mark Miller)

