public interface AuditReaderApi
The AuditReaderApi allows for the consumption of audit information about the processing of messages documents. This information
is generated by implementations of the AuditWriterApi. These interfaces work with the same data but are separated to
allow for differing security and implementation.
| Term | Definition |
|---|---|
| idle | A client is idle between any audit records the client generates and after its "last" event. |
| inactive | A client is considered inactive if it has been idle longer than maxIdleClientMs. It is otherwise considered active. |
| incomplete | A client is incomplete if its summary information is imbalanced. A client is complete or balanced at a point in time if CREATED = COMPLETED + DROPPED + LOST |
UNAVAILABLE. A subsequent call of the API should result in a valid id.$Revision$
| Modifier and Type | Field and Description |
|---|---|
static String |
UNAVAILABLE
For performance reasons some implementations may delay writes of document ids when collecting audit information.
|
| Modifier and Type | Method and Description |
|---|---|
Iterable<UUID> |
getActiveClients()
Returns the clientIds for all active clients.
|
CloseableIterable<AuditDetail> |
getAll(UUID clientId,
long startSeq,
long count) |
Iterable<AuditDetail> |
getAuditDetails(String docId,
Date start,
Date end)
Returns an
Iterable of AuditDetails associated with the document. |
Iterable<AuditDetail> |
getAuditDetails(String docId,
UUID clientId)
Returns an
Iterable of AuditDetails associated with the document. |
Iterable<AuditDetail> |
getByCorrelationId(UUID clientId,
UUID correlationId)
Get all audit details for a document via its
correlationId. |
Iterable<String> |
getCreatedDocuments(Date start,
Date end)
Returns a list of IDs for all documents which were received by the system or created within the system during the specified
date range.
|
Iterable<String> |
getCreatedDocuments(UUID clientId)
Returns a list of IDs for all documents which were received by the system or created within the system by the specified
clientId.
|
Iterable<String> |
getDocuments(EnumSet<ProcessingResultCode> codeSet,
Date start,
Date end)
Returns a list of IDs for all documents for which a
resultCode in codeSet was received at some point during
content processing. |
Iterable<String> |
getDocuments(EnumSet<ProcessingResultCode> codeSet,
UUID clientId)
Returns a list of IDs for all documents for which a
resultCode in codeSet was received at some point during
content processing. |
Iterable<UUID> |
getInactiveClients()
Returns the clientIds for all inactive clients.
|
Iterable<AuditDetail> |
getLostDetails(long startSeq,
long endSeq)
Returns all audit detail events that have been flagged as LOST and have a sequence id >=
startSeq and <
endSeq. |
Iterable<String> |
getProcessedDocuments(Date start,
Date end)
Returns a list of IDs for all documents which have completed processing during the specified date range.
|
Iterable<String> |
getProcessedDocuments(UUID clientId)
Returns a list of IDs for all documents which have completed processing which were sent by the specified client.
|
Iterable<String> |
getSearchableDocuments(String indexName,
Date start,
Date end)
Returns an
Iterable of IDs for all documents which became searchable during the specified date range. |
Iterable<String> |
getSearchableDocuments(String indexName,
UUID clientId)
Returns an
Iterable of IDs for all documents that are searchable and were fed by the specified client. |
AuditClientSummary |
getSummary(UUID clientId) |
AuditClientSummary |
waitForCompletion(UUID clientId)
Waits until all documents and messages created by this client have completed processing.
|
AuditClientSummary |
waitForCompletion(UUID clientId,
long timeout)
Waits until all documents and messages created by this client have completed processing.
|
Date |
whenSearchable(String indexName,
UUID clientId)
Returns the earliest date an index commit was received after all documents for the client were indexed.
|
Date |
whenSearchable(String indexName,
UUID clientId,
String docId)
Returns the earliest date an index commit was received after the document was indexed.
|
static final String UNAVAILABLE
<unavailable>. A subsequent call of the API should result in a valid id.Iterable<String> getCreatedDocuments(Date start, Date end) throws AttivioException
start - the inclusive start date.end - the exclusive end date.AttivioException - if query cannot be executedIterable<String> getCreatedDocuments(UUID clientId) throws AttivioException
clientId - restricts results to clientId, null not allowed.AttivioException - if query cannot be executedIterable<String> getSearchableDocuments(String indexName, Date start, Date end) throws AttivioException
Iterable of IDs for all documents which became searchable during the specified date range. Indexed
documents become searchable when an associated commit is received. The component with name <indexName>-content-dispatcher generates ProcessingResultCode.OK result codes for each document it sees document it
processes. Once it generates an associated OK result for a Commit message, those documents are searchable.
A reference algorithm is to find the latest commit (T1) that occurred before the start of the time range and the
latest commit (T2) before the end of the time range. Then any documents that reached the indexer in the time range
T1-T2 are the ones that became searchable.
indexName - the name of the index. To look up index related information, the actual Attivio component that interfaces to
the index must be determined. The indexName is used to compute this component name. This is done by adding
the suffix -content-dispatcher to the indexName. Additionally if indexName does not supply
the workflow where the component is located (specified by a name followed by a .), the default name indexer.
will be prepended.start - the inclusive start date.end - the exclusive end date.AttivioException - if query cannot be executedIterable<String> getSearchableDocuments(String indexName, UUID clientId) throws AttivioException
Iterable of IDs for all documents that are searchable and were fed by the specified client. Indexed
documents become searchable when an associated commit is received. The component with name <indexName>-content-dispatcher generates ProcessingResultCode.OK result codes for each document it sees document it
processes. Once it generates an associated OK result for a Commit message, those documents are searchable.indexName - the name of the index. To look up index related information, the actual Attivio component that interfaces to
the index must be determined. The indexName is used to compute this component name. This is done by adding
the suffix -content-dispatcher to the indexName. Additionally if indexName does not supply
the workflow where the component is located (specified by a name followed by a .), the default name indexer.
will be prepended.clientId - restricts results to clientId, null not allowed.AttivioException - if query cannot be executedIterable<String> getProcessedDocuments(Date start, Date end) throws AttivioException
AuditDetail for the document with a resultCode of ProcessingResultCode.COMPLETED.start - the inclusive start date.end - the exclusive end date.AttivioException - if query cannot be executedIterable<String> getProcessedDocuments(UUID clientId) throws AttivioException
AuditDetail for the document with a resultCode of ProcessingResultCode.COMPLETED.clientId - restricts results to clientId, null not allowed.AttivioException - if query cannot be executedIterable<String> getDocuments(EnumSet<ProcessingResultCode> codeSet, UUID clientId) throws AttivioException
resultCode in codeSet was received at some point during
content processing. Since there are multiple content processing stages codes may appear multiple times and multiple codes may
match. The returned list will be restricted to documents fed by clientId.codeSet - set of result codes to matchclientId - restricts results to clientId, null not allowed.Iterable of document IDs. Document IDs appear at most once.AttivioException - if query cannot be executedIterable<String> getDocuments(EnumSet<ProcessingResultCode> codeSet, Date start, Date end) throws AttivioException
resultCode in codeSet was received at some point during
content processing. Since there are multiple content processing stages codes may appear multiple times and multiple codes may
match. The returned list will be restricted to documents fed within the specified time range.codeSet - set of result codes to matchstart - the inclusive start date.end - the exclusive end date.Iterable of document IDs. Document IDs appear at most once.AttivioException - if query cannot be executedDate whenSearchable(String indexName, UUID clientId, String docId) throws AttivioException
ProcessingResultCode.OK audit result for the index content dispatcher component (
<indexName>-content-dispatcher). Documents which are not marked OK by the indexer are not considered by this
method as they will never become searchable.indexName - the name of the index. To look up index related information, the actual Attivio component that interfaces to
the index must be determined. The indexName is used to compute this component name. This is done by adding
the suffix -content-dispatcher to the indexName. Additionally if indexName does not supply
the workflow where the component is located (specified by a name followed by a .), the default name indexer.
will be prepended.clientId - restricts results to clientId, null not allowed.docId - docId became searchable or null if not yet searchableAttivioException - if query cannot be executedDate whenSearchable(String indexName, UUID clientId) throws AttivioException
ProcessingResultCode.OK audit result for the index content dispatcher
component (<indexName>-content-dispatcher). Documents which are not marked OK by the indexer are not
considered by this method as they will never become searchable.indexName - the name of the index. To look up index related information, the actual Attivio component that interfaces to
the index must be determined. The indexName is used to compute this component name. This is done by adding
the suffix -content-dispatcher to the indexName. Additionally if indexName does not supply
the workflow where the component is located (specified by a name followed by a .), the default name indexer.
will be prepended.clientId - restricts results to clientId, null not allowed.clientId became searchable or null if all
documents are not yet searchable or no documents have been submitted by the client.AttivioException - if query cannot be executedIterable<AuditDetail> getAuditDetails(String docId, UUID clientId) throws AttivioException
Iterable of AuditDetails associated with the document. This list may include the audit information
for a number of components and will include the creation and completion audit records if available. This method may be called
while the document is still being processed.docId - the document ID to matchclientId - restricts results to clientId, null not allowed.AttivioException - if query cannot be executedIterable<AuditDetail> getAuditDetails(String docId, Date start, Date end) throws AttivioException
Iterable of AuditDetails associated with the document. This list may include the audit information
for a number of components and will include the creation and completion audit records if available. This method may be called
while the document is still being processed. null values for start and end will return all available
audit records for the document.docId - the document ID to matchstart - the inclusive start date.end - the exclusive end date.AttivioException - if query cannot be executedAuditClientSummary waitForCompletion(UUID clientId) throws AttivioException
clientId - restricts results to clientId, null not allowed.null if the client does not exist.AttivioException - if query cannot be executedAuditClientSummary waitForCompletion(UUID clientId, long timeout) throws AttivioException
clientId - timeout - AuditClientSummary if waited successfully, null if timeout occurred or client does not
exist.AttivioException - if query cannot be executedAuditClientSummary getSummary(UUID clientId) throws AttivioException
clientId - restricts results to clientId, null not allowed.null if the client does not exist.AttivioException - if query cannot be executedCloseableIterable<AuditDetail> getAll(UUID clientId, long startSeq, long count) throws AttivioException
clientId - startSeq - starting sequence ID for responsecount - the maximum number of audit details to return, use Long.MAX_VALUE for allAttivioExceptionIterable<AuditDetail> getLostDetails(long startSeq, long endSeq) throws AttivioException
startSeq and <
endSeq.
NOTE: this method is used internally to replay LOST messages for fault tolerance.
AttivioExceptionIterable<AuditDetail> getByCorrelationId(UUID clientId, UUID correlationId) throws AttivioException
correlationId.AttivioExceptionIterable<UUID> getActiveClients() throws AttivioException
AttivioExceptionIterable<UUID> getInactiveClients() throws AttivioException
AttivioExceptionCopyright © 2018 Attivio, Inc. All Rights Reserved.
PATENT NOTICE: Attivio, Inc. Software Related Patents. With respect to the Attivio software product(s) being used, the following patents apply: Querying Joined Data Within A Search Engine Index: United States Patent No.(s): 8,073,840. Ordered Processing of Groups of Messages: U.S. Patent No.(s) 8,495,656. Signal processing approach to sentiment analysis for entities in documents: U.S. Patent No.(s) 8,725,494. Other U.S. and International Patents Pending.