Buggy code:
public class CoreAdminHandler extends RequestHandlerBase { protected static Logger log = LoggerFactory . getLogger ( CoreAdminHandler . class ) ; protected final CoreContainer coreContainer ; public CoreAdminHandler ( ) { } public CoreAdminHandler ( final CoreContainer coreContainer ) { } @ Override public final void init ( NamedList args ) { } public CoreContainer getCoreContainer ( ) { } @ Override public void handleRequestBody ( SolrQueryRequest req , SolrQueryResponse rsp ) throws Exception { } protected void handleSplitAction ( SolrQueryRequest adminReq , SolrQueryResponse rsp ) throws IOException { } protected void handleMergeAction ( SolrQueryRequest req , SolrQueryResponse rsp ) throws Exception { } protected void handleCustomAction ( SolrQueryRequest req , SolrQueryResponse rsp ) { } public static ImmutableMap < String , String > paramToProp = ImmutableMap . < String , String > builder ( ) . put ( CONFIG , CORE_CONFIG ) . put ( SCHEMA , CORE_SCHEMA ) . put ( DATA_DIR , CORE_DATADIR ) . put ( ULOG_DIR , CORE_ULOGDIR ) . put ( LOAD_ON_STARTUP , CORE_LOADONSTARTUP ) . put ( TRANSIENT , CORE_TRANSIENT ) . put ( SHARD , CORE_SHARD ) . put ( COLLECTION , CORE_COLLECTION ) . put ( ROLES , CORE_ROLES ) . put ( CORE_NODE_NAME , CoreDescriptor . CORE_NODE_NAME ) . put ( SHARD_STATE , CloudDescriptor . SHARD_STATE ) . put ( SHARD_RANGE , CloudDescriptor . SHARD_RANGE ) . put ( SHARD_PARENT , CloudDescriptor . SHARD_PARENT ) . put ( NUM_SHARDS_PROP , NUM_SHARDS ) . build ( ) ; public static ImmutableMap < String , String > cloudParamToProp ; protected static CoreDescriptor buildCoreDescriptor ( SolrParams params , CoreContainer container ) { } private static String checkNotEmpty ( String value , String message ) { } protected void handleCreateAction ( SolrQueryRequest req , SolrQueryResponse rsp ) throws SolrException { SolrParams params = req . getParams ( ) ; CoreDescriptor dcore = CoreAdminHandler . buildCoreDescriptor ( params , coreContainer ) ; if ( coreContainer . getAllCoreNames ( ) . contains ( dcore . getName ( ) ) ) { CoreAdminHandler . log . warn ( "Creating<seq2seq4repair_space>a<seq2seq4repair_space>core<seq2seq4repair_space>with<seq2seq4repair_space>existing<seq2seq4repair_space>name<seq2seq4repair_space>is<seq2seq4repair_space>not<seq2seq4repair_space>allowed" ) ; throw new SolrException ( ErrorCode . SERVER_ERROR , ( ( "Core<seq2seq4repair_space>with<seq2seq4repair_space>name<seq2seq4repair_space>'" + ( dcore . getName ( ) ) ) + "'<seq2seq4repair_space>already<seq2seq4repair_space>exists." ) ) ; } try { if ( ( coreContainer . getZkController ( ) ) != null ) { coreContainer . preRegisterInZk ( dcore ) ; } coreContainer . getCoresLocator ( ) . create ( coreContainer , dcore ) ; SolrCore core = coreContainer . create ( dcore ) ; <START_BUG> coreContainer . register ( dcore . getName ( ) , core , false ) ; <END_BUG> if ( ( coreContainer . getCoresLocator ( ) ) instanceof SolrXMLCoresLocator ) { coreContainer . getCoresLocator ( ) . create ( coreContainer ) ; } rsp . add ( "core" , core . getName ( ) ) ; } catch ( Exception ex ) { if ( ( coreContainer . isZooKeeperAware ( ) ) && ( dcore != null ) ) { try { coreContainer . getZkController ( ) . unregister ( dcore . getName ( ) , dcore ) ; } catch ( InterruptedException e ) { Thread . currentThread ( ) . interrupt ( ) ; SolrException . log ( CoreAdminHandler . log , null , e ) ; } catch ( KeeperException e ) { SolrException . log ( CoreAdminHandler . log , null , e ) ; } } Throwable tc = ex ; Throwable c = null ; do { tc = tc . getCause ( ) ; if ( tc != null ) { c = tc ; } } while ( tc != null ) ; String rootMsg = "" ; if ( c != null ) { rootMsg = "<seq2seq4repair_space>Caused<seq2seq4repair_space>by:<seq2seq4repair_space>" + ( c . getMessage ( ) ) ; } throw new SolrException ( ErrorCode . BAD_REQUEST , ( ( ( ( "Error<seq2seq4repair_space>CREATEing<seq2seq4repair_space>SolrCore<seq2seq4repair_space>'" + ( dcore . getName ( ) ) ) + "':<seq2seq4repair_space>" ) + ( ex . getMessage ( ) ) ) + rootMsg ) , ex ) ; } } protected void handleRenameAction ( SolrQueryRequest req , SolrQueryResponse rsp ) throws SolrException { } @ Deprecated protected void handleAliasAction ( SolrQueryRequest req , SolrQueryResponse rsp ) { } protected void handleUnloadAction ( SolrQueryRequest req , SolrQueryResponse rsp ) throws SolrException { } protected void handleStatusAction ( SolrQueryRequest req , SolrQueryResponse rsp ) throws SolrException { } protected void handlePersistAction ( SolrQueryRequest req , SolrQueryResponse rsp ) throws SolrException { } protected void handleReloadAction ( SolrQueryRequest req , SolrQueryResponse rsp ) { } protected void handleSwapAction ( SolrQueryRequest req , SolrQueryResponse rsp ) { } protected void handleRequestRecoveryAction ( SolrQueryRequest req , SolrQueryResponse rsp ) throws IOException { } protected void handleRequestSyncAction ( SolrQueryRequest req , SolrQueryResponse rsp ) throws IOException { } protected void handleWaitForStateAction ( SolrQueryRequest req , SolrQueryResponse rsp ) throws IOException , InterruptedException , KeeperException { } private void handleRequestApplyUpdatesAction ( SolrQueryRequest req , SolrQueryResponse rsp ) { } protected NamedList < Object > getCoreStatus ( CoreContainer cores , String cname , boolean isIndexInfoNeeded ) throws IOException { } private long getIndexSize ( SolrCore core ) { } protected static String normalizePath ( String path ) { } public static ModifiableSolrParams params ( String ... params ) { } @ Override public String getDescription ( ) { } @ Override public String getSource ( ) { } }

Fix:
coreContainer . register ( core , false ) ;