Buggy code:
@ Slow public class FullSolrCloudTest extends AbstractDistributedZkTestCase { static Logger log = LoggerFactory . getLogger ( FullSolrCloudTest . class ) ; @ BeforeClass public static void beforeFullSolrCloudTest ( ) { } private static final String SHARD2 = "shard2" ; private boolean printLayoutOnTearDown = false ; String t1 = "a_t" ; String i1 = "a_si" ; String nint = "n_i" ; String tint = "n_ti" ; String nfloat = "n_f" ; String tfloat = "n_tf" ; String ndouble = "n_d" ; String tdouble = "n_td" ; String nlong = "n_l" ; String tlong = "other_tl1" ; String ndate = "n_dt" ; String tdate = "n_tdt" ; String oddField = "oddField_s" ; String missingField = "ignore_exception__missing_but_valid_field_t" ; String invalidField = "ignore_exception__invalid_field_not_in_schema" ; protected int sliceCount ; protected volatile CloudSolrServer cloudClient ; protected List < FullSolrCloudTest . CloudJettyRunner > cloudJettys = new ArrayList < FullSolrCloudTest . CloudJettyRunner > ( ) ; protected Map < String , List < FullSolrCloudTest . CloudJettyRunner > > shardToJetty = new HashMap < String , List < FullSolrCloudTest . CloudJettyRunner > > ( ) ; private AtomicInteger jettyIntCntr = new AtomicInteger ( 0 ) ; protected ChaosMonkey chaosMonkey ; protected volatile ZkStateReader zkStateReader ; protected Map < String , FullSolrCloudTest . CloudJettyRunner > shardToLeaderJetty = new HashMap < String , FullSolrCloudTest . CloudJettyRunner > ( ) ; static class CloudJettyRunner { JettySolrRunner jetty ; String nodeName ; String coreNodeName ; String url ; FullSolrCloudTest . CloudSolrServerClient client ; public ZkNodeProps info ; @ Override public int hashCode ( ) { } @ Override public boolean equals ( Object obj ) { } } static class CloudSolrServerClient { SolrServer solrClient ; String shardName ; int port ; public ZkNodeProps info ; public CloudSolrServerClient ( ) { } public CloudSolrServerClient ( SolrServer client ) { } @ Override public int hashCode ( ) { } @ Override public boolean equals ( Object obj ) { } } @ Before @ Override public void setUp ( ) throws Exception { } @ BeforeClass public static void beforeClass ( ) { } @ AfterClass public static void afterClass ( ) { } public FullSolrCloudTest ( ) { } protected void initCloud ( ) throws Exception { } @ Override protected void createServers ( int numServers ) throws Exception { } private List < JettySolrRunner > createJettys ( int numJettys ) throws Exception { } private List < JettySolrRunner > createJettys ( int numJettys , boolean checkCreatedVsState ) throws Exception { } private int getNumShards ( String defaultCollection ) { } public JettySolrRunner createJetty ( String dataDir , String shardList , String solrConfigOverride ) throws Exception { } protected void updateMappingsFromZk ( List < JettySolrRunner > jettys , List < SolrServer > clients ) throws Exception { } private FullSolrCloudTest . CloudSolrServerClient findClientByPort ( int port , List < FullSolrCloudTest . CloudSolrServerClient > theClients ) { } @ Override protected void setDistributedParams ( ModifiableSolrParams params ) { } @ Override protected void indexDoc ( SolrInputDocument doc ) throws IOException , SolrServerException { } protected void index_specific ( int serverNumber , Object ... fields ) throws Exception { } protected void index_specific ( SolrServer client , Object ... fields ) throws Exception { } protected void del ( String q ) throws Exception { } @ Override public void doTest ( ) throws Exception { } private long testUpdateAndDelete ( ) throws Exception { } private void addNewReplica ( ) throws Exception { } protected void waitForRecoveriesToFinish ( boolean verbose ) throws Exception { } protected void waitForRecoveriesToFinish ( boolean verbose , int timeoutSeconds ) throws Exception { } private void brindDownShardIndexSomeDocsAndRecover ( ) throws Exception { } private void testDebugQueries ( ) throws Exception { <START_BUG> handle . put ( "explain" , UNORDERED ) ; <END_BUG> handle . put ( "debug" , UNORDERED ) ; handle . put ( "time" , SKIPVAL ) ; query ( "q" , "now<seq2seq4repair_space>their<seq2seq4repair_space>fox<seq2seq4repair_space>sat<seq2seq4repair_space>had<seq2seq4repair_space>put" , "fl" , "*,score" , DEBUG_QUERY , "true" ) ; query ( "q" , "id:[1<seq2seq4repair_space>TO<seq2seq4repair_space>5]" , DEBUG_QUERY , "true" ) ; query ( "q" , "id:[1<seq2seq4repair_space>TO<seq2seq4repair_space>5]" , DEBUG , TIMING ) ; query ( "q" , "id:[1<seq2seq4repair_space>TO<seq2seq4repair_space>5]" , DEBUG , RESULTS ) ; query ( "q" , "id:[1<seq2seq4repair_space>TO<seq2seq4repair_space>5]" , DEBUG , QUERY ) ; } private void checkQueries ( ) throws Exception { } private void indexAbunchOfDocs ( ) throws Exception { } protected void checkShardConsistency ( String shard ) throws Exception { } protected String checkShardConsistency ( String shard , boolean verbose ) throws Exception { } void showDiff ( SolrDocumentList a , SolrDocumentList b , String aName , String bName ) { } protected void checkShardConsistency ( ) throws Exception { } protected void checkShardConsistency ( boolean checkVsControl , boolean verbose ) throws Exception { } private SolrServer getClient ( String nodeName ) { } protected void assertDocCounts ( boolean verbose ) throws Exception { } @ Override protected QueryResponse queryServer ( ModifiableSolrParams params ) throws SolrServerException { } abstract class StopableThread extends Thread { public StopableThread ( String name ) { } public abstract void safeStop ( ) { } } class StopableIndexingThread extends FullSolrCloudTest . StopableThread { private volatile boolean stop = false ; protected final int startI ; protected final List < Integer > deletes = new ArrayList < Integer > ( ) ; protected final AtomicInteger fails = new AtomicInteger ( ) ; protected boolean doDeletes ; public StopableIndexingThread ( int startI , boolean doDeletes ) { } @ Override public void run ( ) { } public void safeStop ( ) { } public int getFails ( ) { } } class StopableSearchThread extends FullSolrCloudTest . StopableThread { private volatile boolean stop = false ; protected final AtomicInteger fails = new AtomicInteger ( ) ; private String [ ] QUERIES = new String [ ] { "to<seq2seq4repair_space>come" , "their<seq2seq4repair_space>country" , "aid" , "co*" } ; public StopableSearchThread ( ) { } @ Override public void run ( ) { } public void safeStop ( ) { } public int getFails ( ) { } }

Fix:
handle . put ( "explain" , SKIPVAL ) ;