From 4071315e362e093d0b1b44721587bd34480a886c Mon Sep 17 00:00:00 2001 From: Tigran Mkrtchyan Date: Fri, 18 Aug 2023 17:07:01 +0200 Subject: [PATCH] docs: add dcache door generic workflow --- modules/dcache/README.md | 69 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 modules/dcache/README.md diff --git a/modules/dcache/README.md b/modules/dcache/README.md new file mode 100644 index 00000000000..8653ae475e9 --- /dev/null +++ b/modules/dcache/README.md @@ -0,0 +1,69 @@ +# dCache request diagrams + + +## Door workflow on successful read, close through door (NFS) + +```mermaid +sequenceDiagram + autonumber + participant Client + participant Door + participant poolA + participant PoolManager + participant PnfsManager + participant Billing + Client ->> Door: GET + Door->>PnfsManager: PnfsGetFileAttributes (path|pnfsid) + PnfsManager -->> Door: storage info, attrs + + Door ->> PoolManager: PoolMgrSelectReadPoolMsg(pnfsid, storage info) + PoolManager-->>Door: poolA + Door->>poolA: Start Mover (pnfsid, protocol, storage info) + poolA -->>Door: mover id + poolA-->>Door: redirect + Door -->> Client: redirect + loop Application IO + Client->>poolA: GET + poolA-->>Client: 'bytes' + end + Client->>Door: CLOSE + Door->>poolA: Kill Mover(id) + poolA ->> Billing: MoverInfoMessage + poolA-->>Door: DoorTransferFinishedMessage(status) + Door->>Billing: DoorRequestInfoMessage + Door-->>Client: OK +``` + +## Door workflow on successful read, close through pool (dcap, xroot, http) + +```mermaid +sequenceDiagram + autonumber + participant Client + participant Door + participant poolA + participant PoolManager + participant PnfsManager + participant Billing + Client ->> Door: GET + Door->>PnfsManager: PnfsGetFileAttributes (path|pnfsid) + PnfsManager -->> Door: storage info, attrs + + Door ->> PoolManager: PoolMgrSelectReadPoolMsg(pnfsid, storage info) + PoolManager-->>Door: poolA + Door->>poolA: Start Mover (pnfsid, protocol, storage info) + poolA -->>Door: mover id + poolA-->>Door: redirect + Door -->> Client: redirect + loop Application IO + Client->>poolA: GET + poolA-->>Client: 'bytes' + end + Client->>poolA: CLOSE + poolA ->> Billing: MoverInfoMessage + poolA-->>Door: DoorTransferFinishedMessage(status) + Door->>Billing: DoorRequestInfoMessage + opt dcap + Door-->>Client: OK + end +```