From bdcbe39fc024c169ec8e939cc8ac4203b5cb3570 Mon Sep 17 00:00:00 2001 From: michaelsuzukisagi Date: Fri, 12 Jul 2019 15:08:37 +0100 Subject: [PATCH] Inital sequence diagram of cotnent tracker and async content tracker --- .../sequence-AsyncContentTracker.puml | 63 +++++++++++++++++++ .../sequence-ContentTracker.puml | 60 ++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 search-services/alfresco-search/doc/architecture/AsyncContentTracker/sequence-AsyncContentTracker.puml create mode 100644 search-services/alfresco-search/doc/architecture/AsyncContentTracker/sequence-ContentTracker.puml diff --git a/search-services/alfresco-search/doc/architecture/AsyncContentTracker/sequence-AsyncContentTracker.puml b/search-services/alfresco-search/doc/architecture/AsyncContentTracker/sequence-AsyncContentTracker.puml new file mode 100644 index 000000000..2533544b4 --- /dev/null +++ b/search-services/alfresco-search/doc/architecture/AsyncContentTracker/sequence-AsyncContentTracker.puml @@ -0,0 +1,63 @@ +@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 -> MessageQueueReader: readMessages + participant MessageQueueReader #green + activate MessageQueueReader #green + AsyncContentTracker <- MessageQueueReader: return docList + deactivate MessageQueueReader + 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 + AsyncContentTracker <- SolrInformationServer: result docList + loop content + activate ContentIndexWorkerRunnable + AsyncContentTracker -> ContentIndexWorkerRunnable: load docList + ContentIndexWorkerRunnable -> ContentIndexWorkerRunnable: doWork + 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) + end +end + AsyncContentTracker -> Scheduler + deactivate AsyncContentTracker +... + center footer Copyright 2019 Alfresco Software Inc + + @enduml \ No newline at end of file diff --git a/search-services/alfresco-search/doc/architecture/AsyncContentTracker/sequence-ContentTracker.puml b/search-services/alfresco-search/doc/architecture/AsyncContentTracker/sequence-ContentTracker.puml new file mode 100644 index 000000000..e2b40c86d --- /dev/null +++ b/search-services/alfresco-search/doc/architecture/AsyncContentTracker/sequence-ContentTracker.puml @@ -0,0 +1,60 @@ +@startuml +skinparam sequence { + ArrowColor DeepSkyBlue + ActorBorderColor DeepSkyBlue + LifeLineBorderColor blue + ParticipantBorderColor DeepSkyBlue + ParticipantBackgroundColor white +} + + [-> Scheduler : Initialise on first core load + + ... + Scheduler -> ContentTracker: Run + activate ContentTracker + loop + + ContentTracker -> ContentTracker: doTrack + activate ContentTracker + ContentTracker -> ContentTracker: aquireRunLock + ContentTracker -> ContentTracker: getTrackerState + ContentTracker -> 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 + ContentTracker <- SolrInformationServer: result docList + loop content + activate ContentIndexWorkerRunnable + ContentTracker -> ContentIndexWorkerRunnable: load docList + ContentIndexWorkerRunnable -> ContentIndexWorkerRunnable: doWork + activate ContentIndexWorkerRunnable #lightgrey + ContentIndexWorkerRunnable -> SolrInformationServer: updateContentToIndexAndCache + SolrInformationServer -> SolrContentStore: retrieveDocFromSolrContentStore + activate SolrContentStore + SolrContentStore -> SolrInformationServer + deactivate SolrContentStore + SolrInformationServer -> SolrInformationServer: addContentToDoc + participant SOLRAPIClient #green + activate SOLRAPIClient #green + SolrInformationServer -> SOLRAPIClient: getTextContent + SolrInformationServer <- SOLRAPIClient: return Text + deactivate SOLRAPIClient + 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) + end +end + ContentTracker -> Scheduler + deactivate ContentTracker +... + center footer Copyright 2019 Alfresco Software Inc + + @enduml \ No newline at end of file