public DocumentLoader getLoader() { if (context instanceof SolrMorphlineContext) { DocumentLoader loader = ((SolrMorphlineContext)context).getDocumentLoader(); if (loader != null) { return loader; } } SolrServer solrServer = getSolrServer(); if (solrServer instanceof CloudSolrServer) { try { ((CloudSolrServer)solrServer).setIdField(getIndexSchema().getUniqueKeyField().getName()); } catch (RuntimeException e) { try { solrServer.shutdown(); // release resources } catch (Exception ex2) { LOG.debug("Cannot get index schema and cannot shutdown CloudSolrServer", ex2); } throw new RuntimeException(e); // rethrow root cause } } return new SolrServerDocumentLoader(solrServer, batchSize); }