You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2011/10/10 21:58:32 UTC

svn commit: r1181188 [1/8] - in /lucene/dev/branches/solrcloud: ./ dev-tools/eclipse/ dev-tools/idea/.idea/ dev-tools/idea/lucene/contrib/ dev-tools/idea/modules/grouping/ dev-tools/idea/solr/ dev-tools/idea/solr/contrib/analysis-extras/ dev-tools/idea...

Author: markrmiller
Date: Mon Oct 10 19:58:24 2011
New Revision: 1181188

URL: http://svn.apache.org/viewvc?rev=1181188&view=rev
Log:
merge to trunk

Added:
    lucene/dev/branches/solrcloud/dev-tools/idea/.idea/misc.xml
      - copied unchanged from r1181115, lucene/dev/trunk/dev-tools/idea/.idea/misc.xml
    lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/langid/
      - copied from r1181115, lucene/dev/trunk/dev-tools/idea/solr/contrib/langid/
    lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/langid/langid.iml
      - copied unchanged from r1181115, lucene/dev/trunk/dev-tools/idea/solr/contrib/langid/langid.iml
    lucene/dev/branches/solrcloud/dev-tools/maven/solr/contrib/langid/
      - copied from r1181115, lucene/dev/trunk/dev-tools/maven/solr/contrib/langid/
    lucene/dev/branches/solrcloud/dev-tools/maven/solr/contrib/langid/pom.xml.template
      - copied unchanged from r1181115, lucene/dev/trunk/dev-tools/maven/solr/contrib/langid/pom.xml.template
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/DocValuesReaderBase.java
      - copied, changed from r1178296, lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/DocValuesReaderBase.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/DocValuesWriterBase.java
      - copied, changed from r1178296, lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/DocValuesWriterBase.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/sep/SepDocValuesConsumer.java
      - copied, changed from r1178296, lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/sep/SepDocValuesConsumer.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/sep/SepDocValuesProducer.java
      - copied unchanged from r1178296, lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/sep/SepDocValuesProducer.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/DirectSource.java
      - copied unchanged from r1181115, lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/values/DirectSource.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/TypePromoter.java
      - copied unchanged from r1181115, lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/values/TypePromoter.java
    lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestTypePromotion.java
      - copied unchanged from r1181115, lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/values/TestTypePromotion.java
    lucene/dev/branches/solrcloud/modules/benchmark/conf/facets.alg
      - copied unchanged from r1181115, lucene/dev/trunk/modules/benchmark/conf/facets.alg
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentItemsSource.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentItemsSource.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FacetSource.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FacetSource.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/RandomFacetSource.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/RandomFacetSource.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddFacetedDocTask.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddFacetedDocTask.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyIndexTask.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyIndexTask.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyReaderTask.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyReaderTask.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitTaxonomyIndexTask.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitTaxonomyIndexTask.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CreateTaxonomyIndexTask.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CreateTaxonomyIndexTask.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyIndexTask.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyIndexTask.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyReaderTask.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyReaderTask.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/function/
      - copied from r1181115, lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/function/
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupHeadsCollector.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupHeadsCollector.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionFirstPassGroupingCollector.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionFirstPassGroupingCollector.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionSecondPassGroupingCollector.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionSecondPassGroupingCollector.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/term/
      - copied from r1181115, lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/term/
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupHeadsCollector.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupHeadsCollector.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupsCollector.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupsCollector.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/term/TermFirstPassGroupingCollector.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/term/TermFirstPassGroupingCollector.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/term/TermSecondPassGroupingCollector.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/grouping/src/java/org/apache/lucene/search/grouping/term/TermSecondPassGroupingCollector.java
    lucene/dev/branches/solrcloud/modules/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java
    lucene/dev/branches/solrcloud/modules/grouping/src/test/org/apache/lucene/search/grouping/AllGroupsCollectorTest.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/grouping/src/test/org/apache/lucene/search/grouping/AllGroupsCollectorTest.java
    lucene/dev/branches/solrcloud/modules/queries/src/java/org/apache/lucene/queries/function/valuesource/BytesRefFieldSource.java
      - copied unchanged from r1181115, lucene/dev/trunk/modules/queries/src/java/org/apache/lucene/queries/function/valuesource/BytesRefFieldSource.java
    lucene/dev/branches/solrcloud/solr/contrib/langid/src/java/overview.html
      - copied unchanged from r1181115, lucene/dev/trunk/solr/contrib/langid/src/java/overview.html
Removed:
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/ValuesEnum.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/util/FloatsRef.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/util/LongsRef.java
    lucene/dev/branches/solrcloud/lucene/src/test-framework/org/apache/lucene/index/codecs/mockrandom/MockRandomDocValuesCodec.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/TermAllGroupHeadsCollector.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/TermAllGroupsCollector.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/TermFirstPassGroupingCollector.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/TermSecondPassGroupingCollector.java
    lucene/dev/branches/solrcloud/modules/grouping/src/test/org/apache/lucene/search/grouping/TermAllGroupHeadsCollectorTest.java
    lucene/dev/branches/solrcloud/modules/grouping/src/test/org/apache/lucene/search/grouping/TermAllGroupsCollectorTest.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/update/IndexWriterProvider.java
Modified:
    lucene/dev/branches/solrcloud/   (props changed)
    lucene/dev/branches/solrcloud/dev-tools/eclipse/dot.classpath
    lucene/dev/branches/solrcloud/dev-tools/idea/.idea/ant.xml
    lucene/dev/branches/solrcloud/dev-tools/idea/.idea/compiler.xml
    lucene/dev/branches/solrcloud/dev-tools/idea/.idea/modules.xml
    lucene/dev/branches/solrcloud/dev-tools/idea/.idea/workspace.xml
    lucene/dev/branches/solrcloud/dev-tools/idea/lucene/contrib/   (props changed)
    lucene/dev/branches/solrcloud/dev-tools/idea/modules/grouping/grouping.iml
    lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/analysis-extras/analysis-extras.iml
    lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/clustering/clustering.iml
    lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/dataimporthandler-extras/dataimporthandler-extras.iml
    lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/dataimporthandler/dataimporthandler.iml
    lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/extraction/extraction.iml
    lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/uima/uima.iml
    lucene/dev/branches/solrcloud/dev-tools/idea/solr/solr.iml
    lucene/dev/branches/solrcloud/dev-tools/maven/modules/grouping/pom.xml.template
    lucene/dev/branches/solrcloud/dev-tools/maven/pom.xml.template
    lucene/dev/branches/solrcloud/dev-tools/maven/solr/contrib/pom.xml.template
    lucene/dev/branches/solrcloud/lucene/   (props changed)
    lucene/dev/branches/solrcloud/lucene/CHANGES.txt
    lucene/dev/branches/solrcloud/lucene/contrib/CHANGES.txt
    lucene/dev/branches/solrcloud/lucene/contrib/contrib-build.xml
    lucene/dev/branches/solrcloud/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
    lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/NRTManager.java
    lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/NRTManagerReopenThread.java
    lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/codecs/appending/AppendingCodec.java
    lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/search/SearcherManager.java
    lucene/dev/branches/solrcloud/lucene/contrib/misc/src/test/org/apache/lucene/index/TestNRTManager.java
    lucene/dev/branches/solrcloud/lucene/contrib/misc/src/test/org/apache/lucene/search/TestSearcherManager.java
    lucene/dev/branches/solrcloud/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestSpanRegexQuery.java   (props changed)
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/document/IndexDocValuesField.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/CheckIndex.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/FieldInfo.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/FieldInfos.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/MultiPerDocValues.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/SegmentMerger.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/Codec.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/DefaultDocValuesConsumer.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/DefaultDocValuesProducer.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/DocValuesConsumer.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/PerDocConsumer.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/PerDocValues.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/memory/MemoryCodec.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/pulsing/PulsingCodec.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/simpletext/SimpleTextCodec.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardCodec.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/Bytes.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/FixedDerefBytesImpl.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/FixedSortedBytesImpl.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/FixedStraightBytesImpl.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/Floats.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/IndexDocValues.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/IndexDocValuesArray.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/Ints.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/MultiIndexDocValues.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/PackedIntValues.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/SourceCache.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/ValueType.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/VarDerefBytesImpl.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/VarSortedBytesImpl.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/VarStraightBytesImpl.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/index/values/Writer.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/BooleanQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/ConstantScoreQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/FieldComparator.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/FilteredQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/IndexSearcher.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/MatchAllDocsQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/MultiPhraseQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/PhraseQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/QueryWrapperFilter.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/SpanQueryFilter.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/TermQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/Weight.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/payloads/PayloadNearQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/payloads/PayloadSpanUtil.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/similarities/BM25Similarity.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/spans/NearSpansUnordered.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/spans/SpanNearQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/spans/SpanNotQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/spans/SpanOrQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/spans/SpanPositionCheckQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/spans/SpanQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/spans/SpanTermQuery.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/search/spans/SpanWeight.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/util/packed/Direct16.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/util/packed/Direct32.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/util/packed/Direct64.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/util/packed/Direct8.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/util/packed/GrowableWriter.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/util/packed/PackedInts.java
    lucene/dev/branches/solrcloud/lucene/src/java/org/apache/lucene/util/packed/PackedReaderIterator.java
    lucene/dev/branches/solrcloud/lucene/src/test-framework/org/apache/lucene/index/RandomIndexWriter.java
    lucene/dev/branches/solrcloud/lucene/src/test-framework/org/apache/lucene/index/codecs/mockintblock/MockFixedIntBlockCodec.java
    lucene/dev/branches/solrcloud/lucene/src/test-framework/org/apache/lucene/index/codecs/mockintblock/MockVariableIntBlockCodec.java
    lucene/dev/branches/solrcloud/lucene/src/test-framework/org/apache/lucene/index/codecs/mockrandom/MockRandomCodec.java
    lucene/dev/branches/solrcloud/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSepCodec.java
    lucene/dev/branches/solrcloud/lucene/src/test-framework/org/apache/lucene/search/AssertingIndexSearcher.java
    lucene/dev/branches/solrcloud/lucene/src/test-framework/org/apache/lucene/search/QueryUtils.java
    lucene/dev/branches/solrcloud/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java
    lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java
    lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestDocValues.java
    lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/index/values/TestDocValuesIndexing.java
    lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/JustCompileSearch.java
    lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java
    lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/TestTermScorer.java
    lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/spans/JustCompileSearchSpans.java
    lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/spans/MultiSpansWrapper.java
    lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
    lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java
    lucene/dev/branches/solrcloud/lucene/src/test/org/apache/lucene/util/packed/TestPackedInts.java
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/hunspell/HunspellDictionary.java
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/hunspell/HunspellStemmer.java
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.jflex
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/SUPPLEMENTARY.jflex-macro
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.java
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl.java
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl.jflex
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/std31/StandardTokenizerImpl31.java
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/std31/StandardTokenizerImpl31.jflex
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/std31/UAX29URLEmailTokenizerImpl31.java
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/std31/UAX29URLEmailTokenizerImpl31.jflex
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.java
    lucene/dev/branches/solrcloud/modules/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.jflex
    lucene/dev/branches/solrcloud/modules/analysis/common/src/test/org/apache/lucene/analysis/hunspell/HunspellDictionaryTest.java
    lucene/dev/branches/solrcloud/modules/analysis/common/src/test/org/apache/lucene/analysis/hunspell/HunspellStemmerTest.java
    lucene/dev/branches/solrcloud/modules/analysis/common/src/test/org/apache/lucene/analysis/hunspell/test.aff
    lucene/dev/branches/solrcloud/modules/analysis/common/src/test/org/apache/lucene/analysis/hunspell/test.dic
    lucene/dev/branches/solrcloud/modules/analysis/common/src/test/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzerTest.java
    lucene/dev/branches/solrcloud/modules/benchmark/CHANGES.txt
    lucene/dev/branches/solrcloud/modules/benchmark/build.xml
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentSource.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecContentSource.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddDocTask.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PerfTask.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
    lucene/dev/branches/solrcloud/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteLineDocTaskTest.java
    lucene/dev/branches/solrcloud/modules/build.xml
    lucene/dev/branches/solrcloud/modules/grouping/CHANGES.txt
    lucene/dev/branches/solrcloud/modules/grouping/build.xml
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/SentinelIntSet.java
    lucene/dev/branches/solrcloud/modules/grouping/src/java/org/apache/lucene/search/grouping/package.html
    lucene/dev/branches/solrcloud/modules/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
    lucene/dev/branches/solrcloud/modules/join/src/java/org/apache/lucene/search/join/BlockJoinQuery.java
    lucene/dev/branches/solrcloud/modules/join/src/test/org/apache/lucene/search/TestBlockJoin.java
    lucene/dev/branches/solrcloud/modules/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java
    lucene/dev/branches/solrcloud/modules/queries/src/java/org/apache/lucene/queries/function/BoostedQuery.java
    lucene/dev/branches/solrcloud/modules/queries/src/java/org/apache/lucene/queries/function/FunctionQuery.java
    lucene/dev/branches/solrcloud/modules/queries/src/java/org/apache/lucene/queries/function/valuesource/QueryValueSource.java
    lucene/dev/branches/solrcloud/modules/queryparser/src/test/org/apache/lucene/queryparser/xml/builders/TestNumericRangeFilterBuilder.java   (props changed)
    lucene/dev/branches/solrcloud/solr/   (props changed)
    lucene/dev/branches/solrcloud/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/solrcloud/solr/LICENSE.txt   (props changed)
    lucene/dev/branches/solrcloud/solr/NOTICE.txt   (props changed)
    lucene/dev/branches/solrcloud/solr/README.txt   (props changed)
    lucene/dev/branches/solrcloud/solr/build.xml   (props changed)
    lucene/dev/branches/solrcloud/solr/client/   (props changed)
    lucene/dev/branches/solrcloud/solr/common-build.xml   (contents, props changed)
    lucene/dev/branches/solrcloud/solr/contrib/   (props changed)
    lucene/dev/branches/solrcloud/solr/contrib/clustering/src/test-files/   (props changed)
    lucene/dev/branches/solrcloud/solr/contrib/dataimporthandler-extras/src/java/   (props changed)
    lucene/dev/branches/solrcloud/solr/contrib/dataimporthandler/src/java/   (props changed)
    lucene/dev/branches/solrcloud/solr/contrib/dataimporthandler/src/test-files/   (props changed)
    lucene/dev/branches/solrcloud/solr/contrib/dataimporthandler/src/test/org/   (props changed)
    lucene/dev/branches/solrcloud/solr/contrib/langid/   (props changed)
    lucene/dev/branches/solrcloud/solr/contrib/uima/src/java/   (props changed)
    lucene/dev/branches/solrcloud/solr/contrib/uima/src/test-files/   (props changed)
    lucene/dev/branches/solrcloud/solr/core/   (props changed)
    lucene/dev/branches/solrcloud/solr/core/src/java/   (props changed)
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/analysis/HunspellStemFilterFactory.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/request/PerSegmentSingleValuedFaceting.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/schema/LatLonType.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/schema/TrieField.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/search/Grouping.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/search/MissingStringLastComparatorSource.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/SearchGroupsFieldCommand.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/TopGroupsFieldCommand.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
    lucene/dev/branches/solrcloud/solr/core/src/test/   (props changed)
    lucene/dev/branches/solrcloud/solr/dev-tools/   (props changed)
    lucene/dev/branches/solrcloud/solr/example/   (props changed)
    lucene/dev/branches/solrcloud/solr/lib/   (props changed)
    lucene/dev/branches/solrcloud/solr/scripts/   (props changed)
    lucene/dev/branches/solrcloud/solr/site/   (props changed)
    lucene/dev/branches/solrcloud/solr/site-src/   (props changed)
    lucene/dev/branches/solrcloud/solr/solrj/   (props changed)
    lucene/dev/branches/solrcloud/solr/solrj/src/java/   (props changed)
    lucene/dev/branches/solrcloud/solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java
    lucene/dev/branches/solrcloud/solr/solrj/src/java/org/apache/solr/client/solrj/response/RangeFacet.java
    lucene/dev/branches/solrcloud/solr/solrj/src/test-files/solrj/sampleDateFacetResponse.xml
    lucene/dev/branches/solrcloud/solr/solrj/src/test/org/apache/solr/client/   (props changed)
    lucene/dev/branches/solrcloud/solr/solrj/src/test/org/apache/solr/client/solrj/   (props changed)
    lucene/dev/branches/solrcloud/solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseTest.java
    lucene/dev/branches/solrcloud/solr/solrj/src/test/org/apache/solr/common/   (props changed)
    lucene/dev/branches/solrcloud/solr/test-framework/   (props changed)
    lucene/dev/branches/solrcloud/solr/testlogging.properties   (props changed)
    lucene/dev/branches/solrcloud/solr/webapp/   (props changed)

Modified: lucene/dev/branches/solrcloud/dev-tools/eclipse/dot.classpath
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/eclipse/dot.classpath?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/eclipse/dot.classpath (original)
+++ lucene/dev/branches/solrcloud/dev-tools/eclipse/dot.classpath Mon Oct 10 19:58:24 2011
@@ -136,19 +136,19 @@
 	<classpathentry kind="lib" path="solr/contrib/extraction/lib/boilerpipe-1.1.0.jar"/>
 	<classpathentry kind="lib" path="solr/contrib/extraction/lib/commons-compress-1.2.jar"/>
 	<classpathentry kind="lib" path="solr/contrib/extraction/lib/dom4j-1.6.1.jar"/>
-	<classpathentry kind="lib" path="solr/contrib/extraction/lib/fontbox-1.3.1.jar"/>
-	<classpathentry kind="lib" path="solr/contrib/extraction/lib/jempbox-1.3.1.jar"/>
+	<classpathentry kind="lib" path="solr/contrib/extraction/lib/fontbox-1.6.0.jar"/>
+	<classpathentry kind="lib" path="solr/contrib/extraction/lib/jempbox-1.6.0.jar"/>
 	<classpathentry kind="lib" path="solr/contrib/extraction/lib/metadata-extractor-2.4.0-beta-1.jar"/>
-	<classpathentry kind="lib" path="solr/contrib/extraction/lib/netcdf-4.2.jar"/>
-	<classpathentry kind="lib" path="solr/contrib/extraction/lib/pdfbox-1.3.1.jar"/>
-	<classpathentry kind="lib" path="solr/contrib/extraction/lib/poi-3.7.jar"/>
-	<classpathentry kind="lib" path="solr/contrib/extraction/lib/poi-ooxml-3.7.jar"/>
-	<classpathentry kind="lib" path="solr/contrib/extraction/lib/poi-ooxml-schemas-3.7.jar"/>
-	<classpathentry kind="lib" path="solr/contrib/extraction/lib/poi-scratchpad-3.7.jar"/>
+	<classpathentry kind="lib" path="solr/contrib/extraction/lib/netcdf-4.2-min.jar"/>
+	<classpathentry kind="lib" path="solr/contrib/extraction/lib/pdfbox-1.6.0.jar"/>
+	<classpathentry kind="lib" path="solr/contrib/extraction/lib/poi-3.8-beta4.jar"/>
+	<classpathentry kind="lib" path="solr/contrib/extraction/lib/poi-ooxml-3.8-beta4.jar"/>
+	<classpathentry kind="lib" path="solr/contrib/extraction/lib/poi-ooxml-schemas-3.8-beta4.jar"/>
+	<classpathentry kind="lib" path="solr/contrib/extraction/lib/poi-scratchpad-3.8-beta4.jar"/>
 	<classpathentry kind="lib" path="solr/contrib/extraction/lib/rome-0.9.jar"/>
-	<classpathentry kind="lib" path="solr/contrib/extraction/lib/tagsoup-1.2.jar"/>
-	<classpathentry kind="lib" path="solr/contrib/extraction/lib/tika-core-0.8.jar"/>
-	<classpathentry kind="lib" path="solr/contrib/extraction/lib/tika-parsers-0.8.jar"/>
+	<classpathentry kind="lib" path="solr/contrib/extraction/lib/tagsoup-1.2.1.jar"/>
+	<classpathentry kind="lib" path="solr/contrib/extraction/lib/tika-core-0.10.jar"/>
+	<classpathentry kind="lib" path="solr/contrib/extraction/lib/tika-parsers-0.10.jar"/>
 	<classpathentry kind="lib" path="solr/contrib/extraction/lib/xmlbeans-2.3.0.jar"/>
 	<classpathentry kind="lib" path="solr/contrib/uima/lib/commons-digester-2.0.jar"/>
 	<classpathentry kind="lib" path="solr/contrib/uima/lib/uima-an-alchemy-2.3.1.jar"/>

Modified: lucene/dev/branches/solrcloud/dev-tools/idea/.idea/ant.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/idea/.idea/ant.xml?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/idea/.idea/ant.xml (original)
+++ lucene/dev/branches/solrcloud/dev-tools/idea/.idea/ant.xml Mon Oct 10 19:58:24 2011
@@ -30,6 +30,7 @@
     <buildFile url="file://$PROJECT_DIR$/solr/contrib/dataimporthandler/build.xml" />
     <buildFile url="file://$PROJECT_DIR$/solr/contrib/dataimporthandler-extras/build.xml" />
     <buildFile url="file://$PROJECT_DIR$/solr/contrib/extraction/build.xml" />
+    <buildFile url="file://$PROJECT_DIR$/solr/contrib/langid/build.xml" />
     <buildFile url="file://$PROJECT_DIR$/solr/contrib/uima/build.xml" />
     <buildFile url="file://$PROJECT_DIR$/solr/solrj/build.xml" />
     <buildFile url="file://$PROJECT_DIR$/solr/test-framework/build.xml" />

Modified: lucene/dev/branches/solrcloud/dev-tools/idea/.idea/compiler.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/idea/.idea/compiler.xml?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/idea/.idea/compiler.xml (original)
+++ lucene/dev/branches/solrcloud/dev-tools/idea/.idea/compiler.xml Mon Oct 10 19:58:24 2011
@@ -6,9 +6,11 @@
       <entry name=".+\.(gif|png|jpeg|jpg)" />
     </resourceExtensions>
     <wildcardResourcePatterns>
+      <entry name="?*.aff"/>
       <entry name="?*.brk" />
       <entry name="?*.bz2" />
       <entry name="?*.csv" />
+      <entry name="?*.dic"/>
       <entry name="?*.docx"/>
       <entry name="?*.dtd" />
       <entry name="?*.ftl" />
@@ -20,6 +22,7 @@
       <entry name="?*.jpeg" />
       <entry name="?*.jpg" />
       <entry name="?*.mem" />
+      <entry name="?*.mt" />
       <entry name="?*.nrm" />
       <entry name="?*.pdf" />
       <entry name="?*.png" />

Modified: lucene/dev/branches/solrcloud/dev-tools/idea/.idea/modules.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/idea/.idea/modules.xml?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/idea/.idea/modules.xml (original)
+++ lucene/dev/branches/solrcloud/dev-tools/idea/.idea/modules.xml Mon Oct 10 19:58:24 2011
@@ -30,6 +30,7 @@
       <module filepath="$PROJECT_DIR$/solr/contrib/dataimporthandler/dataimporthandler.iml" />
       <module filepath="$PROJECT_DIR$/solr/contrib/dataimporthandler-extras/dataimporthandler-extras.iml" />
       <module filepath="$PROJECT_DIR$/solr/contrib/extraction/extraction.iml" />
+      <module filepath="$PROJECT_DIR$/solr/contrib/langid/langid.iml" />
       <module filepath="$PROJECT_DIR$/solr/contrib/uima/uima.iml" />
     </modules>
   </component>

Modified: lucene/dev/branches/solrcloud/dev-tools/idea/.idea/workspace.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/idea/.idea/workspace.xml?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/idea/.idea/workspace.xml (original)
+++ lucene/dev/branches/solrcloud/dev-tools/idea/.idea/workspace.xml Mon Oct 10 19:58:24 2011
@@ -92,6 +92,13 @@
       <option name="VM_PARAMETERS" value="-ea -DtempDir=temp" />
       <option name="TEST_SEARCH_SCOPE"><value defaultName="singleModule" /></option>
     </configuration>
+    <configuration default="false" name="langid contrib" type="JUnit" factoryName="JUnit">
+      <module name="langid" />
+      <option name="TEST_OBJECT" value="package" />
+      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/solr/build/contrib/solr-langid" />
+      <option name="VM_PARAMETERS" value="-ea -DtempDir=temp -Djetty.testMode=1 -Djetty.insecurerandom=1 -Dsolr.directoryFactory=org.apache.solr.core.MockDirectoryFactory" />
+      <option name="TEST_SEARCH_SCOPE"><value defaultName="singleModule" /></option>
+    </configuration>
     <configuration default="false" name="lucene" type="JUnit" factoryName="JUnit">
       <module name="lucene" />
       <option name="TEST_OBJECT" value="package" />
@@ -190,7 +197,7 @@
       <option name="VM_PARAMETERS" value="-ea -Dtests.luceneMatchVersion=4.0 -DtempDir=temp -Djetty.testMode=1 -Djetty.insecurerandom=1 -Dsolr.directoryFactory=org.apache.solr.core.MockDirectoryFactory" />
       <option name="TEST_SEARCH_SCOPE"><value defaultName="singleModule" /></option>
     </configuration>
-    <list size="27">
+    <list size="28">
       <item index="0" class="java.lang.String" itemvalue="JUnit.analysis-extras contrib" />
       <item index="1" class="java.lang.String" itemvalue="JUnit.benchmark module" />
       <item index="2" class="java.lang.String" itemvalue="JUnit.clustering contrib" />
@@ -204,20 +211,21 @@
       <item index="10" class="java.lang.String" itemvalue="JUnit.icu analysis module" />
       <item index="11" class="java.lang.String" itemvalue="JUnit.instantiated contrib" />
       <item index="12" class="java.lang.String" itemvalue="JUnit.join module" />
-      <item index="13" class="java.lang.String" itemvalue="JUnit.lucene" />
-      <item index="14" class="java.lang.String" itemvalue="JUnit.memory contrib" />
-      <item index="15" class="java.lang.String" itemvalue="JUnit.misc contrib" />
-      <item index="16" class="java.lang.String" itemvalue="JUnit.morfologik analysis module" />
-      <item index="17" class="java.lang.String" itemvalue="JUnit.phonetic analysis module" />
-      <item index="18" class="java.lang.String" itemvalue="JUnit.queries module" />
-      <item index="19" class="java.lang.String" itemvalue="JUnit.queryparser module" />
-      <item index="20" class="java.lang.String" itemvalue="JUnit.sandbox contrib" />
-      <item index="21" class="java.lang.String" itemvalue="JUnit.smartcn analysis module" />
-      <item index="22" class="java.lang.String" itemvalue="JUnit.solr" />
-      <item index="23" class="java.lang.String" itemvalue="JUnit.spatial contrib" />
-      <item index="24" class="java.lang.String" itemvalue="JUnit.stempel analysis module" />
-      <item index="25" class="java.lang.String" itemvalue="JUnit.suggest module" />
-      <item index="26" class="java.lang.String" itemvalue="JUnit.uima contrib" />
+      <item index="13" class="java.lang.String" itemvalue="JUnit.langid contrib" />
+      <item index="14" class="java.lang.String" itemvalue="JUnit.lucene" />
+      <item index="15" class="java.lang.String" itemvalue="JUnit.memory contrib" />
+      <item index="16" class="java.lang.String" itemvalue="JUnit.misc contrib" />
+      <item index="17" class="java.lang.String" itemvalue="JUnit.morfologik analysis module" />
+      <item index="18" class="java.lang.String" itemvalue="JUnit.phonetic analysis module" />
+      <item index="19" class="java.lang.String" itemvalue="JUnit.queries module" />
+      <item index="20" class="java.lang.String" itemvalue="JUnit.queryparser module" />
+      <item index="21" class="java.lang.String" itemvalue="JUnit.sandbox contrib" />
+      <item index="22" class="java.lang.String" itemvalue="JUnit.smartcn analysis module" />
+      <item index="23" class="java.lang.String" itemvalue="JUnit.solr" />
+      <item index="24" class="java.lang.String" itemvalue="JUnit.spatial contrib" />
+      <item index="25" class="java.lang.String" itemvalue="JUnit.stempel analysis module" />
+      <item index="26" class="java.lang.String" itemvalue="JUnit.suggest module" />
+      <item index="27" class="java.lang.String" itemvalue="JUnit.uima contrib" />
     </list>
   </component>
 </project>

Modified: lucene/dev/branches/solrcloud/dev-tools/idea/modules/grouping/grouping.iml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/idea/modules/grouping/grouping.iml?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/idea/modules/grouping/grouping.iml (original)
+++ lucene/dev/branches/solrcloud/dev-tools/idea/modules/grouping/grouping.iml Mon Oct 10 19:58:24 2011
@@ -12,5 +12,6 @@
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
     <orderEntry type="module" module-name="lucene" />
+    <orderEntry type="module" module-name="queries" />
   </component>
 </module>

Modified: lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/analysis-extras/analysis-extras.iml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/analysis-extras/analysis-extras.iml?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/analysis-extras/analysis-extras.iml (original)
+++ lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/analysis-extras/analysis-extras.iml Mon Oct 10 19:58:24 2011
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="false">
-    <output url="file://$MODULE_DIR$/../../build/contrib/analysis-extras/classes/java" />
-    <output-test url="file://$MODULE_DIR$/../../build/contrib/analysis-extras/classes/test" />
+  <component name="NewModuleRootManager" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/../../build/contrib/solr-analysis-extras/classes/java" />
+    <output-test url="file://$MODULE_DIR$/../../build/contrib/solr-analysis-extras/classes/test" />
     <exclude-output />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />

Modified: lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/clustering/clustering.iml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/clustering/clustering.iml?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/clustering/clustering.iml (original)
+++ lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/clustering/clustering.iml Mon Oct 10 19:58:24 2011
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="false">
-    <output url="file://$MODULE_DIR$/../../build/contrib/clustering/classes/java" />
-    <output-test url="file://$MODULE_DIR$/../../build/contrib/clustering/classes/test" />
+  <component name="NewModuleRootManager" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/../../build/contrib/solr-clustering/classes/java" />
+    <output-test url="file://$MODULE_DIR$/../../build/contrib/solr-clustering/classes/test" />
     <exclude-output />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />

Modified: lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/dataimporthandler-extras/dataimporthandler-extras.iml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/dataimporthandler-extras/dataimporthandler-extras.iml?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/dataimporthandler-extras/dataimporthandler-extras.iml (original)
+++ lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/dataimporthandler-extras/dataimporthandler-extras.iml Mon Oct 10 19:58:24 2011
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="false">
-    <output url="file://$MODULE_DIR$/../../build/contrib/dataimporthandler-extras/classes/java" />
-    <output-test url="file://$MODULE_DIR$/../../build/contrib/dataimporthandler-extras/classes/test" />
+  <component name="NewModuleRootManager" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/../../build/contrib/solr-dataimporthandler-extras/classes/java" />
+    <output-test url="file://$MODULE_DIR$/../../build/contrib/solr-dataimporthandler-extras/classes/test" />
     <exclude-output />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />

Modified: lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/dataimporthandler/dataimporthandler.iml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/dataimporthandler/dataimporthandler.iml?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/dataimporthandler/dataimporthandler.iml (original)
+++ lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/dataimporthandler/dataimporthandler.iml Mon Oct 10 19:58:24 2011
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="false">
-    <output url="file://$MODULE_DIR$/../../build/contrib/dataimporthandler/classes/java" />
-    <output-test url="file://$MODULE_DIR$/../../build/contrib/dataimporthandler/classes/test" />
+  <component name="NewModuleRootManager" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/../../build/contrib/solr-dataimporthandler/classes/java" />
+    <output-test url="file://$MODULE_DIR$/../../build/contrib/solr-dataimporthandler/classes/test" />
     <exclude-output />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />

Modified: lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/extraction/extraction.iml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/extraction/extraction.iml?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/extraction/extraction.iml (original)
+++ lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/extraction/extraction.iml Mon Oct 10 19:58:24 2011
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="false">
-    <output url="file://$MODULE_DIR$/../../build/contrib/extraction/classes/java" />
-    <output-test url="file://$MODULE_DIR$/../../build/contrib/extraction/classes/test" />
+  <component name="NewModuleRootManager" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/../../build/contrib/solr-cell/classes/java" />
+    <output-test url="file://$MODULE_DIR$/../../build/contrib/solr-cell/classes/test" />
     <exclude-output />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />

Modified: lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/uima/uima.iml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/uima/uima.iml?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/uima/uima.iml (original)
+++ lucene/dev/branches/solrcloud/dev-tools/idea/solr/contrib/uima/uima.iml Mon Oct 10 19:58:24 2011
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="false">
-    <output url="file://$MODULE_DIR$/../../build/contrib/uima/classes/java" />
-    <output-test url="file://$MODULE_DIR$/../../build/contrib/uima/classes/test" />
+  <component name="NewModuleRootManager" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/../../build/contrib/solr-uima/classes/java" />
+    <output-test url="file://$MODULE_DIR$/../../build/contrib/solr-uima/classes/test" />
     <exclude-output />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />

Modified: lucene/dev/branches/solrcloud/dev-tools/idea/solr/solr.iml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/idea/solr/solr.iml?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/idea/solr/solr.iml (original)
+++ lucene/dev/branches/solrcloud/dev-tools/idea/solr/solr.iml Mon Oct 10 19:58:24 2011
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="false">
+  <component name="NewModuleRootManager" inherit-compiler-output="false">
     <output url="file://$MODULE_DIR$/build/solr-idea/classes/java" />
     <output-test url="file://$MODULE_DIR$/build/solr-idea/classes/test" />
     <exclude-output />

Modified: lucene/dev/branches/solrcloud/dev-tools/maven/modules/grouping/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/maven/modules/grouping/pom.xml.template?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/maven/modules/grouping/pom.xml.template (original)
+++ lucene/dev/branches/solrcloud/dev-tools/maven/modules/grouping/pom.xml.template Mon Oct 10 19:58:24 2011
@@ -48,6 +48,11 @@
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>lucene-queries</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>test</scope>

Modified: lucene/dev/branches/solrcloud/dev-tools/maven/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/maven/pom.xml.template?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/maven/pom.xml.template (original)
+++ lucene/dev/branches/solrcloud/dev-tools/maven/pom.xml.template Mon Oct 10 19:58:24 2011
@@ -45,7 +45,7 @@
     <jetty.version>6.1.26</jetty.version>
     <patched.jetty.version>6.1.26-patched-JETTY-1340</patched.jetty.version>
     <slf4j.version>1.6.1</slf4j.version>
-    <tika.version>0.8</tika.version>
+    <tika.version>0.10</tika.version>
   </properties>
   <issueManagement>
     <system>JIRA</system>

Modified: lucene/dev/branches/solrcloud/dev-tools/maven/solr/contrib/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/dev-tools/maven/solr/contrib/pom.xml.template?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/dev-tools/maven/solr/contrib/pom.xml.template (original)
+++ lucene/dev/branches/solrcloud/dev-tools/maven/solr/contrib/pom.xml.template Mon Oct 10 19:58:24 2011
@@ -36,6 +36,7 @@
     <module>dataimporthandler</module>
     <module>dataimporthandler-extras</module>
     <module>extraction</module>
+    <module>langid</module>
     <module>uima</module>
   </modules>
   <build>

Modified: lucene/dev/branches/solrcloud/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/CHANGES.txt?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/solrcloud/lucene/CHANGES.txt Mon Oct 10 19:58:24 2011
@@ -548,6 +548,10 @@ New features
 * LUCENE-2309: Added IndexableField.tokenStream(Analyzer) which is now 
   responsible for creating the TokenStreams for Fields when they are to 
   be indexed.  (Chris Male)
+  
+* LUCENE-3433: Added random access for non RAM resident IndexDocValues. RAM
+  resident and disk resident IndexDocValues are now exposed via the Source
+  interface. ValuesEnum has been removed in favour of Source. (Simon Willnauer)
 
 Optimizations
 
@@ -656,6 +660,9 @@ Optimizations
 * LUCENE-3426: Add NGramPhraseQuery which extends PhraseQuery and tries to 
   reduce the number of terms of the query when rewrite(), in order to improve 
   performance.  (Robert Muir, Koji Sekiguchi)
+  
+* LUCENE-3494: Optimize FilteredQuery to remove a multiply in score()
+  (Uwe Schindler, Robert Muir)
 
 Test Cases
 

Modified: lucene/dev/branches/solrcloud/lucene/contrib/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/contrib/CHANGES.txt?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/contrib/CHANGES.txt (original)
+++ lucene/dev/branches/solrcloud/lucene/contrib/CHANGES.txt Mon Oct 10 19:58:24 2011
@@ -112,6 +112,9 @@ Bug Fixes
    
  * LUCENE-3484: Fix NPE in TaxonomyWriter: parents array creation was not thread safe.
    (Doron Cohen)
+   
+ * LUCENE-3495: Fix BlockJoinQuery to properly implement getBoost()/setBoost().
+   (Robert Muir)
 
 API Changes
  
@@ -173,6 +176,11 @@ API Changes
    new FieldValueQueryNode<CharSequence>, which this last one implements
    FieldableQueryNode and thew new ValueQueryNode
    (Vinicius Barros via Uwe Schindler)
+   
+ * LUCENE-3488: Factored out SearcherManager from NRTManager. NRTManager
+   now manages SearcherManager instances instead of IndexSearcher directly.
+   Acquiring a SearcherManager is non-blocking unless the caller explicitly
+   requires to acquire a certain SearcherManager generation. (Simon Willnauer)
 
 Optimizations
 

Modified: lucene/dev/branches/solrcloud/lucene/contrib/contrib-build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/contrib/contrib-build.xml?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/contrib/contrib-build.xml (original)
+++ lucene/dev/branches/solrcloud/lucene/contrib/contrib-build.xml Mon Oct 10 19:58:24 2011
@@ -141,6 +141,17 @@
     <property name="analyzers-common.uptodate" value="true"/>
   </target>
 
+  <property name="facet.jar" value="${common.dir}/../modules/facet/build/lucene-facet-${version}.jar"/>
+  <target name="check-facet-uptodate" unless="facet.uptodate">
+    <module-uptodate name="facet" jarfile="${facet.jar}" property="facet.uptodate"/>
+  </target>
+  <target name="jar-facet" unless="facet.uptodate" depends="check-facet-uptodate">
+    <ant dir="${common.dir}/../modules/facet" target="jar-core" inheritall="false">
+      <propertyset refid="uptodate.and.compiled.properties"/>
+    </ant>
+    <property name="facet.uptodate" value="true"/>
+  </target>
+
   <property name="analyzers-icu.jar" value="${common.dir}/../modules/analysis/build/icu/lucene-analyzers-icu-${version}.jar"/>
   <target name="check-analyzers-icu-uptodate" unless="analyzers-icu.uptodate">
     <module-uptodate name="analysis/icu" jarfile="${analyzers-icu.jar}" property="analyzers-icu.uptodate"/>

Modified: lucene/dev/branches/solrcloud/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java (original)
+++ lucene/dev/branches/solrcloud/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java Mon Oct 10 19:58:24 2011
@@ -41,6 +41,7 @@ import org.apache.lucene.search.spans.Sp
 import org.apache.lucene.search.spans.SpanQuery;
 import org.apache.lucene.search.spans.SpanTermQuery;
 import org.apache.lucene.search.spans.Spans;
+import org.apache.lucene.util.Bits;
 
 /**
  * Class used to extract {@link WeightedSpanTerm}s from a {@link Query} based on whether 
@@ -248,11 +249,12 @@ public class WeightedSpanTermExtractor {
     for (final String field : fieldNames) {
 
       AtomicReaderContext context = getLeafContextForField(field);
+      Bits acceptDocs = context.reader.getLiveDocs();
       final Spans spans;
       if (mustRewriteQuery) {
-        spans = queries.get(field).getSpans(context);
+        spans = queries.get(field).getSpans(context, acceptDocs);
       } else {
-        spans = spanQuery.getSpans(context);
+        spans = spanQuery.getSpans(context, acceptDocs);
       }
 
 

Modified: lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/NRTManager.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/NRTManager.java?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/NRTManager.java (original)
+++ lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/NRTManager.java Mon Oct 10 19:58:24 2011
@@ -22,23 +22,25 @@ import java.io.IOException;
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.ExecutorService;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Condition;
+import java.util.concurrent.locks.ReentrantLock;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.index.IndexReader;       // javadocs
-import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.index.IndexReader; // javadocs
+import org.apache.lucene.search.IndexSearcher; // javadocs
 import org.apache.lucene.search.Query;
+import org.apache.lucene.search.SearcherManager;
 import org.apache.lucene.search.SearcherWarmer;
+import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.ThreadInterruptedException;
 
-// TODO
-//   - we could make this work also w/ "normal" reopen/commit?
-
 /**
  * Utility class to manage sharing near-real-time searchers
  * across multiple searching threads.
  *
- * <p>NOTE: to use this class, you must call reopen
+ * <p>NOTE: to use this class, you must call {@link #maybeReopen(boolean)}
  * periodically.  The {@link NRTManagerReopenThread} is a
  * simple class to do this on a periodic basis.  If you
  * implement your own reopener, be sure to call {@link
@@ -50,15 +52,12 @@ import org.apache.lucene.util.ThreadInte
 
 public class NRTManager implements Closeable {
   private final IndexWriter writer;
-  private final ExecutorService es;
+  private final SearcherManagerRef withoutDeletes;
+  private final SearcherManagerRef withDeletes;
   private final AtomicLong indexingGen;
-  private final AtomicLong searchingGen;
-  private final AtomicLong noDeletesSearchingGen;
-  private final SearcherWarmer warmer;
   private final List<WaitingListener> waitingListeners = new CopyOnWriteArrayList<WaitingListener>();
-
-  private volatile IndexSearcher currentSearcher;
-  private volatile IndexSearcher noDeletesCurrentSearcher;
+  private final ReentrantLock reopenLock = new ReentrantLock();
+  private final Condition newGeneration = reopenLock.newCondition();
 
   /**
    * Create new NRTManager.
@@ -66,9 +65,8 @@ public class NRTManager implements Close
    *  @param writer IndexWriter to open near-real-time
    *         readers
    *  @param es optional ExecutorService so different segments can
-   *         be searched concurrently (see {@link
-   *         IndexSearcher#IndexSearcher(IndexReader,ExecutorService)}.  Pass null
-   *         to search segments sequentially.
+   *         be searched concurrently (see {@link IndexSearcher#IndexSearcher(IndexReader, ExecutorService)}.
+   *         Pass <code>null</code> to search segments sequentially.
    *  @param warmer optional {@link SearcherWarmer}.  Pass
    *         null if you don't require the searcher to warmed
    *         before going live.  If this is non-null then a
@@ -79,29 +77,30 @@ public class NRTManager implements Close
    *  not invoked for the initial searcher; you should
    *  warm it yourself if necessary.
    */
-  public NRTManager(IndexWriter writer, ExecutorService es, SearcherWarmer warmer) throws IOException {
+  public NRTManager(IndexWriter writer, ExecutorService es,
+      SearcherWarmer warmer) throws IOException {
+    this(writer, es, warmer, true);
+  }
 
+  /**
+   * Expert: just like {@link
+   * #NRTManager(IndexWriter,ExecutorService,SearcherWarmer)},
+   * but you can also specify whether every searcher must
+   * apply deletes.  This is useful for cases where certain
+   * uses can tolerate seeing some deleted docs, since
+   * reopen time is faster if deletes need not be applied. */
+  public NRTManager(IndexWriter writer, ExecutorService es,
+      SearcherWarmer warmer, boolean alwaysApplyDeletes) throws IOException {
     this.writer = writer;
-    this.es = es;
-    this.warmer = warmer;
-    indexingGen = new AtomicLong(1);
-    searchingGen = new AtomicLong(-1);
-    noDeletesSearchingGen = new AtomicLong(-1);
-
-    // Create initial reader:
-    swapSearcher(new IndexSearcher(IndexReader.open(writer, true), es), 0, true);
-
-    if (this.warmer != null) {
-      writer.getConfig().setMergedSegmentWarmer(
-         new IndexWriter.IndexReaderWarmer() {
-           @Override
-           public void warm(IndexReader reader) throws IOException {
-             NRTManager.this.warmer.warm(new IndexSearcher(reader, NRTManager.this.es));
-           }
-         });
+    if (alwaysApplyDeletes) {
+      withoutDeletes = withDeletes = new SearcherManagerRef(true, 0,  SearcherManager.open(writer, true, warmer, es));
+    } else {
+      withDeletes = new SearcherManagerRef(true, 0,  SearcherManager.open(writer, true, warmer, es));
+      withoutDeletes = new SearcherManagerRef(false, 0,  SearcherManager.open(writer, false, warmer, es));
     }
+    indexingGen = new AtomicLong(1);
   }
-
+  
   /** NRTManager invokes this interface to notify it when a
    *  caller is waiting for a specific generation searcher
    *  to be visible. */
@@ -182,201 +181,162 @@ public class NRTManager implements Close
     return indexingGen.get();
   }
 
-  /** Returns the most current searcher.  If you require a
-   *  certain indexing generation be visible in the returned
-   *  searcher, call {@link #get(long)}
-   *  instead.
+  /**
+   * Waits for a given {@link SearcherManager} target generation to be available
+   * via {@link #getSearcherManager(boolean)}. If the current generation is less
+   * than the given target generation this method will block until the
+   * correspondent {@link SearcherManager} is reopened by another thread via
+   * {@link #maybeReopen(boolean)} or until the {@link NRTManager} is closed.
+   * 
+   * @param targetGen the generation to wait for
+   * @param requireDeletes <code>true</code> iff the generation requires deletes to be applied otherwise <code>false</code>
+   * @return the {@link SearcherManager} with the given target generation
    */
-  public synchronized IndexSearcher get() {
-    return get(true);
-  }
-
-  /** Just like {@link #get}, but by passing <code>false</code> for
-   *  requireDeletes, you can get faster reopen time, but
-   *  the returned reader is allowed to not reflect all
-   *  deletions.  See {@link IndexReader#open(IndexWriter,boolean)}  */
-  public synchronized IndexSearcher get(boolean requireDeletes) {
-    final IndexSearcher s;
-    if (requireDeletes) {
-      s = currentSearcher;
-    } else if (noDeletesSearchingGen.get() > searchingGen.get()) {
-      s = noDeletesCurrentSearcher;
-    } else {
-      s = currentSearcher;
-    }
-    s.getIndexReader().incRef();
-    return s;
+  public SearcherManager waitForGeneration(long targetGen, boolean requireDeletes) {
+    return waitForGeneration(targetGen, requireDeletes, -1,  TimeUnit.NANOSECONDS);
   }
 
-  /** Call this if you require a searcher reflecting all
-   *  changes as of the target generation.
-   *
-   * @param targetGen Returned searcher must reflect changes
-   * as of this generation
+  /**
+   * Waits for a given {@link SearcherManager} target generation to be available
+   * via {@link #getSearcherManager(boolean)}. If the current generation is less
+   * than the given target generation this method will block until the
+   * correspondent {@link SearcherManager} is reopened by another thread via
+   * {@link #maybeReopen(boolean)}, the given waiting time has elapsed, or until
+   * the {@link NRTManager} is closed.
+   * <p>
+   * NOTE: if the waiting time elapses before the requested target generation is
+   * available the latest {@link SearcherManager} is returned instead.
+   * 
+   * @param targetGen
+   *          the generation to wait for
+   * @param requireDeletes
+   *          <code>true</code> iff the generation requires deletes to be
+   *          applied otherwise <code>false</code>
+   * @param time
+   *          the time to wait for the target generation
+   * @param unit
+   *          the waiting time's time unit
+   * @return the {@link SearcherManager} with the given target generation or the
+   *         latest {@link SearcherManager} if the waiting time elapsed before
+   *         the requested generation is available.
    */
-  public synchronized IndexSearcher get(long targetGen) {
-    return get(targetGen, true);
-  }
-
-  /** Call this if you require a searcher reflecting all
-   *  changes as of the target generation, and you don't
-   *  require deletions to be reflected.  Note that the
-   *  returned searcher may still reflect some or all
-   *  deletions.
-   *
-   * @param targetGen Returned searcher must reflect changes
-   * as of this generation
-   *
-   * @param requireDeletes If true, the returned searcher must
-   * reflect all deletions.  This can be substantially more
-   * costly than not applying deletes.  Note that if you
-   * pass false, it's still possible that some or all
-   * deletes may have been applied.
-   **/
-  public synchronized IndexSearcher get(long targetGen, boolean requireDeletes) {
-
-    assert noDeletesSearchingGen.get() >= searchingGen.get(): "noDeletesSearchingGen=" + noDeletesSearchingGen.get() + " searchingGen=" + searchingGen.get();
-
-    if (targetGen > getCurrentSearchingGen(requireDeletes)) {
-      // Must wait
-      //final long t0 = System.nanoTime();
-      for(WaitingListener listener : waitingListeners) {
-        listener.waiting(requireDeletes, targetGen);
-      }
-      while (targetGen > getCurrentSearchingGen(requireDeletes)) {
-        //System.out.println(Thread.currentThread().getName() + ": wait fresh searcher targetGen=" + targetGen + " vs searchingGen=" + getCurrentSearchingGen(requireDeletes) + " requireDeletes=" + requireDeletes);
-        try {
-          wait();
-        } catch (InterruptedException ie) {
-          throw new ThreadInterruptedException(ie);
+  public SearcherManager waitForGeneration(long targetGen, boolean requireDeletes, long time, TimeUnit unit) {
+    try {
+      reopenLock.lockInterruptibly();
+      try {
+        if (targetGen > getCurrentSearchingGen(requireDeletes)) {
+          for (WaitingListener listener : waitingListeners) {
+            listener.waiting(requireDeletes, targetGen);
+          }
+          while (targetGen > getCurrentSearchingGen(requireDeletes)) {
+            if (!waitOnGenCondition(time, unit)) {
+              return getSearcherManager(requireDeletes);
+            }
+          }
         }
+
+      } finally {
+        reopenLock.unlock();
       }
-      //final long waitNS = System.nanoTime()-t0;
-      //System.out.println(Thread.currentThread().getName() + ": done wait fresh searcher targetGen=" + targetGen + " vs searchingGen=" + getCurrentSearchingGen(requireDeletes) + " requireDeletes=" + requireDeletes + " WAIT msec=" + (waitNS/1000000.0));
+    } catch (InterruptedException ie) {
+      throw new ThreadInterruptedException(ie);
     }
-
-    return get(requireDeletes);
+    return getSearcherManager(requireDeletes);
   }
-
-  /** Returns generation of current searcher. */
-  public long getCurrentSearchingGen(boolean requiresDeletes) {
-    return requiresDeletes ? searchingGen.get() : noDeletesSearchingGen.get();
+  
+  private boolean waitOnGenCondition(long time, TimeUnit unit)
+      throws InterruptedException {
+    assert reopenLock.isHeldByCurrentThread();
+    if (time < 0) {
+      newGeneration.await();
+      return true;
+    } else {
+      return newGeneration.await(time, unit);
+    }
   }
 
-  /** Release the searcher obtained from {@link
-   *  #get()} or {@link #get(long)}.
-   *
-   *  <p><b>NOTE</b>: it's safe to call this after {@link
-   *  #close}. */
-  public void release(IndexSearcher s) throws IOException {
-    s.getIndexReader().decRef();
+  /** Returns generation of current searcher. */
+  public long getCurrentSearchingGen(boolean applyAllDeletes) {
+    if (applyAllDeletes) {
+      return withDeletes.generation;
+    } else {
+      return Math.max(withoutDeletes.generation, withDeletes.generation);
+    }
   }
 
-  /** Call this when you need the NRT reader to reopen.
-   *
-   * @param applyDeletes If true, the newly opened reader
-   *        will reflect all deletes
-   */
-  public boolean reopen(boolean applyDeletes) throws IOException {
-
-    // Mark gen as of when reopen started:
-    final long newSearcherGen = indexingGen.getAndIncrement();
-
-    if (applyDeletes && currentSearcher.getIndexReader().isCurrent()) {
-      //System.out.println("reopen: skip: isCurrent both force gen=" + newSearcherGen + " vs current gen=" + searchingGen);
-      searchingGen.set(newSearcherGen);
-      noDeletesSearchingGen.set(newSearcherGen);
-      synchronized(this) {
-        notifyAll();
-      }
-      //System.out.println("reopen: skip: return");
-      return false;
-    } else if (!applyDeletes && noDeletesCurrentSearcher.getIndexReader().isCurrent()) {
-      //System.out.println("reopen: skip: isCurrent force gen=" + newSearcherGen + " vs current gen=" + noDeletesSearchingGen);
-      noDeletesSearchingGen.set(newSearcherGen);
-      synchronized(this) {
-        notifyAll();
+  public boolean maybeReopen(boolean applyAllDeletes) throws IOException {
+    if (reopenLock.tryLock()) {
+      try {
+        final SearcherManagerRef reference = applyAllDeletes ? withDeletes : withoutDeletes;
+        // Mark gen as of when reopen started:
+        final long newSearcherGen = indexingGen.getAndIncrement();
+        boolean setSearchGen = false;
+        if (!(setSearchGen = reference.manager.isSearcherCurrent())) {
+          setSearchGen = reference.manager.maybeReopen();
+        }
+        if (setSearchGen) {
+          reference.generation = newSearcherGen;// update searcher gen
+          newGeneration.signalAll(); // wake up threads if we have a new generation
+        }
+        return setSearchGen;
+      } finally {
+        reopenLock.unlock();
       }
-      //System.out.println("reopen: skip: return");
-      return false;
     }
+    return false;
+  }
 
-    //System.out.println("indexingGen now " + indexingGen);
-
-    // .reopen() returns a new reference:
-
-    // Start from whichever searcher is most current:
-    final IndexSearcher startSearcher = noDeletesSearchingGen.get() > searchingGen.get() ? noDeletesCurrentSearcher : currentSearcher;
-    IndexReader nextReader = IndexReader.openIfChanged(startSearcher.getIndexReader(), writer, applyDeletes);
-    if (nextReader == null) {
-      // NOTE: doesn't happen currently in Lucene (reopen on
-      // NRT reader always returns new reader), but could in
-      // the future:
-      nextReader = startSearcher.getIndexReader();
-      nextReader.incRef();
+  /**
+   * Close this NRTManager to future searching. Any searches still in process in
+   * other threads won't be affected, and they should still call
+   * {@link SearcherManager#release(IndexSearcher)} after they are done.
+   * 
+   * <p>
+   * <b>NOTE</b>: caller must separately close the writer.
+   */
+  public synchronized void close() throws IOException {
+    reopenLock.lock();
+    try {
+      IOUtils.close(withDeletes, withoutDeletes);
+      newGeneration.signalAll();
+    } finally {
+      reopenLock.unlock();
     }
+  }
 
-    if (nextReader != startSearcher.getIndexReader()) {
-      final IndexSearcher nextSearcher = new IndexSearcher(nextReader, es);
-      if (warmer != null) {
-        boolean success = false;
-        try {
-          warmer.warm(nextSearcher);
-          success = true;
-        } finally {
-          if (!success) {
-            nextReader.decRef();
-          }
-        }
-      }
-
-      // Transfer reference to swapSearcher:
-      swapSearcher(nextSearcher,
-                   newSearcherGen,
-                   applyDeletes);
-      return true;
+  /**
+   * Returns a {@link SearcherManager}. If <code>applyAllDeletes</code> is
+   * <code>true</code> the returned manager is guaranteed to have all deletes
+   * applied on the last reopen. Otherwise the latest manager with or without deletes
+   * is returned.
+   */
+  public SearcherManager getSearcherManager(boolean applyAllDeletes) {
+    if (applyAllDeletes) {
+      return withDeletes.manager;
     } else {
-      return false;
+      if (withDeletes.generation > withoutDeletes.generation) {
+        return withDeletes.manager;
+      } else {
+        return withoutDeletes.manager;
+      }
     }
   }
-
-  // Steals a reference from newSearcher:
-  private synchronized void swapSearcher(IndexSearcher newSearcher, long newSearchingGen, boolean applyDeletes) throws IOException {
-    //System.out.println(Thread.currentThread().getName() + ": swap searcher gen=" + newSearchingGen + " applyDeletes=" + applyDeletes);
-    
-    // Always replace noDeletesCurrentSearcher:
-    if (noDeletesCurrentSearcher != null) {
-      noDeletesCurrentSearcher.getIndexReader().decRef();
+  
+  static final class SearcherManagerRef implements Closeable {
+    final boolean applyDeletes;
+    volatile long generation;
+    final SearcherManager manager;
+
+    SearcherManagerRef(boolean applyDeletes, long generation, SearcherManager manager) {
+      super();
+      this.applyDeletes = applyDeletes;
+      this.generation = generation;
+      this.manager = manager;
     }
-    noDeletesCurrentSearcher = newSearcher;
-    assert newSearchingGen > noDeletesSearchingGen.get(): "newSearchingGen=" + newSearchingGen + " noDeletesSearchingGen=" + noDeletesSearchingGen;
-    noDeletesSearchingGen.set(newSearchingGen);
-
-    if (applyDeletes) {
-      // Deletes were applied, so we also update currentSearcher:
-      if (currentSearcher != null) {
-        currentSearcher.getIndexReader().decRef();
-      }
-      currentSearcher = newSearcher;
-      if (newSearcher != null) {
-        newSearcher.getIndexReader().incRef();
-      }
-      assert newSearchingGen > searchingGen.get(): "newSearchingGen=" + newSearchingGen + " searchingGen=" + searchingGen;
-      searchingGen.set(newSearchingGen);
+    
+    public void close() throws IOException {
+      generation = Long.MAX_VALUE; // max it out to make sure nobody can wait on another gen
+      manager.close();
     }
-
-    notifyAll();
-    //System.out.println(Thread.currentThread().getName() + ": done");
-  }
-
-  /** Close this NRTManager to future searching.  Any
-   *  searches still in process in other threads won't be
-   *  affected, and they should still call {@link #release}
-   *  after they are done.
-   *
-   * <p><b>NOTE</b>: caller must separately close the writer. */
-  @Override
-  public void close() throws IOException {
-    swapSearcher(null, indexingGen.getAndIncrement(), true);
   }
 }

Modified: lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/NRTManagerReopenThread.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/NRTManagerReopenThread.java?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/NRTManagerReopenThread.java (original)
+++ lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/NRTManagerReopenThread.java Mon Oct 10 19:58:24 2011
@@ -80,12 +80,13 @@ import org.apache.lucene.util.ThreadInte
  */
 
 public class NRTManagerReopenThread extends Thread implements NRTManager.WaitingListener, Closeable {
+  
   private final NRTManager manager;
   private final long targetMaxStaleNS;
   private final long targetMinStaleNS;
   private boolean finish;
-  private boolean waitingNeedsDeletes;
   private long waitingGen;
+  private boolean waitingNeedsDeletes;
 
   /**
    * Create NRTManagerReopenThread, to periodically reopen the NRT searcher.
@@ -131,7 +132,7 @@ public class NRTManagerReopenThread exte
   }
 
   @Override
-    public void run() {
+  public void run() {
     // TODO: maybe use private thread ticktock timer, in
     // case clock shift messes up nanoTime?
     long lastReopenStartNS = System.nanoTime();
@@ -140,8 +141,6 @@ public class NRTManagerReopenThread exte
     try {
       while (true) {
 
-        final boolean doApplyDeletes;
-
         boolean hasWaiting = false;
 
         synchronized(this) {
@@ -176,16 +175,13 @@ public class NRTManagerReopenThread exte
             //System.out.println("reopen: finish");
             return;
           }
-
-          doApplyDeletes = hasWaiting ? waitingNeedsDeletes : true;
-          waitingNeedsDeletes = false;
           //System.out.println("reopen: start hasWaiting=" + hasWaiting);
         }
 
         lastReopenStartNS = System.nanoTime();
         try {
           //final long t0 = System.nanoTime();
-          manager.reopen(doApplyDeletes);
+          manager.maybeReopen(waitingNeedsDeletes);
           //System.out.println("reopen took " + ((System.nanoTime()-t0)/1000000.0) + " msec");
         } catch (IOException ioe) {
           //System.out.println(Thread.currentThread().getName() + ": IOE");

Modified: lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/codecs/appending/AppendingCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/codecs/appending/AppendingCodec.java?rev=1181188&r1=1181187&r2=1181188&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/codecs/appending/AppendingCodec.java (original)
+++ lucene/dev/branches/solrcloud/lucene/contrib/misc/src/java/org/apache/lucene/index/codecs/appending/AppendingCodec.java Mon Oct 10 19:58:24 2011
@@ -137,22 +137,22 @@ public class AppendingCodec extends Code
     StandardPostingsReader.files(dir, segmentInfo, codecId, files);
     BlockTermsReader.files(dir, segmentInfo, codecId, files);
     FixedGapTermsIndexReader.files(dir, segmentInfo, codecId, files);
-    DefaultDocValuesConsumer.files(dir, segmentInfo, codecId, files, getDocValuesUseCFS());
+    DefaultDocValuesConsumer.files(dir, segmentInfo, codecId, files);
   }
 
   @Override
   public void getExtensions(Set<String> extensions) {
     StandardCodec.getStandardExtensions(extensions);
-    DefaultDocValuesConsumer.getDocValuesExtensions(extensions, getDocValuesUseCFS());
+    DefaultDocValuesConsumer.getExtensions(extensions);
   }
   
   @Override
   public PerDocConsumer docsConsumer(PerDocWriteState state) throws IOException {
-    return new DefaultDocValuesConsumer(state, getDocValuesSortComparator(), getDocValuesUseCFS());
+    return new DefaultDocValuesConsumer(state);
   }
 
   @Override
   public PerDocValues docsProducer(SegmentReadState state) throws IOException {
-    return new DefaultDocValuesProducer(state.segmentInfo, state.dir, state.fieldInfos, state.codecId, getDocValuesUseCFS(), getDocValuesSortComparator(), state.context);
+    return new DefaultDocValuesProducer(state);
   }
 }