Write Ahead Provenance Repository Properties
Property |
Description |
nifi.provenance.repository.directory.default* |
The location of the Provenance Repository. The default value is |
nifi.provenance.repository.max.storage.time |
The maximum amount of time to keep data provenance information. The default value is |
nifi.provenance.repository.max.storage.size |
The maximum amount of data provenance information to store at a time. The default value is |
nifi.provenance.repository.rollover.time |
The amount of time to wait before rolling over the "event file" that the repository is writing to. |
nifi.provenance.repository.rollover.size |
The amount of data to write to a single "event file." The default value is |
nifi.provenance.repository.query.threads |
The number of threads to use for Provenance Repository queries. The default value is |
nifi.provenance.repository.index.threads |
The number of threads to use for indexing Provenance events so that they are searchable. The default value is |
nifi.provenance.repository.compress.on.rollover |
Indicates whether to compress the provenance information when an "event file" is rolled over. The default value is |
nifi.provenance.repository.always.sync |
If set to |
nifi.provenance.repository.indexed.fields |
This is a comma-separated list of the fields that should be indexed and made searchable. Fields that are not indexed will not be searchable. Valid fields are: |
nifi.provenance.repository.indexed.attributes |
This is a comma-separated list of FlowFile Attributes that should be indexed and made searchable. It is blank by default. But some good examples to consider are 'filename' and 'mime.type' as well as any custom attributes you might use which are valuable for your use case. |
nifi.provenance.repository.index.shard.size |
The repository uses Apache Lucene to performing indexing and searching capabilities. This value indicates how large a Lucene Index should become before the Repository starts writing to a new Index. Large values for the shard size will result in more Java heap usage when searching the Provenance Repository but should provide better performance. The default value is |
nifi.provenance.repository.max.attribute.length |
Indicates the maximum length that a FlowFile attribute can be when retrieving a Provenance Event from the repository. If the length of any attribute exceeds this value, it will be truncated when the event is retrieved. The default value is |
nifi.provenance.repository.concurrent.merge.threads |
Apache Lucene creates several "segments" in an Index. These segments are periodically merged together in order to provide faster querying. This property specifies the maximum number of threads that are allowed to be used for each of the storage directories. The default value is |
nifi.provenance.repository.warm.cache.frequency |
Each time that a Provenance query is run, the query must first search the Apache Lucene indices (at least, in most cases - there are some queries that are run often and the results are cached to avoid searching the Lucene indices). When a Lucene index is opened for the first time, it can be very expensive and take several seconds. This is compounded by having many different indices, and can result in a Provenance query taking much longer. After the index has been opened, the Operating System's disk cache will typically hold onto enough data to make re-opening the index much faster - at least for a period of time, until the disk cache evicts this data. If this value is set, NiFi will periodically open each Lucene index and then close it, in order to "warm" the cache. This will result in far faster queries when the Provenance Repository is large. As with all great things, though, it comes with a cost. Warming the cache does take some CPU resources, but more importantly it will evict other data from the Operating System disk cache and will result in reading (potentially a great deal of) data from the disk. This can result in lower NiFi performance. However, if NiFi is running in an environment where CPU and disk are not fully utilized, this feature can result in far faster Provenance queries. The default value for this property is blank (i.e. disabled). |