I am using Solr 8.5 cloud, and in my collection I have edited the
solrconfig.xml file to use
<autoSoftCommit>
<maxTime>1000</maxTime>
</autoSoftCommit>
and commented out the default <autoCommit> configuration
<!--
<autoCommit>
<maxTime>15000</maxTime>
<openSearcher>false</openSearcher>
</autoCommit>
-->
We are using SolrJ to post files to the Solr here is the snippet of Java
code that does it
try(HttpSolrClient solrClient = solr.build()){
ContentStreamUpdateRequest up = new
ContentStreamUpdateRequest("/update/extract");
up.addFile(f, mimeType);
String tempId = f.getName() + (new Date()).toString();
up.setParam("literal.id", tempId);
up.setParam("literal.username", user);
up.setParam("literal.fileName", f.getName());
up.setParam("literal.filePath", path);
up.setParam("uprefix", "attr_");
up.setParam("fmap.content", "attr_content");
up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);
logger.info("PreRequest");
solrClient.request(up);
logger.info("PostRequest");
resultId = tempId;
} catch (IOException | SolrServerException |
HttpSolrClient.RemoteSolrException e) {
logger.error("Error connecting.committing to Solr", e);
}
So I am not passing the parameter to do a softCommit in the SolrJ command.
When I posted a file to my Solr core, when I look at the solr.log file I
see the following information
2020-07-21 16:38:54.719 INFO (qtp1546693040-302) [c:files s:shard1
r:core_node5 x:files_shard1_replica_n2] o.a.s.u.p.LogUpdateProcessorFactory
[files_shard1_replica_n2] webapp=/solr path=/update
params={update.distrib=TOLEADER&update.chain=files-update-processor&waitSearcher=true&openSearcher=true&commit=true&softCommit=false&distrib.from=
http://192.168.1.191:8983/solr/files_shard2_replica_n6/
Does having <autoSoftCommit> set in the solrconfig.xml override REST Post
calls that have the parameter softCommit=false and force a softCommit when
the data is posted to Solr.
Thanks in advance.