6.2. Content Feeder JMX Managed Beans

The Content Feeder exports an additional managed bean named SolrIndexer (Section 6.5, “Solr Indexer JMX Managed Beans”).

MBean Attributes

Attribute Type Description
IndexAverageBatchCreationTime Read-only Average batch creation time in the statistics interval.
IndexAverageBatchIndexingTime Read-only Average batch indexing time in the statistics interval. If Apache Solr is used, this property is 0 because documents are indexed immediately when they are sent to the search engine. Indexing time is then part of IndexAverageBatchSendingTime.
IndexAverageBatchSendingTime Read-only Average batch sending time in the statistics interval.
IndexBatches Read-only Number of indexed batches in the statistics interval.
IndexBytes Read-only Number of indexed bytes in the statistics interval.
IndexDocuments Read-only Number of indexed documents in the statistics interval.
IndexDocumentsPerSecond Read-only Number of documents indexed per second in the statistics interval.
IndexMaxBatchBytes Read-only The maximum batch size in bytes.
IndexMaxBatchSize Read-only The maximum number of documents in a batch.
IndexAverageLagTime Read-only

The average delay in seconds of last indexed documents for the last <n> seconds, where <n> is the value of the attribute IndexStatisticInterval. If <n> is 0 or greater than the value of attribute IndexMaxStatisticInterval, this attribute will contain the value since the start of the Content Feeder. The difference of the time when a batch was successfully sent and the feedable field freshness are used for each feedable object where feederstate is SUCCESS.

The set of feedables used to compute the delay can be restricted by introducing a com.coremedia.common.util.Predicate. This predicate can be injected into the Spring bean index. The include method accepts an object of type com.coremedia.cap.feeder.Feedable. The custom implementation decides to include this feedable into these statistics.

To inject a custom predicate use the bean customizer and replace the BatchStatisticsFeedablePredicate of the index bean:

<customize:replace id="batchStatisticsFeedablePredicateCustomizer" bean="index" custom-ref="myPredicate" property="batchStatisticsFeedablePredicate" />

IndexContentDocuments Read-only

The number of last indexed documents for the last <n> seconds, where <n> is the value of the attribute BatchStatisticsIntervalSeconds. If <n> is 0, this attribute will contain the value since the start of the Content Feeder.

The set of feedables used to compute the number of content documents can be restricted by introducing a com.coremedia.common.util.Predicate. This predicate can be injected into the Spring bean index. The include method accepts an object of type com.coremedia.cap.feeder.Feedable. The custom implementation decides to include this feedable into these statistics.

To inject a custom predicate use the bean customizer and replace the BatchStatisticsFeedablePredicate of the feeder bean:

<customize:replace id="batchStatisticsFeedablePredicateCustomizer" bean="index" custom-ref="myPredicate" property="batchStatisticsFeedablePredicate" />

IndexMaxLagTime Read-only

The maximum delay in seconds of last indexed documents for the last <n> seconds, where <n> is the value of the attribute IndexStatisticInterval. If <n> is 0 or greater than the value of attribute IndexMaxStatisticInterval, this attribute will contain the value since the start of the Content Feeder. The difference of the time when a batch was successfully sent and the feedable field freshness are used for each feedable object where feederstate is SUCCESS.

The set of feedables used to compute the delay can be restricted by introducing a com.coremedia.common.util.Predicate. This predicate can be injected into the Spring bean index. The include method accepts an object of type com.coremedia.cap.feeder.Feedable. The custom implementation decides to include this feedable into these statistics.

To inject a custom predicate use the bean customizer and replace the BatchStatisticsFeedablePredicate of the index bean:

<customize:replace id="batchStatisticsFeedablePredicateCustomizer" bean="index" custom-ref="myPredicate" property="batchStatisticsFeedablePredicate" />

IndexMinLagTime Read-only

The minimum delay in seconds of last indexed documents for the last <n> seconds, where <n> is the value of the attribute IndexStatisticInterval. If <n> is 0 or greater than the value of attribute IndexMaxStatisticInterval, this attribute will contain the value since the start of the Content Feeder. The difference of the time when a batch was successfully sent and the feedable field freshness are used for each feedable object where feederstate is SUCCESS.

The set of feedables used to compute the delay can be restricted by introducing a com.coremedia.common.util.Predicate. This predicate can be injected into the Spring bean index. The include method accepts an object of type com.coremedia.cap.feeder.Feedable. The custom implementation decides to include this feedable into these statistics.

To inject a custom predicate use the bean customizer and replace the BatchStatisticsFeedablePredicate of the index bean:

<customize:replace id="batchStatisticsFeedablePredicateCustomizer" bean="index" custom-ref="myPredicate" property="batchStatisticsFeedablePredicate" />

IndexMaxStatisticInterval Read-only Maximum interval in seconds for the computation of statistics.
IndexOpenBatches Read-only Number of open batches.
IndexStatisticInterval Read/Write Time interval in seconds for which the statistics are calculated.
LastFailure Read-only Last failure that led to a stop of the Content Feeder.
LatestIndexing Read-only

The time when last indexing happened for the last <n> seconds, where <n> is the value of the attribute IndexStatisticInterval.

The set of feedables used to compute the latest index time can be restricted by introducing a com.coremedia.common.util.Predicate. This predicate can be injected into the Spring bean index. The include method accepts an object of type com.coremedia.cap.feeder.Feedable. The custom implementation decides to include this feedable into these statistics.

To inject a custom predicate use the bean customizer and replace the BatchStatisticsFeedablePredicate of the index bean:

<customize:replace id="batchStatisticsFeedablePredicateCustomizer" bean="index" custom-ref="myPredicate" property="batchStatisticsFeedablePredicate" />

PendingEvents Read-only

The number of events the Content Feeder is behind the most recent event.

It is computed as the difference between the sequence number of the Content Server's current timestamp and the sequence number of the timestamp of the last event whose changes have been persisted in the index. Unified API subsequence numbers are not taken into account, that is two Unified API events with the same sequence number (but different subsequence numbers) are counted as single event. Each document is counted as one additional event when the Content Feeder is still initializing.

The value of this attribute increases with changes to content, users or groups in the Content Server. It is decreased after the Content Feeder has processed these changes.

Note that the value of this attribute may stay at a non-zero value for a short time after starting the Content Feeder and before the next change happens in the Content Server. This only happens if the latest events in the Content Server are user or group changes. This exceptional case does not indicate a lagging Content Feeder.

PersistedEvents Read-only

The number of persisted events for the last <n> seconds, where <n> is the value of the attribute IndexStatisticInterval. If <n> is zero or greater than the value of attribute IndexMaxStatisticInterval, this attribute contains the total number of persisted events since starting the Content Feeder.

Persisted events are computed as difference between sequence numbers of timestamps for which all changes have been persisted in the index. Unified API subsequence numbers are not taken into account, that is, two Unified API events with the same sequence number (but different subsequence numbers) are counted as single event.

This attribute contains the number of persisted documents as long as the Content Feeder is still initializing.

PersistedEventsPerSecond Read-only

The number of persisted events per second for the last <n> seconds, where <n> is the value of the attribute IndexStatisticInterval. If <n> is zero or greater than the value of attribute IndexMaxStatisticInterval, this attribute contains the persisted events per second since starting the Content Feeder.

Persisted events are computed as difference between sequence numbers of timestamps for which all changes have been persisted in the index. Unified API subsequence numbers are not taken into account, that is, two Unified API events with the same sequence number (but different subsequence numbers) are counted as single event.

This attribute contains the persisted documents per second as long as the Content Feeder is still initializing.

CurrentPendingDocuments Read-only The number of documents in the currently fed folder to reindex after rights rule changes.
PendingFolders Read-only The ids of all pending folders which are not yet reindexed completely due to rights rule changes. The feeder may already have started indexing documents from the first folder in the result.
RetryConnectToIndexDelay Read-only The time in seconds between retries to connect to the Search Engine on startup
State Read-only State of the Content Feeder (running or stopped).
Uptime Read-only Uptime of the Content Feeder in milliseconds.

Table 6.12. JMX manageable attributes of the Content Feeder


MBean Operations

Operation Parameter Description
stop   Stop the Content Feeder
clearCollection   Clears the Search Engine index. The Content Feeder must have been stopped with the stop operation before. All documents will be reindexed when the Content Feeder is restarted.
getPendingDocuments   Returns the total number of documents to reindex after rights rule changes, that is, the number of documents in the folders with ids returned by the JMX attribute PendingFolders above. This might be an expensive operation.

Table 6.13. JMX operations of the Content Feeder