67 lines
1.5 KiB
Plaintext
67 lines
1.5 KiB
Plaintext
title Get Read Version
|
|
|
|
participantgroup **Client** (NativeAPI.actor.cpp)
|
|
participant "Transaction::getReadVersion" as gRV
|
|
participant "readVersionBatcher" as rVB
|
|
participant "getConsistentReadVersion" as gCRV
|
|
end
|
|
|
|
participantgroup **GRVProxy** (GrvProxyServer.actor.cpp)
|
|
participant "queueGetReadVersionRequests" as qGRVR
|
|
participant "transactionStarter" as tS
|
|
participant "getLiveCommittedVersion" as gLCV
|
|
end
|
|
|
|
participantgroup **Master** (masterserver.actor.cpp)
|
|
participant "serveLiveCommittedVersion" as sLCV
|
|
end
|
|
|
|
autoactivation off
|
|
|
|
gRV -> rVB: VersionRequest
|
|
|
|
loop Batch requests
|
|
box over rVB:Batch read version requests
|
|
end
|
|
|
|
note right of rVB: <color:#green>//TransactionAttachID//</color>
|
|
|
|
rVB -> gCRV:
|
|
|
|
note right of gCRV: <color:#blue>Before</color>
|
|
|
|
gCRV -> qGRVR: GetReadVersionRequest
|
|
|
|
loop Batch requests
|
|
box over qGRVR: Batch read version requests
|
|
end
|
|
|
|
note right of qGRVR: <color:#lightblue>--GrvProxyServer.queueTransactionStartRequests.Before--</color>
|
|
|
|
qGRVR -> tS:
|
|
|
|
note right of tS: <color:#green>//TransactionAttachID//</color>
|
|
|
|
note right of tS: <color:#blue>AskLiveCommittedVersionFromMaster</color>
|
|
|
|
tS -> gLCV:
|
|
|
|
note right of gLCV: <color:#blue>confirmEpochLive</color>
|
|
|
|
gLCV -> sLCV: GetRawCommittedVersionRequest
|
|
|
|
note right of sLCV: <color:#blue>GetRawCommittedVersion</color>
|
|
|
|
sLCV --> gLCV: GetRawCommittedVersionReply
|
|
|
|
note right of gLCV: <color:#blue>After</color>
|
|
|
|
gLCV --> gCRV: GetReadVersionReply
|
|
|
|
note right of gCRV: <color:#blue>After</color>
|
|
|
|
gCRV --> rVB: GetReadVersionReply
|
|
|
|
rVB --> gRV: GetReadVersionReply
|
|
|