Hi Dwane, Thanks for finding and reporting those documentation errors. I filed a Jira [1] to fix those.
It looks like the change to the default value of nifi.provenance.repository.rollover.time was made in 1.12.0 [2]. I will see if we can improve the docs to give more context to why this was done as part of [1]. -Drew [1] https://issues.apache.org/jira/browse/NIFI-9642 <https://issues.apache.org/jira/browse/NIFI-9642> [2] https://issues.apache.org/jira/browse/NIFI-7339 <https://issues.apache.org/jira/browse/NIFI-7339> > On Jan 28, 2022, at 7:56 AM, Nathan Gough <thena...@apache.org> wrote: > > Hi Dwane, > > I've created a Jira issue to test and rectify the Solr + ZooKeeper issue: > https://issues.apache.org/jira/browse/NIFI-9641 > <https://issues.apache.org/jira/browse/NIFI-9641> > > Thanks for the report! > Nathan > > On Fri, Jan 28, 2022 at 7:22 AM Dwane Hall <dwaneh...@hotmail.com > <mailto:dwaneh...@hotmail.com>> wrote: > Hey NiFi community I hope all is well with everyone wherever they may be. I > recently updated our NiFi instances from 1.11.4 to 1.15.3 and have made a few > observations from this process worth mentioning. > > Some minor documentation inconsistencies > A couple of the default values appear to have changed in nifi.properties > through versions (listed below are the old and new values along with links to > the documentation). > > https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#write-ahead-flowfile-repository > > <https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#write-ahead-flowfile-repository> > “The FlowFile Repository checkpoint interval. The default value is 2 mins.” > [new default value is 20 secs] > 1.11.4 nifi.flowfile.repository.checkpoint.interval=2 mins > 11.15.3 nifi.flowfile.repository.checkpoint.interval=20 secs > > https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#persistent-provenance-repository-properties > > <https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#persistent-provenance-repository-properties> > “The amount of time to wait before rolling over the latest data provenance > information so that it is available in the User Interface. The default value > is 30 secs.” > https://nifi.apache.org/docs/nifi-docs/html/user-guide.html#system-properties > <https://nifi.apache.org/docs/nifi-docs/html/user-guide.html#system-properties> > “If processing a high volume of events, change > nifi.provenance.repository.rollover.time from a default of 30 secs to 1 min > and ...” [The new default value is 10 min]. > 1.11.4 nifi.provenance.repository.rollover.time=30 sec > 1.15.3 nifi.provenance.repository.rollover.time=10 min > This seems to be a significant change was there any reason for this new > default setting I was unable to find documentation referencing the increase? > > PutSolrContentStream processor issues > > Secondly after a successful upgrade I noticed our use of the > PutSolrContentStream processor had broken. Looking through the processor > code there was an upgrade to the SolrJ client and a commit in March 2020 (and > referenced below) that appears to prevent nested zk chroot paths for > SolrCloud connections (i.e. the zookeeper connection string is truncated). > > SolrUtils.java (nifi/SolrUtils.java at master · apache/nifi · GitHub > <https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/SolrUtils.java>) > The commit of intrest regarding the new process for initiating a > CloudSolrClient in SolrJ > https://github.com/apache/nifi/commit/9b4292024be6fae188cb1efa3a07dc9489e9a5b4#diff-13320e5b198f236cea296fb01cb7376755d65c444678e781fa0940c2a28db88b > > <https://github.com/apache/nifi/commit/9b4292024be6fae188cb1efa3a07dc9489e9a5b4#diff-13320e5b198f236cea296fb01cb7376755d65c444678e781fa0940c2a28db88b> > > For a nested Solr path "/solr/PROD", "/solr/DEV", "/solr/DR" … the string is > truncated to the base path only i.e. “/solr” (this is only an issue for > nested chroots) > > The code of interest is here in the SolrUtils.java class > > if > (SOLR_TYPE_STANDARD.getValue().equals(context.getProperty(SOLR_TYPE).getValue())) > { > return new HttpSolrClient(solrLocation, httpClient); > return new > HttpSolrClient.Builder(solrLocation).withHttpClient(httpClient).build(); > } else { > // CloudSolrClient.Builder now requires a List of ZK addresses > and znode for solr as separate parameters > final String zk[] = solrLocation.split("/"); > final List zkList = Arrays.asList(zk[0].split(",")); > String zkRoot = "/"; > if (zk.length > 1 && ! zk[1].isEmpty()) { > zkRoot += zk[1]; > } > > > <image.png> > > I think the issue can be resolved by changing this line of code which should > capture the entire nested path and not just the base path at position zk[1] > in the String array. > > final String zk[] = solrLocation.split("/"); > To > final String[] zk = solrLocation.split("/",2); > > > Thanks, > > Dwane