Fails consistently with SMS so I'll post a new patch shortly.

On Wed, Aug 19, 2009 at 11:31 AM, Jason
Rutherglen<jason.rutherg...@gmail.com> wrote:
> It's could be due to CMS so I'll create a config with SMS, run 10
> times and see if it fails.
>
> On Wed, Aug 19, 2009 at 10:59 AM, Koji Sekiguchi<k...@r.email.ne.jp> wrote:
>> OK, now the problem is gone.
>>
>> Koji
>>
>> Noble Paul നോബിള്‍ नोब्ळ् wrote:
>>>
>>> I'm looking into it.
>>>
>>> I guess I goofed up somewhere
>>>
>>> 2009/8/19 Rafał Kuć <ra...@alud.com.pl>:
>>>
>>>>
>>>> Hello!
>>>>
>>>>  Same here, assertion fails on our hudson.
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>> On Wed, Aug 19, 2009 at 10:07 PM, Koji
>>>>> Sekiguchi<k...@r.email.ne.jp> wrote:
>>>>>
>>>>>>
>>>>>> Noble,
>>>>>>
>>>>>> testExpungeDeletes fails:
>>>>>>
>>>>>
>>>>> oh . It passed twice in my box.is any one else noticing this failure?
>>>>>
>>>>>>
>>>>>> <failure message="null" type="junit.framework.AssertionFailedError">
>>>>>> junit.framework.AssertionFailedError: null
>>>>>>      at
>>>>>>
>>>>>> org.apache.solr.update.DirectUpdateHandlerTest.testExpungeDeletes(DirectUpdateHandlerTest.java:303)
>>>>>> </failure>
>>>>>>
>>>>>> Koji
>>>>>>
>>>>>> no...@apache.org wrote:
>>>>>>
>>>>>>>
>>>>>>> Author: noble
>>>>>>> Date: Wed Aug 19 12:21:22 2009
>>>>>>> New Revision: 805774
>>>>>>>
>>>>>>> URL: http://svn.apache.org/viewvc?rev=805774&view=rev
>>>>>>> Log:
>>>>>>> SOLR-1275: Add expungeDeletes to DirectUpdateHandler2
>>>>>>>
>>>>>>> Modified:
>>>>>>>   lucene/solr/trunk/CHANGES.txt
>>>>>>>
>>>>>>>
>>>>>>>  lucene/solr/trunk/src/common/org/apache/solr/common/params/UpdateParams.java
>>>>>>>
>>>>>>>
>>>>>>>  lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerUtils.java
>>>>>>>   lucene/solr/trunk/src/java/org/apache/solr/handler/XMLLoader.java
>>>>>>>
>>>>>>>
>>>>>>>  lucene/solr/trunk/src/java/org/apache/solr/update/CommitUpdateCommand.java
>>>>>>>
>>>>>>>
>>>>>>>  lucene/solr/trunk/src/java/org/apache/solr/update/DirectUpdateHandler.java
>>>>>>>
>>>>>>>
>>>>>>>  lucene/solr/trunk/src/java/org/apache/solr/update/DirectUpdateHandler2.java
>>>>>>>
>>>>>>>
>>>>>>>  lucene/solr/trunk/src/solrj/org/apache/solr/client/solrj/request/UpdateRequest.java
>>>>>>>
>>>>>>>
>>>>>>>  lucene/solr/trunk/src/test/org/apache/solr/update/DirectUpdateHandlerTest.java
>>>>>>>
>>>>>>> Modified: lucene/solr/trunk/CHANGES.txt
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?rev=805774&r1=805773&r2=805774&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> --- lucene/solr/trunk/CHANGES.txt (original)
>>>>>>> +++ lucene/solr/trunk/CHANGES.txt Wed Aug 19 12:21:22 2009
>>>>>>> @@ -267,7 +267,9 @@
>>>>>>>    HTMLStripStandardTokenizerFactory deprecated. To strip HTML tags,
>>>>>>> HTMLStripCharFilter can be used
>>>>>>>    with an arbitrary Tokenizer. (koji)
>>>>>>>  -68. SOLR-1367: Added callback mechanism for converting DocList to
>>>>>>> SolrDocumentList in SolrPluginUtils (gsingers)  +68. SOLR-1367: Added
>>>>>>> callback mechanism for converting DocList to SolrDocumentList in
>>>>>>> SolrPluginUtils (gsingers)
>>>>>>> +
>>>>>>> +68. SOLR-1275: Add expungeDeletes to DirectUpdateHandler2 (noble)
>>>>>>>   Optimizations
>>>>>>>
>>>>>>> Modified:
>>>>>>>
>>>>>>> lucene/solr/trunk/src/common/org/apache/solr/common/params/UpdateParams.java
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/lucene/solr/trunk/src/common/org/apache/solr/common/params/UpdateParams.java?rev=805774&r1=805773&r2=805774&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> ---
>>>>>>>
>>>>>>> lucene/solr/trunk/src/common/org/apache/solr/common/params/UpdateParams.java
>>>>>>> (original)
>>>>>>> +++
>>>>>>>
>>>>>>> lucene/solr/trunk/src/common/org/apache/solr/common/params/UpdateParams.java
>>>>>>> Wed Aug 19 12:21:22 2009
>>>>>>> @@ -49,4 +49,6 @@
>>>>>>>   * If optimizing, set the maximum number of segments left in the
>>>>>>> index
>>>>>>> after optimization.  1 is the default (and is equivalent to calling
>>>>>>> IndexWriter.optimize() in Lucene).
>>>>>>>   */
>>>>>>>  public static final String MAX_OPTIMIZE_SEGMENTS = "maxSegments";
>>>>>>> +
>>>>>>> +  public static final String EXPUNGE_DELETES = "expungeDeletes";
>>>>>>>  }
>>>>>>>
>>>>>>> Modified:
>>>>>>>
>>>>>>> lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerUtils.java
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerUtils.java?rev=805774&r1=805773&r2=805774&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> ---
>>>>>>>
>>>>>>> lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerUtils.java
>>>>>>> (original)
>>>>>>> +++
>>>>>>>
>>>>>>> lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerUtils.java
>>>>>>> Wed Aug 19 12:21:22 2009
>>>>>>> @@ -68,6 +68,7 @@
>>>>>>>      CommitUpdateCommand cmd = new CommitUpdateCommand( optimize );
>>>>>>>      cmd.waitFlush    = params.getBool( UpdateParams.WAIT_FLUSH,
>>>>>>>  cmd.waitFlush    );
>>>>>>>      cmd.waitSearcher = params.getBool( UpdateParams.WAIT_SEARCHER,
>>>>>>> cmd.waitSearcher );
>>>>>>> +      cmd.expungeDeletes = params.getBool(
>>>>>>> UpdateParams.EXPUNGE_DELETES,
>>>>>>> cmd.expungeDeletes);
>>>>>>>      cmd.maxOptimizeSegments =
>>>>>>> params.getInt(UpdateParams.MAX_OPTIMIZE_SEGMENTS,
>>>>>>> cmd.maxOptimizeSegments);
>>>>>>>      req.getCore().getUpdateHandler().commit( cmd );
>>>>>>>      @@ -101,6 +102,7 @@
>>>>>>>      CommitUpdateCommand cmd = new CommitUpdateCommand( optimize );
>>>>>>>      cmd.waitFlush    = params.getBool( UpdateParams.WAIT_FLUSH,
>>>>>>>  cmd.waitFlush    );
>>>>>>>      cmd.waitSearcher = params.getBool( UpdateParams.WAIT_SEARCHER,
>>>>>>> cmd.waitSearcher );
>>>>>>> +      cmd.expungeDeletes = params.getBool(
>>>>>>> UpdateParams.EXPUNGE_DELETES,
>>>>>>> cmd.expungeDeletes);             cmd.maxOptimizeSegments =
>>>>>>> params.getInt(UpdateParams.MAX_OPTIMIZE_SEGMENTS,
>>>>>>> cmd.maxOptimizeSegments);
>>>>>>>      processor.processCommit( cmd );
>>>>>>>      return true;
>>>>>>>
>>>>>>> Modified:
>>>>>>> lucene/solr/trunk/src/java/org/apache/solr/handler/XMLLoader.java
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/XMLLoader.java?rev=805774&r1=805773&r2=805774&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> --- lucene/solr/trunk/src/java/org/apache/solr/handler/XMLLoader.java
>>>>>>> (original)
>>>>>>> +++ lucene/solr/trunk/src/java/org/apache/solr/handler/XMLLoader.java
>>>>>>> Wed
>>>>>>> Aug 19 12:21:22 2009
>>>>>>> @@ -155,6 +155,8 @@
>>>>>>>                sawWaitSearcher = true;
>>>>>>>              } else if
>>>>>>> (UpdateParams.MAX_OPTIMIZE_SEGMENTS.equals(attrName)) {
>>>>>>>                cmd.maxOptimizeSegments = Integer.parseInt(attrVal);
>>>>>>> +              } else if
>>>>>>> (UpdateParams.EXPUNGE_DELETES.equals(attrName)) {
>>>>>>> +                cmd.expungeDeletes = StrUtils.parseBoolean(attrVal);
>>>>>>>              } else {
>>>>>>>                XmlUpdateRequestHandler.log.warn("unexpected attribute
>>>>>>> commit/@" + attrName);
>>>>>>>              }
>>>>>>>
>>>>>>> Modified:
>>>>>>>
>>>>>>> lucene/solr/trunk/src/java/org/apache/solr/update/CommitUpdateCommand.java
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/update/CommitUpdateCommand.java?rev=805774&r1=805773&r2=805774&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> ---
>>>>>>>
>>>>>>> lucene/solr/trunk/src/java/org/apache/solr/update/CommitUpdateCommand.java
>>>>>>> (original)
>>>>>>> +++
>>>>>>>
>>>>>>> lucene/solr/trunk/src/java/org/apache/solr/update/CommitUpdateCommand.java
>>>>>>> Wed Aug 19 12:21:22 2009
>>>>>>> @@ -23,6 +23,7 @@
>>>>>>>  public boolean optimize;
>>>>>>>  public boolean waitFlush;
>>>>>>>  public boolean waitSearcher=true;
>>>>>>> +  public boolean expungeDeletes = false;
>>>>>>>    /**
>>>>>>>   * During optimize, optimize down to <= this many segments.  Must be
>>>>>>> >=
>>>>>>> 1
>>>>>>> @@ -39,6 +40,7 @@
>>>>>>>    return "commit(optimize="+optimize
>>>>>>>            +",waitFlush="+waitFlush
>>>>>>>            +",waitSearcher="+waitSearcher
>>>>>>> +            +",expungeDeletes="+expungeDeletes
>>>>>>>            +')';
>>>>>>>  }
>>>>>>>  }
>>>>>>>
>>>>>>> Modified:
>>>>>>>
>>>>>>> lucene/solr/trunk/src/java/org/apache/solr/update/DirectUpdateHandler.java
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/update/DirectUpdateHandler.java?rev=805774&r1=805773&r2=805774&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> ---
>>>>>>>
>>>>>>> lucene/solr/trunk/src/java/org/apache/solr/update/DirectUpdateHandler.java
>>>>>>> (original)
>>>>>>> +++
>>>>>>>
>>>>>>> lucene/solr/trunk/src/java/org/apache/solr/update/DirectUpdateHandler.java
>>>>>>> Wed Aug 19 12:21:22 2009
>>>>>>> @@ -241,9 +241,10 @@
>>>>>>>    synchronized (this) {
>>>>>>>      pset.clear();
>>>>>>>      closeSearcher();  // flush any deletes
>>>>>>> -      if (cmd.optimize) {
>>>>>>> +      if (cmd.optimize || cmd.expungeDeletes) {
>>>>>>>        openWriter();  // writer needs to be open to optimize
>>>>>>> -        writer.optimize(cmd.maxOptimizeSegments);
>>>>>>> +        if(cmd.optimize) writer.optimize(cmd.maxOptimizeSegments);
>>>>>>> +        if(cmd.expungeDeletes)
>>>>>>> writer.expungeDeletes(cmd.expungeDeletes);
>>>>>>>      }
>>>>>>>      closeWriter();
>>>>>>>
>>>>>>> Modified:
>>>>>>>
>>>>>>> lucene/solr/trunk/src/java/org/apache/solr/update/DirectUpdateHandler2.java
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/update/DirectUpdateHandler2.java?rev=805774&r1=805773&r2=805774&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> ---
>>>>>>>
>>>>>>> lucene/solr/trunk/src/java/org/apache/solr/update/DirectUpdateHandler2.java
>>>>>>> (original)
>>>>>>> +++
>>>>>>>
>>>>>>> lucene/solr/trunk/src/java/org/apache/solr/update/DirectUpdateHandler2.java
>>>>>>> Wed Aug 19 12:21:22 2009
>>>>>>> @@ -130,6 +130,7 @@
>>>>>>>  AtomicLong deleteByIdCommandsCumulative= new AtomicLong();
>>>>>>>  AtomicLong deleteByQueryCommands= new AtomicLong();
>>>>>>>  AtomicLong deleteByQueryCommandsCumulative= new AtomicLong();
>>>>>>> +  AtomicLong expungeDeleteCommands = new AtomicLong();
>>>>>>>  AtomicLong mergeIndexesCommands = new AtomicLong();
>>>>>>>  AtomicLong commitCommands= new AtomicLong();
>>>>>>>  AtomicLong optimizeCommands= new AtomicLong();
>>>>>>> @@ -382,6 +383,8 @@
>>>>>>>      if (cmd.optimize) {
>>>>>>>      optimizeCommands.incrementAndGet();
>>>>>>> +    } else if (cmd.expungeDeletes) {
>>>>>>> +      expungeDeleteCommands.incrementAndGet();
>>>>>>>    } else {
>>>>>>>      commitCommands.incrementAndGet();
>>>>>>>    }
>>>>>>> @@ -402,6 +405,10 @@
>>>>>>>      }
>>>>>>>        closeWriter();
>>>>>>> +      if (!cmd.optimize && cmd.expungeDeletes) {
>>>>>>> +        openWriter();
>>>>>>> +        writer.expungeDeletes();
>>>>>>> +      }
>>>>>>>        callPostCommitCallbacks();
>>>>>>>      if (cmd.optimize) {
>>>>>>>
>>>>>>> Modified:
>>>>>>>
>>>>>>> lucene/solr/trunk/src/solrj/org/apache/solr/client/solrj/request/UpdateRequest.java
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/lucene/solr/trunk/src/solrj/org/apache/solr/client/solrj/request/UpdateRequest.java?rev=805774&r1=805773&r2=805774&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> ---
>>>>>>>
>>>>>>> lucene/solr/trunk/src/solrj/org/apache/solr/client/solrj/request/UpdateRequest.java
>>>>>>> (original)
>>>>>>> +++
>>>>>>>
>>>>>>> lucene/solr/trunk/src/solrj/org/apache/solr/client/solrj/request/UpdateRequest.java
>>>>>>> Wed Aug 19 12:21:22 2009
>>>>>>> @@ -153,6 +153,12 @@
>>>>>>>    return this;
>>>>>>>  }
>>>>>>>  +  public UpdateRequest setAction(ACTION action, boolean waitFlush,
>>>>>>> boolean waitSearcher, int maxSegments , boolean expungeDeletes) {
>>>>>>> +    setAction(action, waitFlush, waitSearcher,maxSegments) ;
>>>>>>> +    params.set(UpdateParams.EXPUNGE_DELETES,""+expungeDeletes);
>>>>>>> +    return this;
>>>>>>> +  }
>>>>>>> +
>>>>>>>  /**
>>>>>>>   * @since Solr 1.4
>>>>>>>   */
>>>>>>>
>>>>>>> Modified:
>>>>>>>
>>>>>>> lucene/solr/trunk/src/test/org/apache/solr/update/DirectUpdateHandlerTest.java
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/lucene/solr/trunk/src/test/org/apache/solr/update/DirectUpdateHandlerTest.java?rev=805774&r1=805773&r2=805774&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> ---
>>>>>>>
>>>>>>> lucene/solr/trunk/src/test/org/apache/solr/update/DirectUpdateHandlerTest.java
>>>>>>> (original)
>>>>>>> +++
>>>>>>>
>>>>>>> lucene/solr/trunk/src/test/org/apache/solr/update/DirectUpdateHandlerTest.java
>>>>>>> Wed Aug 19 12:21:22 2009
>>>>>>> @@ -17,20 +17,32 @@
>>>>>>>  package org.apache.solr.update;
>>>>>>>  +import java.io.IOException;
>>>>>>> +import java.util.ArrayList;
>>>>>>>  import java.util.HashMap;
>>>>>>> +import java.util.HashSet;
>>>>>>> +import java.util.List;
>>>>>>>  import java.util.Map;
>>>>>>> +import java.util.Set;
>>>>>>>  import org.apache.lucene.document.Document;
>>>>>>>  import org.apache.lucene.document.Field;
>>>>>>>  import org.apache.lucene.document.Field.Index;
>>>>>>>  import org.apache.lucene.document.Field.Store;
>>>>>>> +import org.apache.lucene.index.IndexReader;
>>>>>>> +import org.apache.lucene.index.SegmentReader;
>>>>>>> +import org.apache.lucene.index.Term;
>>>>>>> +import org.apache.lucene.index.TermEnum;
>>>>>>>  import org.apache.solr.common.SolrException;
>>>>>>>  import org.apache.solr.common.params.CommonParams;
>>>>>>>  import org.apache.solr.common.params.MapSolrParams;
>>>>>>>  import org.apache.solr.core.SolrCore;
>>>>>>>  import org.apache.solr.request.LocalSolrQueryRequest;
>>>>>>>  import org.apache.solr.request.SolrQueryRequest;
>>>>>>> +import org.apache.solr.search.SolrIndexReader;
>>>>>>> +import org.apache.solr.search.SolrIndexSearcher;
>>>>>>>  import org.apache.solr.util.AbstractSolrTestCase;
>>>>>>> +import org.apache.solr.util.RefCounted;
>>>>>>>  /**
>>>>>>>  * @@ -247,6 +259,90 @@
>>>>>>>            );
>>>>>>>  }
>>>>>>>  +  public void testExpungeDeletes() throws Exception {
>>>>>>> +    for (int x = 0; x < 3000; x++) {
>>>>>>> +      addSimpleDoc(x + "");
>>>>>>> +    }
>>>>>>> +    SolrCore core = h.getCore();
>>>>>>> +    UpdateHandler updater = core.getUpdateHandler();
>>>>>>> +    CommitUpdateCommand cmtCmd = new CommitUpdateCommand(false);
>>>>>>> +    cmtCmd.waitSearcher = true;
>>>>>>> +    updater.commit(cmtCmd);
>>>>>>> +
>>>>>>> +    List<String> todelete = new ArrayList<String>();
>>>>>>> +
>>>>>>> +    Set<String> segsdel = new HashSet<String>();
>>>>>>> +
>>>>>>> +    SegmentReader[] sirs = getSegmentReaders(core);
>>>>>>> +    assertTrue(sirs.length > 6);
>>>>>>> +    todelete.add(getNthIDTerm(2, sirs[0]));
>>>>>>> +    segsdel.add(sirs[0].getSegmentName());
>>>>>>> +    +    todelete.add(getNthIDTerm(7, sirs[2]));
>>>>>>> +    segsdel.add(sirs[2].getSegmentName());
>>>>>>> +    +    todelete.add(getNthIDTerm(4, sirs[5]));
>>>>>>> +    segsdel.add(sirs[5].getSegmentName());
>>>>>>> +    +    for (String id : todelete) {
>>>>>>> +      deleteSimpleDoc(id);
>>>>>>> +    }
>>>>>>> +    // commit the deletes
>>>>>>> +    cmtCmd = new CommitUpdateCommand(false);
>>>>>>> +    cmtCmd.waitSearcher = true;
>>>>>>> +    updater.commit(cmtCmd);
>>>>>>> +    +    // expunge deletes
>>>>>>> +    cmtCmd = new CommitUpdateCommand(false);
>>>>>>> +    cmtCmd.waitSearcher = true;
>>>>>>> +    cmtCmd.expungeDeletes = true;
>>>>>>> +    updater.commit(cmtCmd);
>>>>>>> +    +    // we'll have fewer segments
>>>>>>> +    SegmentReader[] sirs2 = getSegmentReaders(core);
>>>>>>> +    assertTrue(sirs.length > sirs2.length);
>>>>>>> +    // check the actual segment names
>>>>>>> +    for (SegmentReader sr : sirs2) {
>>>>>>> +      assertTrue(!segsdel.contains(sr.getSegmentName()));
>>>>>>> +    }
>>>>>>> +  }
>>>>>>> +
>>>>>>> +  SegmentReader[] getSegmentReaders(SolrCore core) throws IOException
>>>>>>> {
>>>>>>> +    RefCounted<SolrIndexSearcher> ref = core.getSearcher(true, true,
>>>>>>> null);
>>>>>>> +    SolrIndexSearcher is = ref.get();
>>>>>>> +    SegmentReader[] segmentReaders = null;
>>>>>>> +    try {
>>>>>>> +      SolrIndexReader reader = is.getReader();
>>>>>>> +      IndexReader[] subreaders = reader.getSequentialSubReaders();
>>>>>>> +      segmentReaders = new SegmentReader[subreaders.length];
>>>>>>> +      for (int x = 0; x < subreaders.length; x++) {
>>>>>>> +        assert subreaders[x] instanceof SolrIndexReader;
>>>>>>> +        SolrIndexReader sir = (SolrIndexReader) subreaders[x];
>>>>>>> +        SegmentReader sr = (SegmentReader) sir.getWrappedReader();
>>>>>>> +        segmentReaders[x] = sr;
>>>>>>> +      }
>>>>>>> +    } finally {
>>>>>>> +      ref.decref();
>>>>>>> +    }
>>>>>>> +    return segmentReaders;
>>>>>>> +  }
>>>>>>> +
>>>>>>> +  private String getNthIDTerm(int n, IndexReader r) throws
>>>>>>> IOException {
>>>>>>> +    TermEnum te = r.terms(new Term("id", ""));
>>>>>>> +    try {
>>>>>>> +      int x = 0;
>>>>>>> +      do {
>>>>>>> +        if (x >= n) {
>>>>>>> +          return te.term().text();
>>>>>>> +        }
>>>>>>> +        x++;
>>>>>>> +      } while (te.next());
>>>>>>> +    } finally {
>>>>>>> +      te.close();
>>>>>>> +    }
>>>>>>> +    return null;
>>>>>>> +  }
>>>>>>> +     private void addSimpleDoc(String id) throws Exception {
>>>>>>>    SolrCore core = h.getCore();
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Regards,
>>>>  Rafał Kuć
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>>
>

Reply via email to