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 { } 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 { final SolrParams params = req . getParams ( ) ; CoreAdminHandler . log . info ( "I<seq2seq4repair_space>have<seq2seq4repair_space>been<seq2seq4repair_space>requested<seq2seq4repair_space>to<seq2seq4repair_space>sync<seq2seq4repair_space>up<seq2seq4repair_space>my<seq2seq4repair_space>shard" ) ; ZkController zkController = coreContainer . getZkController ( ) ; if ( zkController == null ) { throw new SolrException ( ErrorCode . BAD_REQUEST , "Only<seq2seq4repair_space>valid<seq2seq4repair_space>for<seq2seq4repair_space>SolrCloud" ) ; } String cname = params . get ( CORE ) ; if ( cname == null ) { throw new IllegalArgumentException ( ( ( CoreAdminParams . CORE ) + "<seq2seq4repair_space>is<seq2seq4repair_space>required" ) ) ; } SolrCore core = null ; SyncStrategy syncStrategy = null ; try { core = coreContainer . getCore ( cname ) ; if ( core != null ) { <START_BUG> syncStrategy = new SyncStrategy ( ) ; <END_BUG> Map < String , Object > props = new HashMap < String , Object > ( ) ; props . put ( BASE_URL_PROP , zkController . getBaseUrl ( ) ) ; props . put ( CORE_NAME_PROP , cname ) ; props . put ( NODE_NAME_PROP , zkController . getNodeName ( ) ) ; boolean success = syncStrategy . sync ( zkController , core , new ZkNodeProps ( props ) ) ; if ( CoreAdminHandler . log . isDebugEnabled ( ) ) { try { RefCounted < SolrIndexSearcher > searchHolder = core . getNewestSearcher ( false ) ; SolrIndexSearcher searcher = searchHolder . get ( ) ; try { CoreAdminHandler . log . debug ( ( ( ( core . getCoreDescriptor ( ) . getCoreContainer ( ) . getZkController ( ) . getNodeName ( ) ) + "<seq2seq4repair_space>synched<seq2seq4repair_space>" ) + ( searcher . search ( new MatchAllDocsQuery ( ) , 1 ) . totalHits ) ) ) ; } finally { searchHolder . decref ( ) ; } } catch ( Exception e ) { throw new SolrException ( ErrorCode . SERVER_ERROR , null , e ) ; } } if ( ! success ) { throw new SolrException ( ErrorCode . SERVER_ERROR , "Sync<seq2seq4repair_space>Failed" ) ; } } else { SolrException . log ( CoreAdminHandler . log , ( "Cound<seq2seq4repair_space>not<seq2seq4repair_space>find<seq2seq4repair_space>core<seq2seq4repair_space>to<seq2seq4repair_space>call<seq2seq4repair_space>sync:" + cname ) ) ; } } finally { if ( core != null ) { core . close ( ) ; } if ( syncStrategy != null ) { syncStrategy . close ( ) ; } } } protected void handleWaitForStateAction ( SolrQueryRequest req , SolrQueryResponse rsp ) throws IOException , InterruptedException , KeeperException { } private void handleRequestApplyUpdatesAction ( SolrQueryRequest req , SolrQueryResponse rsp ) { } private void handleRequestBufferUpdatesAction ( 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:
syncStrategy = new SyncStrategy ( core . getCoreDescriptor ( ) . getCoreContainer ( ) . getUpdateShardHandler ( ) ) ;