You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2012/01/25 21:32:53 UTC

svn commit: r1235919 [1/12] - in /lucene/dev/branches/lucene3661: ./ dev-tools/eclipse/ dev-tools/idea/lucene/contrib/ dev-tools/maven/ dev-tools/maven/solr/core/ dev-tools/maven/solr/solrj/ lucene/ lucene/contrib/ lucene/contrib/sandbox/src/test/org/a...

Author: rmuir
Date: Wed Jan 25 20:32:44 2012
New Revision: 1235919

URL: http://svn.apache.org/viewvc?rev=1235919&view=rev
Log:
merge trunk (1233476:1235908)

Added:
    lucene/dev/branches/lucene3661/lucene/src/test-framework/java/org/apache/lucene/analysis/MockCharFilter.java
      - copied unchanged from r1235908, lucene/dev/trunk/lucene/src/test-framework/java/org/apache/lucene/analysis/MockCharFilter.java
    lucene/dev/branches/lucene3661/lucene/src/test/org/apache/lucene/analysis/TestMockCharFilter.java
      - copied unchanged from r1235908, lucene/dev/trunk/lucene/src/test/org/apache/lucene/analysis/TestMockCharFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLCharacterEntities.jflex
      - copied unchanged from r1235908, lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLCharacterEntities.jflex
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.SUPPLEMENTARY.jflex-macro
      - copied unchanged from r1235908, lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.SUPPLEMENTARY.jflex-macro
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.jflex
      - copied unchanged from r1235908, lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.jflex
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/charfilter/htmlentity.py
      - copied unchanged from r1235908, lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/charfilter/htmlentity.py
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/core/TypeTokenFilter.java
      - copied unchanged from r1235908, lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/core/TypeTokenFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/charfilter/MS-Word 14 generated.htm
      - copied unchanged from r1235908, lucene/dev/trunk/modules/analysis/common/src/test/org/apache/lucene/analysis/charfilter/MS-Word 14 generated.htm
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilter.java
      - copied unchanged from r1235908, lucene/dev/trunk/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/icu/src/tools/java/org/apache/lucene/analysis/icu/GenerateHTMLStripCharFilterSupplementaryMacros.java
      - copied unchanged from r1235908, lucene/dev/trunk/modules/analysis/icu/src/tools/java/org/apache/lucene/analysis/icu/GenerateHTMLStripCharFilterSupplementaryMacros.java
    lucene/dev/branches/lucene3661/solr/cloud-dev/   (props changed)
      - copied from r1235908, lucene/dev/trunk/solr/cloud-dev/
    lucene/dev/branches/lucene3661/solr/contrib/extraction/lib/commons-compress-1.3.jar
      - copied unchanged from r1235908, lucene/dev/trunk/solr/contrib/extraction/lib/commons-compress-1.3.jar
    lucene/dev/branches/lucene3661/solr/contrib/extraction/lib/tika-core-1.0.jar
      - copied unchanged from r1235908, lucene/dev/trunk/solr/contrib/extraction/lib/tika-core-1.0.jar
    lucene/dev/branches/lucene3661/solr/contrib/extraction/lib/tika-parsers-1.0.jar
      - copied unchanged from r1235908, lucene/dev/trunk/solr/contrib/extraction/lib/tika-parsers-1.0.jar
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/analysis/LegacyHTMLStripCharFilter.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/analysis/LegacyHTMLStripCharFilter.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/analysis/LegacyHTMLStripCharFilterFactory.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/analysis/LegacyHTMLStripCharFilterFactory.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/analysis/TypeTokenFilterFactory.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/analysis/TypeTokenFilterFactory.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/cloud/AssignShard.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/AssignShard.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/cloud/CurrentCoreDescriptorProvider.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/CurrentCoreDescriptorProvider.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/cloud/LeaderElector.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/LeaderElector.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/cloud/NodeStateWatcher.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/NodeStateWatcher.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/cloud/Overseer.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/Overseer.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/cloud/ShardLeaderWatcher.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ShardLeaderWatcher.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/search/FunctionRangeQuery.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/FunctionRangeQuery.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/PeerSync.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/PeerSync.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/TransactionLog.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/TransactionLog.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/VersionBucket.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/VersionBucket.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/VersionInfo.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/VersionInfo.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessorFactory.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessorFactory.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/util/DefaultSolrThreadFactory.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/java/org/apache/solr/util/DefaultSolrThreadFactory.java
    lucene/dev/branches/lucene3661/solr/core/src/test-files/solr/conf/stoptypes-1.txt
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test-files/solr/conf/stoptypes-1.txt
    lucene/dev/branches/lucene3661/solr/core/src/test-files/solr/conf/stoptypes-2.txt
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test-files/solr/conf/stoptypes-2.txt
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/analysis/LegacyHTMLStripCharFilterTest.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/analysis/LegacyHTMLStripCharFilterTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/analysis/TestHTMLStripCharFilterFactory.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/analysis/TestHTMLStripCharFilterFactory.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/analysis/TestTypeTokenFilterFactory.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/analysis/TestTypeTokenFilterFactory.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/analysis/htmlStripReaderTest.html
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/analysis/htmlStripReaderTest.html
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/ChaosMonkey.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ChaosMonkey.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderTest.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/CloudStateTest.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CloudStateTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudTest.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/LeaderElectionIntegrationTest.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/LeaderElectionIntegrationTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/TestHashPartitioner.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/TestHashPartitioner.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/search/TestRecovery.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/search/TestRecovery.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/update/SolrCmdDistributorTest.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/core/src/test/org/apache/solr/update/SolrCmdDistributorTest.java
    lucene/dev/branches/lucene3661/solr/lib/apache-solr-noggit-r1211150.jar
      - copied unchanged from r1235908, lucene/dev/trunk/solr/lib/apache-solr-noggit-r1211150.jar
    lucene/dev/branches/lucene3661/solr/lib/zookeeper-3.3.4.jar
      - copied unchanged from r1235908, lucene/dev/trunk/solr/lib/zookeeper-3.3.4.jar
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequestExt.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequestExt.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/CoreState.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/CoreState.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/HashPartitioner.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/HashPartitioner.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/ZkCmdExecutor.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/ZkCmdExecutor.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/ZkCoreNodeProps.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/ZkCoreNodeProps.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/ZkOperation.java
      - copied unchanged from r1235908, lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/ZkOperation.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/zookeeper/
      - copied from r1235908, lucene/dev/trunk/solr/solrj/src/java/org/apache/zookeeper/
Removed:
    lucene/dev/branches/lucene3661/solr/contrib/extraction/lib/commons-compress-1.2.jar
    lucene/dev/branches/lucene3661/solr/contrib/extraction/lib/tika-core-0.10.jar
    lucene/dev/branches/lucene3661/solr/contrib/extraction/lib/tika-parsers-0.10.jar
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/FSUpdateLog.java
    lucene/dev/branches/lucene3661/solr/lib/apache-solr-noggit-r1209632.jar
    lucene/dev/branches/lucene3661/solr/lib/zookeeper-3.3.3.jar
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZooKeeper.java
Modified:
    lucene/dev/branches/lucene3661/   (props changed)
    lucene/dev/branches/lucene3661/dev-tools/eclipse/dot.classpath
    lucene/dev/branches/lucene3661/dev-tools/idea/lucene/contrib/   (props changed)
    lucene/dev/branches/lucene3661/dev-tools/maven/pom.xml.template
    lucene/dev/branches/lucene3661/dev-tools/maven/solr/core/pom.xml.template
    lucene/dev/branches/lucene3661/dev-tools/maven/solr/solrj/pom.xml.template
    lucene/dev/branches/lucene3661/lucene/   (props changed)
    lucene/dev/branches/lucene3661/lucene/CHANGES.txt
    lucene/dev/branches/lucene3661/lucene/contrib/CHANGES.txt   (props changed)
    lucene/dev/branches/lucene3661/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestSpanRegexQuery.java   (props changed)
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/analysis/Analyzer.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene3x/SegmentTermDocs.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene3x/TermInfosReaderIndex.java   (props changed)
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosReader.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsReader.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListReader.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/index/FieldInfos.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/index/IndexReader.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/CollectionStatistics.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/TermStatistics.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/similarities/SimilarityBase.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/util/ReaderUtil.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/util/SentinelIntSet.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/util/fst/ByteSequenceOutputs.java
    lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/util/fst/IntSequenceOutputs.java
    lucene/dev/branches/lucene3661/lucene/src/test-framework/java/org/apache/lucene/analysis/BaseTokenStreamTestCase.java
    lucene/dev/branches/lucene3661/lucene/src/test-framework/java/org/apache/lucene/codecs/preflexrw/PreFlexRWFieldsWriter.java
    lucene/dev/branches/lucene3661/lucene/src/test-framework/java/org/apache/lucene/search/ShardSearchingTestBase.java
    lucene/dev/branches/lucene3661/lucene/src/test-framework/java/org/apache/lucene/util/LuceneTestCase.java
    lucene/dev/branches/lucene3661/lucene/src/test-framework/java/org/apache/lucene/util/_TestUtil.java
    lucene/dev/branches/lucene3661/lucene/src/test/org/apache/lucene/index/TestPostingsOffsets.java
    lucene/dev/branches/lucene3661/lucene/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java
    lucene/dev/branches/lucene3661/lucene/src/test/org/apache/lucene/util/TestSentinelIntSet.java
    lucene/dev/branches/lucene3661/lucene/src/test/org/apache/lucene/util/fst/TestFSTs.java
    lucene/dev/branches/lucene3661/modules/analysis/common/build.xml
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/charfilter/BaseCharFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/charfilter/package.html
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/compound/CompoundWordTokenFilterBase.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/HyphenatedWordsFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PatternAnalyzer.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizer.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/position/PositionFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiWordFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizer.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.jflex
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterTest.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/cn/TestChineseTokenizer.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/commongrams/CommonGramsFilterTest.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/compound/TestCompoundWordTokenFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/hunspell/HunspellStemFilterTest.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/PatternAnalyzerTest.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestASCIIFoldingFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestHyphenatedWordsFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilterTest.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/ngram/EdgeNGramTokenizerTest.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/ngram/NGramTokenFilterTest.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/ngram/NGramTokenizerTest.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/path/TestPathHierarchyTokenizer.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/path/TestReversePathHierarchyTokenizer.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleFilterTest.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/util/TestSegmentingTokenizerBase.java
    lucene/dev/branches/lucene3661/modules/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerTest.java
    lucene/dev/branches/lucene3661/modules/analysis/icu/build.xml
    lucene/dev/branches/lucene3661/modules/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizer.java
    lucene/dev/branches/lucene3661/modules/analysis/kuromoji/   (props changed)
    lucene/dev/branches/lucene3661/modules/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikAnalyzer.java
    lucene/dev/branches/lucene3661/modules/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/DoubleMetaphoneFilterTest.java
    lucene/dev/branches/lucene3661/modules/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilter.java
    lucene/dev/branches/lucene3661/modules/benchmark/   (props changed)
    lucene/dev/branches/lucene3661/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PerfTask.java
    lucene/dev/branches/lucene3661/modules/facet/   (props changed)
    lucene/dev/branches/lucene3661/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java
    lucene/dev/branches/lucene3661/modules/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java
    lucene/dev/branches/lucene3661/modules/join/src/java/org/apache/lucene/search/join/package.html
    lucene/dev/branches/lucene3661/modules/queryparser/src/test/org/apache/lucene/queryparser/xml/builders/TestNumericRangeFilterBuilder.java   (props changed)
    lucene/dev/branches/lucene3661/solr/   (props changed)
    lucene/dev/branches/lucene3661/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/lucene3661/solr/LICENSE.txt   (props changed)
    lucene/dev/branches/lucene3661/solr/NOTICE.txt   (props changed)
    lucene/dev/branches/lucene3661/solr/README.txt   (props changed)
    lucene/dev/branches/lucene3661/solr/build.xml   (contents, props changed)
    lucene/dev/branches/lucene3661/solr/client/   (props changed)
    lucene/dev/branches/lucene3661/solr/common-build.xml   (props changed)
    lucene/dev/branches/lucene3661/solr/contrib/   (props changed)
    lucene/dev/branches/lucene3661/solr/contrib/clustering/src/test-files/   (props changed)
    lucene/dev/branches/lucene3661/solr/contrib/dataimporthandler-extras/src/java/   (props changed)
    lucene/dev/branches/lucene3661/solr/contrib/dataimporthandler-extras/src/java/org/apache/solr/handler/dataimport/MailEntityProcessor.java
    lucene/dev/branches/lucene3661/solr/contrib/dataimporthandler-extras/src/java/org/apache/solr/handler/dataimport/TikaEntityProcessor.java
    lucene/dev/branches/lucene3661/solr/contrib/dataimporthandler/src/java/   (props changed)
    lucene/dev/branches/lucene3661/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrWriter.java
    lucene/dev/branches/lucene3661/solr/contrib/dataimporthandler/src/test-files/   (props changed)
    lucene/dev/branches/lucene3661/solr/contrib/dataimporthandler/src/test/org/   (props changed)
    lucene/dev/branches/lucene3661/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java
    lucene/dev/branches/lucene3661/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java
    lucene/dev/branches/lucene3661/solr/contrib/extraction/CHANGES.txt
    lucene/dev/branches/lucene3661/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/ExtractingDocumentLoader.java
    lucene/dev/branches/lucene3661/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTest.java
    lucene/dev/branches/lucene3661/solr/contrib/langid/src/test/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessorFactoryTestCase.java
    lucene/dev/branches/lucene3661/solr/contrib/uima/src/java/   (props changed)
    lucene/dev/branches/lucene3661/solr/contrib/uima/src/test-files/   (props changed)
    lucene/dev/branches/lucene3661/solr/core/   (props changed)
    lucene/dev/branches/lucene3661/solr/core/build.xml
    lucene/dev/branches/lucene3661/solr/core/src/java/   (props changed)
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/analysis/HTMLStripCharFilterFactory.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/analysis/TokenizerChain.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/cloud/ZkController.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/cloud/ZkSolrResourceLoader.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/core/Config.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/core/CoreContainer.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/core/CoreDescriptor.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/core/RequestHandlers.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/core/SolrCore.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/BinaryUpdateRequestHandler.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/JsonLoader.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/SnapPuller.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/XMLLoader.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/handler/component/ShardHandlerFactory.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/AddUpdateCommand.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/CommitTracker.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/CommitUpdateCommand.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/DeleteUpdateCommand.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/MergeIndexesCommand.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/RollbackUpdateCommand.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/SolrCoreState.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/UpdateCommand.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/UpdateHandler.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/UpdateLog.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/processor/LogUpdateProcessorFactory.java
    lucene/dev/branches/lucene3661/solr/core/src/java/org/apache/solr/update/processor/RunUpdateProcessorFactory.java
    lucene/dev/branches/lucene3661/solr/core/src/test/   (props changed)
    lucene/dev/branches/lucene3661/solr/core/src/test-files/solr/conf/schema.xml
    lucene/dev/branches/lucene3661/solr/core/src/test-files/solr/conf/schema12.xml
    lucene/dev/branches/lucene3661/solr/core/src/test-files/solr/conf/solrconfig-basic.xml
    lucene/dev/branches/lucene3661/solr/core/src/test-files/solr/conf/solrconfig-nocache.xml
    lucene/dev/branches/lucene3661/solr/core/src/test-files/solr/conf/solrconfig-tlog.xml
    lucene/dev/branches/lucene3661/solr/core/src/test-files/solr/conf/solrconfig.xml
    lucene/dev/branches/lucene3661/solr/core/src/test-files/solr/solr.xml
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/TestSolrCoreProperties.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/AbstractDistributedZkTestCase.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/AbstractZkTestCase.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/BasicZkTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/CloudStateUpdateTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/ZkControllerTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/ZkNodePropsTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/ZkSolrClientTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/cloud/ZkTestServer.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/core/TestConfig.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/core/TestLegacyMergeSchedulerPolicyConfig.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/core/TestPropInject.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/core/TestPropInjectDefaults.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/handler/FieldAnalysisRequestHandlerTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/handler/XmlUpdateRequestHandlerTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/schema/TestBinaryField.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/update/AutoCommitTest.java
    lucene/dev/branches/lucene3661/solr/core/src/test/org/apache/solr/update/SoftAutoCommitTest.java
    lucene/dev/branches/lucene3661/solr/dev-tools/   (props changed)
    lucene/dev/branches/lucene3661/solr/example/   (props changed)
    lucene/dev/branches/lucene3661/solr/example/solr/conf/schema.xml
    lucene/dev/branches/lucene3661/solr/example/solr/conf/solrconfig.xml
    lucene/dev/branches/lucene3661/solr/example/solr/solr.xml
    lucene/dev/branches/lucene3661/solr/lib/   (props changed)
    lucene/dev/branches/lucene3661/solr/lib/apache-solr-noggit-pom.xml.template
    lucene/dev/branches/lucene3661/solr/scripts/   (props changed)
    lucene/dev/branches/lucene3661/solr/site/   (props changed)
    lucene/dev/branches/lucene3661/solr/site-src/   (props changed)
    lucene/dev/branches/lucene3661/solr/solrj/   (props changed)
    lucene/dev/branches/lucene3661/solr/solrj/src/java/   (props changed)
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/client/solrj/SolrServer.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrServer.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CommonsHttpSolrServer.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrServer.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/client/solrj/impl/StreamingUpdateSolrServer.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/client/solrj/util/ClientUtils.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/SolrException.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/CloudState.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/ConnectionManager.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/DefaultConnectionStrategy.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/Slice.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/ZkClientConnectionStrategy.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/ZkNodeProps.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/params/CoreAdminParams.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/util/FastInputStream.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/util/FastOutputStream.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/util/Hash.java
    lucene/dev/branches/lucene3661/solr/solrj/src/java/org/apache/solr/common/util/StrUtils.java
    lucene/dev/branches/lucene3661/solr/solrj/src/test/org/apache/solr/client/   (props changed)
    lucene/dev/branches/lucene3661/solr/solrj/src/test/org/apache/solr/client/solrj/   (props changed)
    lucene/dev/branches/lucene3661/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
    lucene/dev/branches/lucene3661/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrServer.java
    lucene/dev/branches/lucene3661/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/MultiCoreExampleJettyTest.java
    lucene/dev/branches/lucene3661/solr/solrj/src/test/org/apache/solr/common/   (props changed)
    lucene/dev/branches/lucene3661/solr/test-framework/   (props changed)
    lucene/dev/branches/lucene3661/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
    lucene/dev/branches/lucene3661/solr/test-framework/src/java/org/apache/solr/SolrJettyTestBase.java
    lucene/dev/branches/lucene3661/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
    lucene/dev/branches/lucene3661/solr/test-framework/src/java/org/apache/solr/util/AbstractSolrTestCase.java
    lucene/dev/branches/lucene3661/solr/test-framework/src/java/org/apache/solr/util/TestHarness.java
    lucene/dev/branches/lucene3661/solr/testlogging.properties   (props changed)
    lucene/dev/branches/lucene3661/solr/webapp/   (props changed)
    lucene/dev/branches/lucene3661/solr/webapp/web/admin/zookeeper.jsp
    lucene/dev/branches/lucene3661/solr/webapp/web/zookeeper.jsp

Modified: lucene/dev/branches/lucene3661/dev-tools/eclipse/dot.classpath
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/dev-tools/eclipse/dot.classpath?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/dev-tools/eclipse/dot.classpath (original)
+++ lucene/dev/branches/lucene3661/dev-tools/eclipse/dot.classpath Wed Jan 25 20:32:44 2012
@@ -100,7 +100,7 @@
 	<classpathentry kind="lib" path="modules/benchmark/lib/commons-digester-1.7.jar"/>
 	<classpathentry kind="lib" path="modules/benchmark/lib/commons-logging-1.0.4.jar"/>
 	<classpathentry kind="lib" path="modules/benchmark/lib/xercesImpl-2.9.1-patched-XERCESJ-1257.jar"/>
-	<classpathentry kind="lib" path="solr/lib/apache-solr-noggit-r1209632.jar"/>
+	<classpathentry kind="lib" path="solr/lib/apache-solr-noggit-r1211150.jar"/>
 	<classpathentry kind="lib" path="solr/lib/commons-csv-1.0-SNAPSHOT-r966014.jar"/>
 	<classpathentry kind="lib" path="solr/lib/commons-fileupload-1.2.1.jar"/>
 	<classpathentry kind="lib" path="solr/lib/commons-httpclient-3.1.jar"/>
@@ -115,7 +115,7 @@
 	<classpathentry kind="lib" path="solr/lib/slf4j-api-1.6.1.jar"/>
 	<classpathentry kind="lib" path="solr/lib/slf4j-jdk14-1.6.1.jar"/>
 	<classpathentry kind="lib" path="solr/lib/wstx-asl-3.2.7.jar"/>
-	<classpathentry kind="lib" path="solr/lib/zookeeper-3.3.3.jar"/>
+	<classpathentry kind="lib" path="solr/lib/zookeeper-3.3.4.jar"/>
 	<classpathentry kind="lib" path="solr/example/lib/jetty-6.1.26-patched-JETTY-1340.jar"/>
 	<classpathentry kind="lib" path="solr/example/lib/jetty-util-6.1.26-patched-JETTY-1340.jar"/>
 	<classpathentry kind="lib" path="solr/example/lib/servlet-api-2.5-20081211.jar"/>
@@ -136,7 +136,7 @@
 	<classpathentry kind="lib" path="solr/contrib/extraction/lib/bcmail-jdk15-1.45.jar"/>
 	<classpathentry kind="lib" path="solr/contrib/extraction/lib/bcprov-jdk15-1.45.jar"/>
 	<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/commons-compress-1.3.jar"/>
 	<classpathentry kind="lib" path="solr/contrib/extraction/lib/dom4j-1.6.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"/>
@@ -149,8 +149,8 @@
 	<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.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/tika-core-1.0.jar"/>
+	<classpathentry kind="lib" path="solr/contrib/extraction/lib/tika-parsers-1.0.jar"/>
 	<classpathentry kind="lib" path="solr/contrib/extraction/lib/xmlbeans-2.3.0.jar"/>
 	<classpathentry kind="lib" path="solr/contrib/langid/lib/langdetect-r111.jar"/>
 	<classpathentry kind="lib" path="solr/contrib/langid/lib/jsonic-1.2.0.jar"/>

Modified: lucene/dev/branches/lucene3661/dev-tools/maven/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/dev-tools/maven/pom.xml.template?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/dev-tools/maven/pom.xml.template (original)
+++ lucene/dev/branches/lucene3661/dev-tools/maven/pom.xml.template Wed Jan 25 20:32:44 2012
@@ -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.10</tika.version>
+    <tika.version>1.0</tika.version>
   </properties>
   <issueManagement>
     <system>JIRA</system>
@@ -283,7 +283,7 @@
       <dependency>
         <groupId>org.apache.zookeeper</groupId>
         <artifactId>zookeeper</artifactId>
-        <version>3.3.3</version>
+        <version>3.3.4</version>
       </dependency>
       <dependency>
         <groupId>org.carrot2</groupId>
@@ -362,6 +362,19 @@
       </dependency>
     </dependencies>
   </dependencyManagement>
+  <dependencies>
+    <dependency> 
+      <!-- Maven 2.2.X has a bug that omits as duplicate all JUnit         -->
+      <!-- dependencies from the classpath when compiling solr-clustering, -->
+      <!-- causing test compilation to fail.  Maven 3.0.4 test compilation -->
+      <!-- succeeds with the exact same dependencies, so apparently the    -->
+      <!-- bug has been fixed.  This dependency can be removed when the    -->
+      <!-- minimum Maven version is upgraded to 3.0.4+.                    -->
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
   <build>
     <directory>lucene/build/lucene-parent</directory>
     <pluginManagement>
@@ -387,6 +400,11 @@
         </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-dependency-plugin</artifactId>
+          <version>2.4</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-deploy-plugin</artifactId>
           <version>2.7</version>
         </plugin>
@@ -652,7 +670,7 @@
                   <artifactId>solr-noggit</artifactId>
                   <version>${project.version}</version>
                   <packaging>jar</packaging>
-                  <file>solr/lib/apache-solr-noggit-r1209632.jar</file>
+                  <file>solr/lib/apache-solr-noggit-r1211150.jar</file>
                 </configuration>  
               </execution>
               <execution>

Modified: lucene/dev/branches/lucene3661/dev-tools/maven/solr/core/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/dev-tools/maven/solr/core/pom.xml.template?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/dev-tools/maven/solr/core/pom.xml.template (original)
+++ lucene/dev/branches/lucene3661/dev-tools/maven/solr/core/pom.xml.template Wed Jan 25 20:32:44 2012
@@ -203,6 +203,12 @@
         <directory>src/test-files</directory>
       </testResource>
       <testResource>
+        <directory>${project.build.testSourceDirectory}</directory>
+        <excludes>
+          <exclude>**/*.java</exclude>
+        </excludes>
+      </testResource>
+      <testResource>
         <directory>../solrj/src/test-files</directory>
       </testResource>
     </testResources>

Modified: lucene/dev/branches/lucene3661/dev-tools/maven/solr/solrj/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/dev-tools/maven/solr/solrj/pom.xml.template?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/dev-tools/maven/solr/solrj/pom.xml.template (original)
+++ lucene/dev/branches/lucene3661/dev-tools/maven/solr/solrj/pom.xml.template Wed Jan 25 20:32:44 2012
@@ -113,6 +113,13 @@
           <skip>true</skip> <!-- Tests are run from solr-core module -->
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <skip>true</skip> <!-- This skips test compilation - tests are run from solr-core module -->
+        </configuration>
+      </plugin>
     </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene3661/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/CHANGES.txt?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/lucene3661/lucene/CHANGES.txt Wed Jan 25 20:32:44 2012
@@ -742,6 +742,9 @@ Changes in backwards compatibility polic
   behavior.  Added seekExact() to FSTEnum, and added FST.save/read 
   from a File. (Mike McCandless, Dawid Weiss, Robert Muir)
   
+* LUCENE-3712: Removed unused and untested ReaderUtil#subReader methods.
+  (Uwe Schindler)
+  
 Security fixes
 
 * LUCENE-3588: Try harder to prevent SIGSEGV on cloned MMapIndexInputs:
@@ -790,6 +793,12 @@ New Features
   input mapping to it) for FSTs that have strictly monotonic long
   outputs (such as an ord).  (Mike McCandless)
   
+* LUCENE-3671: Add TypeTokenFilter that filters tokens based on
+  their TypeAttribute.  (Tommaso Teofili via Uwe Schindler)
+
+* LUCENE-3690: Added HTMLStripCharFilter, a CharFilter that strips HTML
+  markup. (Steve Rowe)
+  
 Bug fixes
 
 * LUCENE-3595: Fixed FieldCacheRangeFilter and FieldCacheTermsFilter
@@ -808,9 +817,11 @@ Bug fixes
 * LUCENE-3641: Fixed MultiReader to correctly propagate readerFinishedListeners
   to clones/reopened readers.  (Uwe Schindler)
 
-* LUCENE-3642: Fixed bugs in CharTokenizer, n-gram filters, and smart chinese 
-  where they would create invalid offsets in some situations, leading to problems
-  in highlighting. (Max Beutel via Robert Muir)
+* LUCENE-3642, SOLR-2891, LUCENE-3717: Fixed bugs in CharTokenizer, n-gram tokenizers/filters, 
+  compound token filters, thai word filter, icutokenizer, pattern analyzer, 
+  wikipediatokenizer, and smart chinese where they would create invalid offsets in 
+  some situations, leading to problems in highlighting.  
+  (Max Beutel, Edwin Steiner via Robert Muir)
 
 * LUCENE-3639: TopDocs.merge was incorrectly setting TopDocs.maxScore to
   Float.MIN_VALUE when it should be Float.NaN, when there were 0
@@ -825,6 +836,12 @@ Bug fixes
 * LUCENE-3605: don't sleep in a retry loop when trying to locate the
   segments_N file (Robert Muir, Mike McCandless)
 
+* LUCENE-3711: SentinelIntSet with a small initial size can go into
+  an infinite loop when expanded.  This can affect grouping using
+  TermAllGroupsCollector or TermAllGroupHeadsCollector if instantiated with a
+  non default small size. (Martijn van Groningen, yonik)
+
+
 Optimizations
 
 * LUCENE-3653: Improve concurrency in VirtualMethod and AttributeSource by

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/analysis/Analyzer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/analysis/Analyzer.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/analysis/Analyzer.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/analysis/Analyzer.java Wed Jan 25 20:32:44 2012
@@ -52,12 +52,12 @@ public abstract class Analyzer {
    * @param fieldName
    *          the name of the fields content passed to the
    *          {@link TokenStreamComponents} sink as a reader
-   * @param aReader
+   * @param reader
    *          the reader passed to the {@link Tokenizer} constructor
    * @return the {@link TokenStreamComponents} for this analyzer.
    */
   protected abstract TokenStreamComponents createComponents(String fieldName,
-      Reader aReader);
+      Reader reader);
 
   /**
    * Creates a TokenStream that is allowed to be re-use from the previous time

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene3x/SegmentTermDocs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene3x/SegmentTermDocs.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene3x/SegmentTermDocs.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene3x/SegmentTermDocs.java Wed Jan 25 20:32:44 2012
@@ -206,7 +206,7 @@ public class SegmentTermDocs {
         skipListReader = new Lucene40SkipListReader((IndexInput) freqStream.clone(), maxSkipLevels, skipInterval); // lazily clone
 
       if (!haveSkipped) {                          // lazily initialize skip stream
-        skipListReader.init(skipPointer, freqBasePointer, proxBasePointer, df, currentFieldStoresPayloads);
+        skipListReader.init(skipPointer, freqBasePointer, proxBasePointer, df, currentFieldStoresPayloads, false);
         haveSkipped = true;
       }
 

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosReader.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosReader.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosReader.java Wed Jan 25 20:32:44 2012
@@ -85,11 +85,11 @@ public class Lucene40FieldInfosReader ex
         // LUCENE-3027: past indices were able to write
         // storePayloads=true when omitTFAP is also true,
         // which is invalid.  We correct that, here:
-        if (indexOptions != IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) {
+        if (indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) < 0) {
           storePayloads = false;
         }
         hasVectors |= storeTermVector;
-        hasProx |= isIndexed && indexOptions == IndexOptions.DOCS_AND_FREQS_AND_POSITIONS;
+        hasProx |= isIndexed && indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) >= 0;
         hasFreq |= isIndexed && indexOptions != IndexOptions.DOCS_ONLY;
         // DV Types are packed in one byte
         byte val = input.readByte();

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java Wed Jan 25 20:32:44 2012
@@ -58,7 +58,7 @@ public class Lucene40FieldInfosWriter ex
       output.writeVInt(FORMAT_CURRENT);
       output.writeVInt(infos.size());
       for (FieldInfo fi : infos) {
-        assert fi.indexOptions == IndexOptions.DOCS_AND_FREQS_AND_POSITIONS || !fi.storePayloads;
+        assert fi.indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) >= 0 || !fi.storePayloads;
         byte bits = 0x0;
         if (fi.isIndexed) bits |= IS_INDEXED;
         if (fi.storeTermVector) bits |= STORE_TERMVECTOR;

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsReader.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsReader.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsReader.java Wed Jan 25 20:32:44 2012
@@ -197,7 +197,7 @@ public class Lucene40PostingsReader exte
       // undefined
     }
 
-    if (fieldInfo.indexOptions == IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) {
+    if (fieldInfo.indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) >= 0) {
       if (isFirstTerm) {
         termState.proxOffset = termState.bytesReader.readVLong();
       } else {
@@ -245,23 +245,23 @@ public class Lucene40PostingsReader exte
                                                DocsAndPositionsEnum reuse, boolean needsOffsets)
     throws IOException {
 
-    if (needsOffsets) {
-      // TODO: once we index offsets into postings fix this!
-      return null;
+    boolean hasOffsets = fieldInfo.indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS) >= 0;
+    if (needsOffsets && !hasOffsets) {
+      return null; // not available
     }
 
     // TODO: refactor
-    if (fieldInfo.storePayloads) {
-      SegmentDocsAndPositionsAndPayloadsEnum docsEnum;
-      if (reuse == null || !(reuse instanceof SegmentDocsAndPositionsAndPayloadsEnum)) {
-        docsEnum = new SegmentDocsAndPositionsAndPayloadsEnum(freqIn, proxIn);
+    if (fieldInfo.storePayloads || hasOffsets) {
+      SegmentFullPositionsEnum docsEnum;
+      if (reuse == null || !(reuse instanceof SegmentFullPositionsEnum)) {
+        docsEnum = new SegmentFullPositionsEnum(freqIn, proxIn);
       } else {
-        docsEnum = (SegmentDocsAndPositionsAndPayloadsEnum) reuse;
+        docsEnum = (SegmentFullPositionsEnum) reuse;
         if (docsEnum.startFreqIn != freqIn) {
           // If you are using ParellelReader, and pass in a
           // reused DocsEnum, it could have come from another
           // reader also using standard codec
-          docsEnum = new SegmentDocsAndPositionsAndPayloadsEnum(freqIn, proxIn);
+          docsEnum = new SegmentFullPositionsEnum(freqIn, proxIn);
         }
       }
       return docsEnum.reset(fieldInfo, (StandardTermState) termState, liveDocs);
@@ -295,6 +295,7 @@ public class Lucene40PostingsReader exte
     
     protected boolean indexOmitsTF;                               // does current field omit term freq?
     protected boolean storePayloads;                        // does current field store payloads?
+    protected boolean storeOffsets;                         // does current field store offsets?
 
     protected int limit;                                    // number of docs in this posting
     protected int ord;                                      // how many docs we've read
@@ -324,6 +325,7 @@ public class Lucene40PostingsReader exte
     DocsEnum reset(FieldInfo fieldInfo, StandardTermState termState) throws IOException {
       indexOmitsTF = fieldInfo.indexOptions == IndexOptions.DOCS_ONLY;
       storePayloads = fieldInfo.storePayloads;
+      storeOffsets = fieldInfo.indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS) >= 0;
       freqOffset = termState.freqOffset;
       skipOffset = termState.skipOffset;
 
@@ -471,7 +473,7 @@ public class Lucene40PostingsReader exte
 
           skipper.init(freqOffset + skipOffset,
                        freqOffset, 0,
-                       limit, storePayloads);
+                       limit, storePayloads, storeOffsets);
 
           skipped = true;
         }
@@ -519,7 +521,7 @@ public class Lucene40PostingsReader exte
           return doc = docs[i];
         }
       }
-      return refill();
+      return doc = refill();
     }
 
     @Override
@@ -602,7 +604,7 @@ public class Lucene40PostingsReader exte
           return doc = docs[i];
         }
       }
-      return refill();
+      return doc = refill();
     }
     
     @Override
@@ -665,7 +667,7 @@ public class Lucene40PostingsReader exte
   
   // TODO specialize DocsAndPosEnum too
   
-  // Decodes docs & positions. payloads are not present.
+  // Decodes docs & positions. payloads nor offsets are present.
   private final class SegmentDocsAndPositionsEnum extends DocsAndPositionsEnum {
     final IndexInput startFreqIn;
     private final IndexInput freqIn;
@@ -792,7 +794,7 @@ public class Lucene40PostingsReader exte
 
           skipper.init(freqOffset+skipOffset,
                        freqOffset, proxOffset,
-                       limit, false);
+                       limit, false, false);
 
           skipped = true;
         }
@@ -868,8 +870,8 @@ public class Lucene40PostingsReader exte
     }
   }
   
-  // Decodes docs & positions & payloads
-  private class SegmentDocsAndPositionsAndPayloadsEnum extends DocsAndPositionsEnum {
+  // Decodes docs & positions & (payloads and/or offsets)
+  private class SegmentFullPositionsEnum extends DocsAndPositionsEnum {
     final IndexInput startFreqIn;
     private final IndexInput freqIn;
     private final IndexInput proxIn;
@@ -895,16 +897,24 @@ public class Lucene40PostingsReader exte
     Lucene40SkipListReader skipper;
     private BytesRef payload;
     private long lazyProxPointer;
+    
+    boolean storePayloads;
+    boolean storeOffsets;
+    
+    int offsetLength;
+    int startOffset;
 
-    public SegmentDocsAndPositionsAndPayloadsEnum(IndexInput freqIn, IndexInput proxIn) throws IOException {
+    public SegmentFullPositionsEnum(IndexInput freqIn, IndexInput proxIn) throws IOException {
       startFreqIn = freqIn;
       this.freqIn = (IndexInput) freqIn.clone();
       this.proxIn = (IndexInput) proxIn.clone();
     }
 
-    public SegmentDocsAndPositionsAndPayloadsEnum reset(FieldInfo fieldInfo, StandardTermState termState, Bits liveDocs) throws IOException {
-      assert fieldInfo.indexOptions == IndexOptions.DOCS_AND_FREQS_AND_POSITIONS;
-      assert fieldInfo.storePayloads;
+    public SegmentFullPositionsEnum reset(FieldInfo fieldInfo, StandardTermState termState, Bits liveDocs) throws IOException {
+      storeOffsets = fieldInfo.indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS) >= 0;
+      storePayloads = fieldInfo.storePayloads;
+      assert fieldInfo.indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) >= 0;
+      assert storePayloads || storeOffsets;
       if (payload == null) {
         payload = new BytesRef();
         payload.bytes = new byte[1];
@@ -923,6 +933,7 @@ public class Lucene40PostingsReader exte
       doc = -1;
       accum = 0;
       position = 0;
+      startOffset = 0;
 
       skipped = false;
       posPendingCount = 0;
@@ -963,6 +974,7 @@ public class Lucene40PostingsReader exte
       }
 
       position = 0;
+      startOffset = 0;
 
       //System.out.println("StandardR.D&PE nextDoc seg=" + segment + " return doc=" + doc);
       return (doc = accum);
@@ -1001,7 +1013,7 @@ public class Lucene40PostingsReader exte
           //System.out.println("  init skipper freqOffset=" + freqOffset + " skipOffset=" + skipOffset + " vs len=" + freqIn.length());
           skipper.init(freqOffset+skipOffset,
                        freqOffset, proxOffset,
-                       limit, true);
+                       limit, storePayloads, storeOffsets);
 
           skipped = true;
         }
@@ -1016,8 +1028,10 @@ public class Lucene40PostingsReader exte
           lazyProxPointer = skipper.getProxPointer();
           posPendingCount = 0;
           position = 0;
+          startOffset = 0;
           payloadPending = false;
           payloadLength = skipper.getPayloadLength();
+          offsetLength = skipper.getOffsetLength();
         }
       }
         
@@ -1038,27 +1052,38 @@ public class Lucene40PostingsReader exte
       }
       
       if (payloadPending && payloadLength > 0) {
-        // payload of last position as never retrieved -- skip it
+        // payload of last position was never retrieved -- skip it
         proxIn.seek(proxIn.getFilePointer() + payloadLength);
         payloadPending = false;
       }
 
       // scan over any docs that were iterated without their positions
       while(posPendingCount > freq) {
-
         final int code = proxIn.readVInt();
 
-        if ((code & 1) != 0) {
-          // new payload length
-          payloadLength = proxIn.readVInt();
-          assert payloadLength >= 0;
+        if (storePayloads) {
+          if ((code & 1) != 0) {
+            // new payload length
+            payloadLength = proxIn.readVInt();
+            assert payloadLength >= 0;
+          }
+          assert payloadLength != -1;
         }
         
-        assert payloadLength != -1;
-        proxIn.seek(proxIn.getFilePointer() + payloadLength);
+        if (storeOffsets) {
+          if ((proxIn.readVInt() & 1) != 0) {
+            // new offset length
+            offsetLength = proxIn.readVInt();
+          }
+        }
+        
+        if (storePayloads) {
+          proxIn.seek(proxIn.getFilePointer() + payloadLength);
+        }
 
         posPendingCount--;
         position = 0;
+        startOffset = 0;
         payloadPending = false;
         //System.out.println("StandardR.D&PE skipPos");
       }
@@ -1069,16 +1094,28 @@ public class Lucene40PostingsReader exte
         proxIn.seek(proxIn.getFilePointer()+payloadLength);
       }
 
-      final int code = proxIn.readVInt();
-      if ((code & 1) != 0) {
-        // new payload length
-        payloadLength = proxIn.readVInt();
-        assert payloadLength >= 0;
-      }
-      assert payloadLength != -1;
+      int code = proxIn.readVInt();
+      if (storePayloads) {
+        if ((code & 1) != 0) {
+          // new payload length
+          payloadLength = proxIn.readVInt();
+          assert payloadLength >= 0;
+        }
+        assert payloadLength != -1;
           
-      payloadPending = true;
-      position += code >>> 1;
+        payloadPending = true;
+        code >>>= 1;
+      }
+      position += code;
+      
+      if (storeOffsets) {
+        int offsetCode = proxIn.readVInt();
+        if ((offsetCode & 1) != 0) {
+          // new offset length
+          offsetLength = proxIn.readVInt();
+        }
+        startOffset += offsetCode >>> 1;
+      }
 
       posPendingCount--;
 
@@ -1090,32 +1127,36 @@ public class Lucene40PostingsReader exte
 
     @Override
     public int startOffset() throws IOException {
-      return -1;
+      return storeOffsets ? startOffset : -1;
     }
 
     @Override
     public int endOffset() throws IOException {
-      return -1;
+      return storeOffsets ? startOffset + offsetLength : -1;
     }
 
     /** Returns the payload at this position, or null if no
      *  payload was indexed. */
     @Override
     public BytesRef getPayload() throws IOException {
-      assert lazyProxPointer == -1;
-      assert posPendingCount < freq;
-      if (!payloadPending) {
-        throw new IOException("Either no payload exists at this term position or an attempt was made to load it more than once.");
-      }
-      if (payloadLength > payload.bytes.length) {
-        payload.grow(payloadLength);
-      }
+      if (storePayloads) {
+        assert lazyProxPointer == -1;
+        assert posPendingCount < freq;
+        if (!payloadPending) {
+          throw new IOException("Either no payload exists at this term position or an attempt was made to load it more than once.");
+        }
+        if (payloadLength > payload.bytes.length) {
+          payload.grow(payloadLength);
+        }
 
-      proxIn.readBytes(payload.bytes, 0, payloadLength);
-      payload.length = payloadLength;
-      payloadPending = false;
+        proxIn.readBytes(payload.bytes, 0, payloadLength);
+        payload.length = payloadLength;
+        payloadPending = false;
 
-      return payload;
+        return payload;
+      } else {
+        throw new IOException("No payloads exist for this field!");
+      }
     }
 
     @Override

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java Wed Jan 25 20:32:44 2012
@@ -73,12 +73,15 @@ public final class Lucene40PostingsWrite
 
   IndexOptions indexOptions;
   boolean storePayloads;
+  boolean storeOffsets;
   // Starts a new term
   long freqStart;
   long proxStart;
   FieldInfo fieldInfo;
   int lastPayloadLength;
+  int lastOffsetLength;
   int lastPosition;
+  int lastOffset;
 
   // private String segment;
 
@@ -137,6 +140,8 @@ public final class Lucene40PostingsWrite
       proxStart = proxOut.getFilePointer();
       // force first payload to write its length
       lastPayloadLength = -1;
+      // force first offset to write its length
+      lastOffsetLength = -1;
     }
     skipListWriter.resetSkip();
   }
@@ -155,10 +160,8 @@ public final class Lucene40PostingsWrite
     */
     this.fieldInfo = fieldInfo;
     indexOptions = fieldInfo.indexOptions;
-    if (indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS) >= 0) {
-      throw new UnsupportedOperationException("this codec cannot index offsets");
-    }
-        
+    
+    storeOffsets = indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS) >= 0;        
     storePayloads = fieldInfo.storePayloads;
     //System.out.println("  set init blockFreqStart=" + freqStart);
     //System.out.println("  set init blockProxStart=" + proxStart);
@@ -180,7 +183,7 @@ public final class Lucene40PostingsWrite
     }
 
     if ((++df % skipInterval) == 0) {
-      skipListWriter.setSkipData(lastDocID, storePayloads, lastPayloadLength);
+      skipListWriter.setSkipData(lastDocID, storePayloads, lastPayloadLength, storeOffsets, lastOffsetLength);
       skipListWriter.bufferSkip(df);
     }
 
@@ -197,31 +200,26 @@ public final class Lucene40PostingsWrite
     }
 
     lastPosition = 0;
+    lastOffset = 0;
   }
 
   /** Add a new position & payload */
   @Override
   public void addPosition(int position, BytesRef payload, int startOffset, int endOffset) throws IOException {
     //if (DEBUG) System.out.println("SPW:     addPos pos=" + position + " payload=" + (payload == null ? "null" : (payload.length + " bytes")) + " proxFP=" + proxOut.getFilePointer());
-    assert indexOptions == IndexOptions.DOCS_AND_FREQS_AND_POSITIONS: "invalid indexOptions: " + indexOptions;
+    assert indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) >= 0 : "invalid indexOptions: " + indexOptions;
     assert proxOut != null;
 
-    // TODO: when we add offsets... often
-    // endOffset-startOffset will be constant or near
-    // constant for all docs (eg if the term wasn't stemmed
-    // then this will usually be the utf16 length of the
-    // term); would be nice to write that length once up
-    // front and then not encode endOffset for each
-    // position..
-
     final int delta = position - lastPosition;
     
     assert delta >= 0: "position=" + position + " lastPosition=" + lastPosition;            // not quite right (if pos=0 is repeated twice we don't catch it)
 
     lastPosition = position;
 
+    int payloadLength = 0;
+
     if (storePayloads) {
-      final int payloadLength = payload == null ? 0 : payload.length;
+      payloadLength = payload == null ? 0 : payload.length;
 
       if (payloadLength != lastPayloadLength) {
         lastPayloadLength = payloadLength;
@@ -230,13 +228,28 @@ public final class Lucene40PostingsWrite
       } else {
         proxOut.writeVInt(delta << 1);
       }
-
-      if (payloadLength > 0) {
-        proxOut.writeBytes(payload.bytes, payload.offset, payloadLength);
-      }
     } else {
       proxOut.writeVInt(delta);
     }
+    
+    if (storeOffsets) {
+      // don't use startOffset - lastEndOffset, because this creates lots of negative vints for synonyms,
+      // and the numbers aren't that much smaller anyways.
+      int offsetDelta = startOffset - lastOffset;
+      int offsetLength = endOffset - startOffset;
+      if (offsetLength != lastOffsetLength) {
+        proxOut.writeVInt(offsetDelta << 1 | 1);
+        proxOut.writeVInt(offsetLength);
+      } else {
+        proxOut.writeVInt(offsetDelta << 1);
+      }
+      lastOffset = startOffset;
+      lastOffsetLength = offsetLength;
+    }
+    
+    if (payloadLength > 0) {
+      proxOut.writeBytes(payload.bytes, payload.offset, payloadLength);
+    }
   }
 
   @Override
@@ -304,7 +317,7 @@ public final class Lucene40PostingsWrite
       assert firstTerm.skipOffset > 0;
       bytesWriter.writeVInt(firstTerm.skipOffset);
     }
-    if (indexOptions == IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) {
+    if (indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) >= 0) {
       bytesWriter.writeVLong(firstTerm.proxStart);
     }
     long lastFreqStart = firstTerm.freqStart;
@@ -319,7 +332,7 @@ public final class Lucene40PostingsWrite
         assert term.skipOffset > 0;
         bytesWriter.writeVInt(term.skipOffset);
       }
-      if (indexOptions == IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) {
+      if (indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) >= 0) {
         bytesWriter.writeVLong(term.proxStart - lastProxStart);
         lastProxStart = term.proxStart;
       }

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListReader.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListReader.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListReader.java Wed Jan 25 20:32:44 2012
@@ -30,13 +30,16 @@ import org.apache.lucene.store.IndexInpu
  */
 public class Lucene40SkipListReader extends MultiLevelSkipListReader {
   private boolean currentFieldStoresPayloads;
+  private boolean currentFieldStoresOffsets;
   private long freqPointer[];
   private long proxPointer[];
   private int payloadLength[];
+  private int offsetLength[];
   
   private long lastFreqPointer;
   private long lastProxPointer;
   private int lastPayloadLength;
+  private int lastOffsetLength;
                            
 
   public Lucene40SkipListReader(IndexInput skipStream, int maxSkipLevels, int skipInterval) {
@@ -44,17 +47,20 @@ public class Lucene40SkipListReader exte
     freqPointer = new long[maxSkipLevels];
     proxPointer = new long[maxSkipLevels];
     payloadLength = new int[maxSkipLevels];
+    offsetLength = new int[maxSkipLevels];
   }
 
-  public void init(long skipPointer, long freqBasePointer, long proxBasePointer, int df, boolean storesPayloads) {
+  public void init(long skipPointer, long freqBasePointer, long proxBasePointer, int df, boolean storesPayloads, boolean storesOffsets) {
     super.init(skipPointer, df);
     this.currentFieldStoresPayloads = storesPayloads;
+    this.currentFieldStoresOffsets = storesOffsets;
     lastFreqPointer = freqBasePointer;
     lastProxPointer = proxBasePointer;
 
     Arrays.fill(freqPointer, freqBasePointer);
     Arrays.fill(proxPointer, proxBasePointer);
     Arrays.fill(payloadLength, 0);
+    Arrays.fill(offsetLength, 0);
   }
 
   /** Returns the freq pointer of the doc to which the last call of 
@@ -76,12 +82,20 @@ public class Lucene40SkipListReader exte
     return lastPayloadLength;
   }
   
+  /** Returns the offset length (endOffset-startOffset) of the position stored just before 
+   * the doc to which the last call of {@link MultiLevelSkipListReader#skipTo(int)} 
+   * has skipped.  */
+  public int getOffsetLength() {
+    return lastOffsetLength;
+  }
+  
   @Override
   protected void seekChild(int level) throws IOException {
     super.seekChild(level);
     freqPointer[level] = lastFreqPointer;
     proxPointer[level] = lastProxPointer;
     payloadLength[level] = lastPayloadLength;
+    offsetLength[level] = lastOffsetLength;
   }
   
   @Override
@@ -90,6 +104,7 @@ public class Lucene40SkipListReader exte
     lastFreqPointer = freqPointer[level];
     lastProxPointer = proxPointer[level];
     lastPayloadLength = payloadLength[level];
+    lastOffsetLength = offsetLength[level];
   }
 
 
@@ -110,6 +125,11 @@ public class Lucene40SkipListReader exte
     } else {
       delta = skipStream.readVInt();
     }
+
+    if (currentFieldStoresOffsets) {
+      offsetLength[level] = skipStream.readVInt();
+    }
+
     freqPointer[level] += skipStream.readVInt();
     proxPointer[level] += skipStream.readVInt();
     

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java Wed Jan 25 20:32:44 2012
@@ -40,7 +40,9 @@ public class Lucene40SkipListWriter exte
 
   private int curDoc;
   private boolean curStorePayloads;
+  private boolean curStoreOffsets;
   private int curPayloadLength;
+  private int curOffsetLength;
   private long curFreqPointer;
   private long curProxPointer;
 
@@ -58,10 +60,12 @@ public class Lucene40SkipListWriter exte
   /**
    * Sets the values for the current skip data. 
    */
-  public void setSkipData(int doc, boolean storePayloads, int payloadLength) {
+  public void setSkipData(int doc, boolean storePayloads, int payloadLength, boolean storeOffsets, int offsetLength) {
     this.curDoc = doc;
     this.curStorePayloads = storePayloads;
     this.curPayloadLength = payloadLength;
+    this.curStoreOffsets = storeOffsets;
+    this.curOffsetLength = offsetLength;
     this.curFreqPointer = freqOutput.getFilePointer();
     if (proxOutput != null)
       this.curProxPointer = proxOutput.getFilePointer();
@@ -116,6 +120,12 @@ public class Lucene40SkipListWriter exte
       // current field does not store payloads
       skipBuffer.writeVInt(curDoc - lastSkipDoc[level]);
     }
+
+    // TODO: not sure it really helps to shove this somewhere else if its the same as the last skip
+    if (curStoreOffsets) {
+      skipBuffer.writeVInt(curOffsetLength);
+    }
+
     skipBuffer.writeVInt((int) (curFreqPointer - lastSkipFreqPointer[level]));
     skipBuffer.writeVInt((int) (curProxPointer - lastSkipProxPointer[level]));
 

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java Wed Jan 25 20:32:44 2012
@@ -548,8 +548,9 @@ class SimpleTextFieldsReader extends Fie
           UnicodeUtil.UTF8toUTF16(scratch.bytes, scratch.offset+DOC.length, scratch.length-DOC.length, scratchUTF16);
           int docID = ArrayUtil.parseInt(scratchUTF16.chars, 0, scratchUTF16.length);
           visitedDocs.set(docID);
-        } else if (StringHelper.startsWith(scratch, POS)) {
-          totalTermFreq++;
+        } else if (StringHelper.startsWith(scratch, FREQ)) {
+          UnicodeUtil.UTF8toUTF16(scratch.bytes, scratch.offset+FREQ.length, scratch.length-FREQ.length, scratchUTF16);
+          totalTermFreq += ArrayUtil.parseInt(scratchUTF16.chars, 0, scratchUTF16.length);
         } else if (StringHelper.startsWith(scratch, TERM)) {
           if (lastDocsStart != -1) {
             b.add(Util.toIntsRef(lastTerm, scratchIntsRef), new PairOutputs.Pair<Long,PairOutputs.Pair<Long,Long>>(lastDocsStart,

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/index/FieldInfos.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/index/FieldInfos.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/index/FieldInfos.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/index/FieldInfos.java Wed Jan 25 20:32:44 2012
@@ -404,7 +404,7 @@ public final class FieldInfos implements
 
   public boolean hasNorms() {
     for (FieldInfo fi : this) {
-      if (fi.isIndexed && !fi.omitNorms) {
+      if (fi.normsPresent()) {
         return true;
       }
     }

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/index/IndexReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/index/IndexReader.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/index/IndexReader.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/index/IndexReader.java Wed Jan 25 20:32:44 2012
@@ -921,13 +921,7 @@ public abstract class IndexReader implem
    *  If this method returns an empty array, that means this
    *  reader is a null reader (for example a MultiReader
    *  that has no sub readers).
-   *  <p>
-   *  NOTE: You should not try using sub-readers returned by
-   *  this method to make any changes (deleteDocument,
-   *  etc.). While this might succeed for one composite reader
-   *  (like MultiReader), it will most likely lead to index
-   *  corruption for other readers (like DirectoryReader obtained
-   *  through {@link #open}. Use the parent reader directly. */
+   */
   public IndexReader[] getSequentialSubReaders() {
     ensureOpen();
     return null;

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/CollectionStatistics.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/CollectionStatistics.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/CollectionStatistics.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/CollectionStatistics.java Wed Jan 25 20:32:44 2012
@@ -32,6 +32,10 @@ public class CollectionStatistics {
   private final long sumDocFreq;
   
   public CollectionStatistics(String field, int maxDoc, int docCount, long sumTotalTermFreq, long sumDocFreq) {
+    assert maxDoc >= 0;
+    assert docCount >= -1 && docCount <= maxDoc; // #docs with field must be <= #docs
+    assert sumDocFreq >= -1;
+    assert sumTotalTermFreq == -1 || sumTotalTermFreq >= sumDocFreq; // #positions must be >= #postings
     this.field = field;
     this.maxDoc = maxDoc;
     this.docCount = docCount;

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/TermStatistics.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/TermStatistics.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/TermStatistics.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/TermStatistics.java Wed Jan 25 20:32:44 2012
@@ -29,6 +29,8 @@ public class TermStatistics {
   private final long totalTermFreq;
   
   public TermStatistics(BytesRef term, int docFreq, long totalTermFreq) {
+    assert docFreq >= 0;
+    assert totalTermFreq == -1 || totalTermFreq >= docFreq; // #positions must be >= #postings
     this.term = term;
     this.docFreq = docFreq;
     this.totalTermFreq = totalTermFreq;

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/similarities/SimilarityBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/similarities/SimilarityBase.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/similarities/SimilarityBase.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/similarities/SimilarityBase.java Wed Jan 25 20:32:44 2012
@@ -87,6 +87,8 @@ public abstract class SimilarityBase ext
   /** Fills all member fields defined in {@code BasicStats} in {@code stats}. 
    *  Subclasses can override this method to fill additional stats. */
   protected void fillBasicStats(BasicStats stats, CollectionStatistics collectionStats, TermStatistics termStats) {
+    // #positions(field) must be >= #positions(term)
+    assert collectionStats.sumTotalTermFreq() == -1 || collectionStats.sumTotalTermFreq() >= termStats.totalTermFreq();
     int numberOfDocuments = collectionStats.maxDoc();
     
     int docFreq = termStats.docFreq();

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java Wed Jan 25 20:32:44 2012
@@ -70,8 +70,9 @@ import org.apache.lucene.util.ToStringUt
  * and 'jones' in position 1). </p>
  * 
  * <p>Note: as {@link #getField()} returns the masked field, scoring will be 
- * done using the norms of the field name supplied. This may lead to unexpected
- * scoring behaviour.</p>
+ * done using the Similarity and collection statistics of the field name supplied,
+ * but with the term statistics of the real field. This may lead to exceptions,
+ * poor performance, and unexpected scoring behaviour.</p>
  */
 public class FieldMaskingSpanQuery extends SpanQuery {
   private SpanQuery maskedQuery;

Modified: lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java?rev=1235919&r1=1235918&r2=1235919&view=diff
==============================================================================
--- lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java (original)
+++ lucene/dev/branches/lucene3661/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java Wed Jan 25 20:32:44 2012
@@ -255,10 +255,8 @@ final class CompoundFileWriter implement
       assert !seenIDs.contains(id): "file=\"" + name + "\" maps to id=\"" + id + "\", which was already written";
       seenIDs.add(id);
       final DirectCFSIndexOutput out;
-      if (outputTaken.compareAndSet(false, true)) {
+      if ((outputLocked = outputTaken.compareAndSet(false, true))) {
         out = new DirectCFSIndexOutput(getOutput(), entry, false);
-        outputLocked = true;
-        success = true;
       } else {
         entry.dir = this.directory;
         if (directory.fileExists(name)) {