Files
SearchServices/search-services/alfresco-search/doc/architecture/AsyncContentTracker/sequence-AsyncContentTracker.puml
2019-07-23 10:49:03 +01:00

75 lines
3.2 KiB
Plaintext

@startuml
skinparam sequence {
ArrowColor DeepSkyBlue
ActorBorderColor DeepSkyBlue
LifeLineBorderColor blue
ParticipantBorderColor DeepSkyBlue
ParticipantBackgroundColor white
}
[-> Scheduler : Initialise on first core load
...
Scheduler -> AsyncContentTracker: Run
activate AsyncContentTracker
loop
AsyncContentTracker -> AsyncContentTracker: aquireRunLock
activate AsyncContentTracker
AsyncContentTracker -> AsyncContentTracker: getTrackerState
AsyncContentTracker -> ContentConsumer: readMessages
participant ContentConsumer #green
activate ContentConsumer #Green
AsyncContentTracker <- ContentConsumer: return docList
deactivate ContentConsumer
participant SolrInformationServer #FFBBBB
AsyncContentTracker -> SolrInformationServer: getDocsWithUncleanContent
activate SolrInformationServer #FFBBBB
SolrInformationServer -> SolrInformationServer: cleanContentCache (periodically)
participant SolrIndexSearcher #aqua
activate SolrIndexSearcher #aqua
SolrInformationServer -> SolrIndexSearcher: search (Search unclean documents)
SolrIndexSearcher -> SolrInformationServer: result docList
deactivate SolrIndexSearcher
AsyncContentTracker <- SolrInformationServer: result docList
deactivate SolrInformationServer
loop content
activate ContentIndexWorkerRunnable
AsyncContentTracker -> ContentIndexWorkerRunnable: load docList
ContentIndexWorkerRunnable -> ContentIndexWorkerRunnable: doWork
activate SolrInformationServer #FFBBBB
activate ContentIndexWorkerRunnable #lightgrey
ContentIndexWorkerRunnable -> SolrInformationServer: updateContentToIndexAndCache
SolrInformationServer -> SolrContentStore: retrieveDocFromSolrContentStore
activate SolrContentStore
SolrContentStore -> SolrInformationServer
deactivate SolrContentStore
SolrInformationServer -> SolrInformationServer: addContentToDoc
participant SharedFileStoreClient #green
SolrInformationServer -> SharedFileStoreClient: getTextContent
activate SharedFileStoreClient #green
SolrInformationServer <- SharedFileStoreClient: return text
deactivate SharedFileStoreClient
activate SolrInformationServer #DarkSalmon
SolrInformationServer -> SolrInformationServer:addContentPropertyMetadata
SolrInformationServer -> SolrInformationServer:fingerprint
SolrInformationServer -> SolrInformationServer:addField
SolrInformationServer -> SolrInformationServer:markFTSStatus
SolrInformationServer ->o SolrContentStore:storeDocOnSolrContentStore
participant UpdateRequestProcessor #aqua
SolrInformationServer -> UpdateRequestProcessor:processAdd(addDocCmd)
deactivate ContentIndexWorkerRunnable
deactivate ContentIndexWorkerRunnable
deactivate SolrInformationServer
deactivate SolrInformationServer
end
loop contentNew
AsyncContentTracker -> ContentProducer:produceRequest
AsyncContentTracker -> AsyncContentTracker:markFTSStatus (dirty)
end
end
AsyncContentTracker -> Scheduler
deactivate AsyncContentTracker
...
center footer Copyright 2019 Alfresco Software Inc
@enduml