Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.apache.solr.cloud;
  
  import java.util.HashSet;
  import java.util.List;
  import java.util.Set;
  
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
  *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
   private static String t1 = "a_t";
   private static String i1 = "a_si";
   private volatile boolean stop = false;
   protected final String id;
   protected final List<Stringdeletes = new ArrayList<>();
   protected Set<StringaddFails = new HashSet<>();
   protected Set<StringdeleteFails = new HashSet<>();
   protected boolean doDeletes;
   private int numCycles;
   private SolrServer controlClient;
   private SolrServer cloudClient;
   private int numDeletes;
   private int numAdds;
   private int batchSize;
   private boolean pauseBetweenUpdates;
 
   public StopableIndexingThread(SolrServer controlClientSolrServer cloudClientString idboolean doDeletes) {
     this(controlClientcloudClientiddoDeletes, -1, 1, true);
   }
   
   public StopableIndexingThread(SolrServer controlClientSolrServer cloudClientString idboolean doDeletesint numCyclesint batchSizeboolean pauseBetweenUpdates) {
     super("StopableIndexingThread");
     this. = controlClient;
     this. = cloudClient;
     this. = id;
     this. = doDeletes;
     this. = numCycles;
     this. = batchSize;
     setDaemon(true);
     this. = pauseBetweenUpdates;
   }
   
   @Override
   public void run() {
     int i = 0;
     int numDone = 0;
      = 0;
      = 0;
     
     while (true && !) {
       if ( != -1) {
         if (numDone > ) {
           break;
         }
       }
       ++numDone;
       String id = this. + "-" + i;
       ++i;
       boolean addFailed = false;
       
       if ( && AbstractFullDistribZkTestBase.random().nextBoolean() && .size() > 0) {
         String deleteId = .remove(0);
         try {
           ++;
           if ( != null) {
             UpdateRequest req = new UpdateRequest();
             req.deleteById(deleteId);
             req.setParam("CONTROL""TRUE");
             req.process();
           }
           
           .deleteById(deleteId);
         } catch (Exception e) {
           ..println("REQUEST FAILED for id=" + deleteId);
           e.printStackTrace();
           if (e instanceof SolrServerException) {
             ..println("ROOT CAUSE for id=" + deleteId);
            ((SolrServerExceptione).getRootCause().printStackTrace();
          }
          .add(deleteId);
        }
      }
      
      try {
        ++;
        SolrInputDocument doc = new SolrInputDocument();
        addFields(doc"id"id, 50, ,
            "to come to the aid of their country.");
        addFields(doc"rnd_b"true);
        
        .add(doc);
        
        if (.size() >= )  {
          indexDocs();
          .clear();
        }
      } catch (Exception e) {
        addFailed = true;
        ..println("REQUEST FAILED for id=" + id);
        e.printStackTrace();
        if (e instanceof SolrServerException) {
          ..println("ROOT CAUSE for id=" + id);
          ((SolrServerExceptione).getRootCause().printStackTrace();
        }
        .add(id);
      }
      
      if (!addFailed &&  && AbstractFullDistribZkTestBase.random().nextBoolean()) {
        .add(id);
      }
      
      if (.size() > 0 && ) {
        try {
          Thread.currentThread().sleep(AbstractFullDistribZkTestBase.random().nextInt(500) + 50);
        } catch (InterruptedException e) {
          Thread.currentThread().interrupt();
        }
      }
    }
    
    ..println("added docs:" +  + " with " + (.size() + .size()) + " fails"
        + " deletes:" + );
  }
  
  public void safeStop() {
     = true;
  }
  
  public Set<StringgetAddFails() {
    return ;
  }
  
  public Set<StringgetDeleteFails() {
    return ;
  }
  
  public int getFailCount() {
    return .size() + .size();
  }
  
  protected void addFields(SolrInputDocument docObject... fields) {
    for (int i = 0; i < fields.lengthi += 2) {
      doc.addField((String) (fields[i]), fields[i + 1]);
    }
  }
  
  protected void indexDocs(List<SolrInputDocumentdocsthrows IOException,
      SolrServerException {
    
    if ( != null) {
      UpdateRequest req = new UpdateRequest();
      req.add(docs);
      req.setParam("CONTROL""TRUE");
      req.process();
    }
    
    UpdateRequest ureq = new UpdateRequest();
    ureq.add(docs);
    ureq.process();
  }
  
  public int getNumDeletes() {
    return ;
  }
  public int getNumAdds() {
    return ;
  }
  
New to GrepCode? Check out our FAQ X