[master] f68c8f6e4 VBF: add vcl_backend_refresh to cache_fetch.dot
Walid Boudebouda
walid.boudebouda at gmail.com
Mon Sep 1 08:46:05 UTC 2025
commit f68c8f6e4df69dfcde9621fac8d6688805883a42
Author: Walid Boudebouda <walid.boudebouda at gmail.com>
Date: Tue Oct 10 19:03:17 2023 +0200
VBF: add vcl_backend_refresh to cache_fetch.dot
diff --git a/doc/graphviz/cache_fetch.dot b/doc/graphviz/cache_fetch.dot
index 96c0967a0..80e5fff19 100644
--- a/doc/graphviz/cache_fetch.dot
+++ b/doc/graphviz/cache_fetch.dot
@@ -43,9 +43,27 @@ digraph cache_fetch {
]
v_b_f:error:s -> v_b_e
v_b_f:fetch:s -> v_b_hdrs [style=bold]
+ RETRY_FETCH [shape=plaintext]
+ RETRY_FETCH -> v_b_hdrs [style=bold]
v_b_hdrs [ label="send bereq,\nread beresp (headers)"]
- v_b_hdrs -> v_b_r [style=bold]
+ v_b_hdrs -> v_b_r [label="\"no stale object\""] [style=bold]
v_b_hdrs -> v_b_e
+ v_b_hdrs -> v_b_refresh [label="\"stale object\""] [style=bold]
+
+ v_b_refresh [
+ shape=record
+ label="{vbf_stp_startfetch:|{vcl_backend_refresh\{\}|{bereq.*|beresp.*}}|{<error>error|fail|{retry|{<max>max?|<retry>ok?}}|{retry(fetch)|{<rf_max>max?|<rf_retry>ok?}}|abandon|<merge>merge|<stale>obj_stale|<beresp>beresp}}"
+ ]
+ v_b_refresh:error:s -> v_b_e
+ v_b_refresh:retry -> v_b_r_retry [color=purple]
+ v_b_refresh:rf_retry -> v_b_r_retry_fetch [color=purple]
+ v_b_refresh:rf_max -> v_b_e
+ v_b_refresh:max -> v_b_e
+
+ v_b_refresh:merge -> v_b_r
+ v_b_refresh:beresp -> v_b_r
+ v_b_refresh:stale -> v_b_r
+
v_b_r [
shape=record
label="{vbf_stp_startfetch:|{vcl_backend_response\{\}|{bereq.*|beresp.*}}|{<error>error|fail|{retry|{<max>max?|<retry>ok?}}|abandon|{deliver or pass|{<fetch_304>304?|<non_304>other?}}}}"
@@ -57,6 +75,7 @@ digraph cache_fetch {
v_b_r:non_304:s -> vbf_stp_fetch
v_b_r_retry [label="RETRY",shape=plaintext]
+ v_b_r_retry_fetch [label="RETRY_FETCH",shape=plaintext]
vbf_stp_fetchbody [
shape=record
diff --git a/doc/graphviz/cache_fetch.svg b/doc/graphviz/cache_fetch.svg
index fa09e056e..0fad71a04 100644
--- a/doc/graphviz/cache_fetch.svg
+++ b/doc/graphviz/cache_fetch.svg
@@ -1,338 +1,446 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.40.1 (20161225.0304)
+<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: cache_fetch Pages: 1 -->
-<svg width="700pt" height="1318pt"
- viewBox="36.00 36.00 664.00 1281.74" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(40 1277.7401)">
+<svg width="860pt" height="1219pt"
+ viewBox="36.00 36.00 824.00 1182.74" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(40 1178.74)">
<title>cache_fetch</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1241.7401 624,-1241.7401 624,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-1142.74 784,-1142.74 784,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_backend</title>
-<polygon fill="#f0f8ff" stroke="#f0f8ff" points="8,-8 8,-1229.7401 612,-1229.7401 612,-8 8,-8"/>
+<polygon fill="aliceblue" stroke="aliceblue" points="8,-8 8,-1130.74 772,-1130.74 772,-8 8,-8"/>
</g>
<!-- RETRY -->
<g id="node1" class="node">
<title>RETRY</title>
-<text text-anchor="middle" x="433" y="-1208.0401" font-family="Times,serif" font-size="14.00" fill="#000000">RETRY</text>
+<text text-anchor="middle" x="273" y="-1109.04" font-family="Times,serif" font-size="14.00">RETRY</text>
</g>
<!-- v_b_f -->
<g id="node4" class="node">
<title>v_b_f</title>
-<polygon fill="none" stroke="#000000" points="207.5,-1049.2401 207.5,-1118.2401 396.5,-1118.2401 396.5,-1049.2401 207.5,-1049.2401"/>
-<text text-anchor="middle" x="302" y="-1103.0401" font-family="Times,serif" font-size="14.00" fill="#000000">vbf_stp_startfetch:</text>
-<polyline fill="none" stroke="#000000" points="207.5,-1095.2401 396.5,-1095.2401 "/>
-<text text-anchor="middle" x="273.5" y="-1080.0401" font-family="Times,serif" font-size="14.00" fill="#000000">vcl_backend_fetch{}</text>
-<polyline fill="none" stroke="#000000" points="339.5,-1072.2401 339.5,-1095.2401 "/>
-<text text-anchor="middle" x="368" y="-1080.0401" font-family="Times,serif" font-size="14.00" fill="#000000">bereq.*</text>
-<polyline fill="none" stroke="#000000" points="207.5,-1072.2401 396.5,-1072.2401 "/>
-<text text-anchor="middle" x="229.5" y="-1057.0401" font-family="Times,serif" font-size="14.00" fill="#000000">error</text>
-<polyline fill="none" stroke="#000000" points="251.5,-1049.2401 251.5,-1072.2401 "/>
-<text text-anchor="middle" x="269.5" y="-1057.0401" font-family="Times,serif" font-size="14.00" fill="#000000">fail</text>
-<polyline fill="none" stroke="#000000" points="287.5,-1049.2401 287.5,-1072.2401 "/>
-<text text-anchor="middle" x="319" y="-1057.0401" font-family="Times,serif" font-size="14.00" fill="#000000">abandon</text>
-<polyline fill="none" stroke="#000000" points="350.5,-1049.2401 350.5,-1072.2401 "/>
-<text text-anchor="middle" x="373.5" y="-1057.0401" font-family="Times,serif" font-size="14.00" fill="#000000">fetch</text>
+<polygon fill="none" stroke="black" points="13.5,-988.24 13.5,-1057.24 246.5,-1057.24 246.5,-988.24 13.5,-988.24"/>
+<text text-anchor="middle" x="130" y="-1042.04" font-family="Times,serif" font-size="14.00">vbf_stp_startfetch:</text>
+<polyline fill="none" stroke="black" points="13.5,-1034.24 246.5,-1034.24 "/>
+<text text-anchor="middle" x="95.5" y="-1019.04" font-family="Times,serif" font-size="14.00">vcl_backend_fetch{}</text>
+<polyline fill="none" stroke="black" points="177.5,-1011.24 177.5,-1034.24 "/>
+<text text-anchor="middle" x="212" y="-1019.04" font-family="Times,serif" font-size="14.00">bereq.*</text>
+<polyline fill="none" stroke="black" points="13.5,-1011.24 246.5,-1011.24 "/>
+<text text-anchor="middle" x="41" y="-996.04" font-family="Times,serif" font-size="14.00">error</text>
+<polyline fill="none" stroke="black" points="68.5,-988.24 68.5,-1011.24 "/>
+<text text-anchor="middle" x="89.5" y="-996.04" font-family="Times,serif" font-size="14.00">fail</text>
+<polyline fill="none" stroke="black" points="110.5,-988.24 110.5,-1011.24 "/>
+<text text-anchor="middle" x="150.5" y="-996.04" font-family="Times,serif" font-size="14.00">abandon</text>
+<polyline fill="none" stroke="black" points="190.5,-988.24 190.5,-1011.24 "/>
+<text text-anchor="middle" x="218.5" y="-996.04" font-family="Times,serif" font-size="14.00">fetch</text>
</g>
<!-- RETRY->v_b_f -->
<g id="edge4" class="edge">
<title>RETRY->v_b_f</title>
-<path fill="none" stroke="#a020f0" d="M414.5087,-1193.6723C396.4206,-1175.9984 368.2234,-1148.447 344.5834,-1125.3483"/>
-<polygon fill="#a020f0" stroke="#a020f0" points="347.0079,-1122.8239 337.4093,-1118.3386 342.1158,-1127.8307 347.0079,-1122.8239"/>
+<path fill="none" stroke="purple" d="M245.09,-1094.56C230.28,-1085.45 211.44,-1073.86 193.31,-1062.7"/>
+<polygon fill="purple" stroke="purple" points="194.84,-1059.53 184.49,-1057.27 191.17,-1065.49 194.84,-1059.53"/>
</g>
<!-- v_b_f_BGFETCH -->
<g id="node2" class="node">
<title>v_b_f_BGFETCH</title>
-<polygon fill="#40e0d0" stroke="#40e0d0" points="384,-1229.7401 306,-1229.7401 306,-1193.7401 384,-1193.7401 384,-1229.7401"/>
-<text text-anchor="middle" x="345" y="-1208.0401" font-family="Times,serif" font-size="14.00" fill="#000000">BGFETCH</text>
+<polygon fill="turquoise" stroke="turquoise" points="222,-1130.74 132,-1130.74 132,-1094.74 222,-1094.74 222,-1130.74"/>
+<text text-anchor="middle" x="177" y="-1109.04" font-family="Times,serif" font-size="14.00">BGFETCH</text>
</g>
<!-- v_b_f_BGFETCH->v_b_f -->
<g id="edge1" class="edge">
<title>v_b_f_BGFETCH->v_b_f</title>
-<path fill="none" stroke="#00ff00" stroke-width="2" d="M338.9304,-1193.6723C333.2233,-1176.684 324.4506,-1150.5697 316.8873,-1128.0558"/>
-<polygon fill="#00ff00" stroke="#00ff00" stroke-width="2" points="320.1253,-1126.7034 313.6229,-1118.3386 313.4897,-1128.9326 320.1253,-1126.7034"/>
+<path fill="none" stroke="green" stroke-width="2" d="M167.71,-1094.35C163.41,-1086.3 158.09,-1076.34 152.82,-1066.47"/>
+<polygon fill="green" stroke="green" stroke-width="2" points="155.82,-1064.65 148.02,-1057.48 149.65,-1067.95 155.82,-1064.65"/>
</g>
<!-- v_b_f_FETCH -->
<g id="node3" class="node">
<title>v_b_f_FETCH</title>
-<polygon fill="#40e0d0" stroke="#40e0d0" points="287.5,-1229.7401 228.5,-1229.7401 228.5,-1193.7401 287.5,-1193.7401 287.5,-1229.7401"/>
-<text text-anchor="middle" x="258" y="-1208.0401" font-family="Times,serif" font-size="14.00" fill="#000000">FETCH</text>
+<polygon fill="turquoise" stroke="turquoise" points="114,-1130.74 46,-1130.74 46,-1094.74 114,-1094.74 114,-1130.74"/>
+<text text-anchor="middle" x="80" y="-1109.04" font-family="Times,serif" font-size="14.00">FETCH</text>
</g>
<!-- v_b_f_FETCH->v_b_f -->
<g id="edge2" class="edge">
<title>v_b_f_FETCH->v_b_f</title>
-<path fill="none" stroke="#0000ff" stroke-width="2" d="M259.3379,-1193.6723C263.4509,-1176.6078 271.9569,-1150.3353 280.422,-1127.7531"/>
-<polygon fill="#0000ff" stroke="#0000ff" stroke-width="2" points="283.7197,-1128.9287 284.0345,-1118.3386 277.1843,-1126.421 283.7197,-1128.9287"/>
+<path fill="none" stroke="blue" stroke-width="2" d="M84.37,-1094.35C88.12,-1086.22 93.43,-1076.14 99.15,-1066.17"/>
+<polygon fill="blue" stroke="blue" stroke-width="2" points="102.2,-1067.88 104.24,-1057.48 96.16,-1064.34 102.2,-1067.88"/>
</g>
<!-- v_b_f_FETCH->v_b_f -->
<g id="edge3" class="edge">
<title>v_b_f_FETCH->v_b_f</title>
-<path fill="none" stroke="#ff0000" stroke-width="2" d="M269.0837,-1193.6723C276.6685,-1176.684 286.1736,-1150.5697 293.2243,-1128.0558"/>
-<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="296.6184,-1128.9243 296.179,-1118.3386 289.9212,-1126.8878 296.6184,-1128.9243"/>
+<path fill="none" stroke="red" stroke-width="2" d="M95.38,-1094.35C100.83,-1086.3 106.9,-1076.34 112.47,-1066.47"/>
+<polygon fill="red" stroke="red" stroke-width="2" points="115.66,-1067.93 117.41,-1057.48 109.53,-1064.56 115.66,-1067.93"/>
</g>
<!-- v_b_e -->
<g id="node5" class="node">
<title>v_b_e</title>
-<polygon fill="none" stroke="#000000" points="160,-538.5 160,-653.5 394,-653.5 394,-538.5 160,-538.5"/>
-<text text-anchor="middle" x="277" y="-638.3" font-family="Times,serif" font-size="14.00" fill="#000000">vbf_stp_error:</text>
-<polyline fill="none" stroke="#000000" points="160,-630.5 394,-630.5 "/>
-<text text-anchor="middle" x="235.5" y="-603.8" font-family="Times,serif" font-size="14.00" fill="#000000">vcl_backend_error{}</text>
-<polyline fill="none" stroke="#000000" points="311,-584.5 311,-630.5 "/>
-<text text-anchor="middle" x="352.5" y="-615.3" font-family="Times,serif" font-size="14.00" fill="#000000">bereq.*</text>
-<polyline fill="none" stroke="#000000" points="311,-607.5 394,-607.5 "/>
-<text text-anchor="middle" x="352.5" y="-592.3" font-family="Times,serif" font-size="14.00" fill="#000000">beresp.*</text>
-<polyline fill="none" stroke="#000000" points="160,-584.5 394,-584.5 "/>
-<text text-anchor="middle" x="219" y="-569.3" font-family="Times,serif" font-size="14.00" fill="#000000">retry</text>
-<polyline fill="none" stroke="#000000" points="160,-561.5 278,-561.5 "/>
-<text text-anchor="middle" x="177.5" y="-546.3" font-family="Times,serif" font-size="14.00" fill="#000000">fail</text>
-<polyline fill="none" stroke="#000000" points="195,-538.5 195,-561.5 "/>
-<text text-anchor="middle" x="218.5" y="-546.3" font-family="Times,serif" font-size="14.00" fill="#000000">max?</text>
-<polyline fill="none" stroke="#000000" points="242,-538.5 242,-561.5 "/>
-<text text-anchor="middle" x="260" y="-546.3" font-family="Times,serif" font-size="14.00" fill="#000000">ok?</text>
-<polyline fill="none" stroke="#000000" points="278,-538.5 278,-584.5 "/>
-<text text-anchor="middle" x="309" y="-557.8" font-family="Times,serif" font-size="14.00" fill="#000000">abandon</text>
-<polyline fill="none" stroke="#000000" points="340,-538.5 340,-584.5 "/>
-<text text-anchor="middle" x="367" y="-557.8" font-family="Times,serif" font-size="14.00" fill="#000000">deliver</text>
+<polygon fill="none" stroke="black" points="176.5,-424.5 176.5,-539.5 453.5,-539.5 453.5,-424.5 176.5,-424.5"/>
+<text text-anchor="middle" x="315" y="-524.3" font-family="Times,serif" font-size="14.00">vbf_stp_error:</text>
+<polyline fill="none" stroke="black" points="176.5,-516.5 453.5,-516.5 "/>
+<text text-anchor="middle" x="267.5" y="-489.8" font-family="Times,serif" font-size="14.00">vcl_backend_error{}</text>
+<polyline fill="none" stroke="black" points="358.5,-470.5 358.5,-516.5 "/>
+<text text-anchor="middle" x="406" y="-501.3" font-family="Times,serif" font-size="14.00">bereq.*</text>
+<polyline fill="none" stroke="black" points="358.5,-493.5 453.5,-493.5 "/>
+<text text-anchor="middle" x="406" y="-478.3" font-family="Times,serif" font-size="14.00">beresp.*</text>
+<polyline fill="none" stroke="black" points="176.5,-470.5 453.5,-470.5 "/>
+<text text-anchor="middle" x="243.5" y="-455.3" font-family="Times,serif" font-size="14.00">retry</text>
+<polyline fill="none" stroke="black" points="176.5,-447.5 310.5,-447.5 "/>
+<text text-anchor="middle" x="196" y="-432.3" font-family="Times,serif" font-size="14.00">fail</text>
+<polyline fill="none" stroke="black" points="215.5,-424.5 215.5,-447.5 "/>
+<text text-anchor="middle" x="242.5" y="-432.3" font-family="Times,serif" font-size="14.00">max?</text>
+<polyline fill="none" stroke="black" points="269.5,-424.5 269.5,-447.5 "/>
+<text text-anchor="middle" x="290" y="-432.3" font-family="Times,serif" font-size="14.00">ok?</text>
+<polyline fill="none" stroke="black" points="310.5,-424.5 310.5,-470.5 "/>
+<text text-anchor="middle" x="349" y="-443.8" font-family="Times,serif" font-size="14.00">abandon</text>
+<polyline fill="none" stroke="black" points="387.5,-424.5 387.5,-470.5 "/>
+<text text-anchor="middle" x="420.5" y="-443.8" font-family="Times,serif" font-size="14.00">deliver</text>
</g>
<!-- v_b_f->v_b_e -->
<g id="edge5" class="edge">
<title>v_b_f:s->v_b_e</title>
-<path fill="none" stroke="#000000" d="M229,-1048.7401C229,-1032.0734 229,-1027.9068 229,-1011.2401 229,-1011.2401 229,-1011.2401 229,-691.5 229,-681.9283 230.9488,-672.3366 234.061,-663.1216"/>
-<polygon fill="#000000" stroke="#000000" points="237.3724,-664.2616 237.6924,-653.6716 230.8382,-661.7506 237.3724,-664.2616"/>
+<path fill="none" stroke="black" d="M41,-987.74C41,-956.39 9,-956.22 9,-924.87 9,-924.87 9,-924.87 9,-634 9,-607.69 6.22,-595.43 25,-577 69.37,-533.46 101.76,-557.45 166.35,-539.91"/>
+<polygon fill="black" stroke="black" points="167.53,-543.21 176.12,-537.01 165.54,-536.5 167.53,-543.21"/>
</g>
<!-- v_b_hdrs -->
<g id="node6" class="node">
<title>v_b_hdrs</title>
-<ellipse fill="none" stroke="#000000" cx="374" cy="-946.8701" rx="94.0904" ry="26.7407"/>
-<text text-anchor="middle" x="374" y="-950.6701" font-family="Times,serif" font-size="14.00" fill="#000000">send bereq,</text>
-<text text-anchor="middle" x="374" y="-935.6701" font-family="Times,serif" font-size="14.00" fill="#000000">read beresp (headers)</text>
+<ellipse fill="none" stroke="black" cx="330" cy="-923.87" rx="123.07" ry="26.74"/>
+<text text-anchor="middle" x="330" y="-927.67" font-family="Times,serif" font-size="14.00">send bereq,</text>
+<text text-anchor="middle" x="330" y="-912.67" font-family="Times,serif" font-size="14.00">read beresp (headers)</text>
</g>
<!-- v_b_f->v_b_hdrs -->
<g id="edge6" class="edge">
<title>v_b_f:s->v_b_hdrs</title>
-<path fill="none" stroke="#000000" stroke-width="2" d="M374,-1048.7401C374,-1027.4011 374,-1003.5478 374,-984.2904"/>
-<polygon fill="#000000" stroke="#000000" stroke-width="2" points="377.5001,-984.1098 374,-974.1098 370.5001,-984.1098 377.5001,-984.1098"/>
+<path fill="none" stroke="black" stroke-width="2" d="M219,-987.74C219,-971.14 228.51,-958.87 241.97,-949.82"/>
+<polygon fill="black" stroke="black" stroke-width="2" points="243.98,-952.7 250.81,-944.59 240.42,-946.67 243.98,-952.7"/>
</g>
<!-- FETCH_DONE -->
-<g id="node13" class="node">
+<g id="node16" class="node">
<title>FETCH_DONE</title>
-<polygon fill="#40e0d0" stroke="#40e0d0" points="410,-44 306,-44 306,-8 410,-8 410,-44"/>
-<text text-anchor="middle" x="358" y="-22.3" font-family="Times,serif" font-size="14.00" fill="#000000">FETCH_DONE</text>
+<polygon fill="turquoise" stroke="turquoise" points="510,-44 390,-44 390,-8 510,-8 510,-44"/>
+<text text-anchor="middle" x="450" y="-22.3" font-family="Times,serif" font-size="14.00">FETCH_DONE</text>
</g>
<!-- v_b_e->FETCH_DONE -->
-<g id="edge20" class="edge">
+<g id="edge30" class="edge">
<title>v_b_e:deliver->FETCH_DONE</title>
-<path fill="none" stroke="#000000" d="M367,-538C367,-474.7525 308,-471.7475 308,-408.5 308,-408.5 308,-408.5 308,-81.5 308,-69.8644 314.1412,-59.5678 322.1192,-51.1007"/>
-<polygon fill="#000000" stroke="#000000" points="324.6221,-53.5511 329.4947,-44.1432 319.8188,-48.4592 324.6221,-53.5511"/>
-<text text-anchor="middle" x="353.5" y="-229.8" font-family="Times,serif" font-size="14.00" fill="#000000">"backend synth"</text>
+<path fill="none" stroke="black" d="M421,-424C421,-284.85 438.94,-119 446.6,-54.53"/>
+<polygon fill="black" stroke="black" points="450.1,-54.73 447.82,-44.38 443.15,-53.89 450.1,-54.73"/>
+<text text-anchor="middle" x="493" y="-172.8" font-family="Times,serif" font-size="14.00">"backend synth"</text>
</g>
<!-- FETCH_FAIL -->
-<g id="node15" class="node">
+<g id="node18" class="node">
<title>FETCH_FAIL</title>
-<polygon fill="#40e0d0" stroke="#40e0d0" points="163,-342.5 67,-342.5 67,-306.5 163,-306.5 163,-342.5"/>
-<text text-anchor="middle" x="115" y="-320.8" font-family="Times,serif" font-size="14.00" fill="#000000">FETCH_FAIL</text>
+<polygon fill="turquoise" stroke="turquoise" points="184.5,-266.5 77.5,-266.5 77.5,-230.5 184.5,-230.5 184.5,-266.5"/>
+<text text-anchor="middle" x="131" y="-244.8" font-family="Times,serif" font-size="14.00">FETCH_FAIL</text>
</g>
<!-- v_b_e->FETCH_FAIL -->
-<g id="edge22" class="edge">
+<g id="edge32" class="edge">
<title>v_b_e:s->FETCH_FAIL</title>
-<path fill="none" stroke="#000000" d="M218,-538C218,-464.3488 167.6624,-389.3334 137.3673,-350.8555"/>
-<polygon fill="#000000" stroke="#000000" points="139.8606,-348.3708 130.868,-342.7687 134.4044,-352.7559 139.8606,-348.3708"/>
+<path fill="none" stroke="black" d="M242,-424C242,-362.17 191.78,-304.57 158.9,-273.48"/>
+<polygon fill="black" stroke="black" points="161.08,-270.73 151.36,-266.53 156.34,-275.88 161.08,-270.73"/>
</g>
<!-- v_b_e_retry -->
-<g id="node16" class="node">
+<g id="node19" class="node">
<title>v_b_e_retry</title>
-<text text-anchor="middle" x="258" y="-320.8" font-family="Times,serif" font-size="14.00" fill="#000000">RETRY</text>
+<text text-anchor="middle" x="290" y="-244.8" font-family="Times,serif" font-size="14.00">RETRY</text>
</g>
<!-- v_b_e->v_b_e_retry -->
-<g id="edge21" class="edge">
+<g id="edge31" class="edge">
<title>v_b_e:retry->v_b_e_retry</title>
-<path fill="none" stroke="#a020f0" d="M260,-538C260,-471.6476 259.0221,-393.7007 258.4339,-352.8154"/>
-<polygon fill="#a020f0" stroke="#a020f0" points="261.9331,-352.7248 258.2866,-342.7773 254.9338,-352.8276 261.9331,-352.7248"/>
+<path fill="none" stroke="purple" d="M290,-424C290,-372.06 290,-311.42 290,-277.04"/>
+<polygon fill="purple" stroke="purple" points="293.5,-276.84 290,-266.84 286.5,-276.84 293.5,-276.84"/>
</g>
<!-- v_b_hdrs->v_b_e -->
-<g id="edge8" class="edge">
+<g id="edge9" class="edge">
<title>v_b_hdrs->v_b_e</title>
-<path fill="none" stroke="#000000" d="M294.1279,-932.588C269.6299,-923.2697 249,-907.8862 249,-882.5 249,-882.5 249,-882.5 249,-691.5 249,-682.3009 250.2111,-672.7974 252.1296,-663.5141"/>
-<polygon fill="#000000" stroke="#000000" points="255.5902,-664.0867 254.4652,-653.5518 248.775,-662.4889 255.5902,-664.0867"/>
+<path fill="none" stroke="black" d="M227.12,-909.1C153.03,-896.83 62.2,-876.12 39,-846 2.25,-798.28 32.88,-622.79 72,-577 72.25,-576.71 116.31,-559.63 166.85,-540.12"/>
+<polygon fill="black" stroke="black" points="168.28,-543.31 176.35,-536.45 165.76,-536.78 168.28,-543.31"/>
</g>
<!-- v_b_r -->
-<g id="node7" class="node">
+<g id="node8" class="node">
<title>v_b_r</title>
-<polygon fill="none" stroke="#000000" points="268.5,-729.5 268.5,-844.5 587.5,-844.5 587.5,-729.5 268.5,-729.5"/>
-<text text-anchor="middle" x="428" y="-829.3" font-family="Times,serif" font-size="14.00" fill="#000000">vbf_stp_startfetch:</text>
-<polyline fill="none" stroke="#000000" points="268.5,-821.5 587.5,-821.5 "/>
-<text text-anchor="middle" x="370.5" y="-794.8" font-family="Times,serif" font-size="14.00" fill="#000000">vcl_backend_response{}</text>
-<polyline fill="none" stroke="#000000" points="472.5,-775.5 472.5,-821.5 "/>
-<text text-anchor="middle" x="530" y="-806.3" font-family="Times,serif" font-size="14.00" fill="#000000">bereq.*</text>
-<polyline fill="none" stroke="#000000" points="472.5,-798.5 587.5,-798.5 "/>
-<text text-anchor="middle" x="530" y="-783.3" font-family="Times,serif" font-size="14.00" fill="#000000">beresp.*</text>
-<polyline fill="none" stroke="#000000" points="268.5,-775.5 587.5,-775.5 "/>
-<text text-anchor="middle" x="290" y="-748.8" font-family="Times,serif" font-size="14.00" fill="#000000">error</text>
-<polyline fill="none" stroke="#000000" points="311.5,-729.5 311.5,-775.5 "/>
-<text text-anchor="middle" x="329" y="-748.8" font-family="Times,serif" font-size="14.00" fill="#000000">fail</text>
-<polyline fill="none" stroke="#000000" points="346.5,-729.5 346.5,-775.5 "/>
-<text text-anchor="middle" x="388" y="-760.3" font-family="Times,serif" font-size="14.00" fill="#000000">retry</text>
-<polyline fill="none" stroke="#000000" points="346.5,-752.5 429.5,-752.5 "/>
-<text text-anchor="middle" x="370" y="-737.3" font-family="Times,serif" font-size="14.00" fill="#000000">max?</text>
-<polyline fill="none" stroke="#000000" points="393.5,-729.5 393.5,-752.5 "/>
-<text text-anchor="middle" x="411.5" y="-737.3" font-family="Times,serif" font-size="14.00" fill="#000000">ok?</text>
-<polyline fill="none" stroke="#000000" points="429.5,-729.5 429.5,-775.5 "/>
-<text text-anchor="middle" x="460.5" y="-748.8" font-family="Times,serif" font-size="14.00" fill="#000000">abandon</text>
-<polyline fill="none" stroke="#000000" points="491.5,-729.5 491.5,-775.5 "/>
-<text text-anchor="middle" x="539.5" y="-760.3" font-family="Times,serif" font-size="14.00" fill="#000000">deliver or pass</text>
-<polyline fill="none" stroke="#000000" points="491.5,-752.5 587.5,-752.5 "/>
-<text text-anchor="middle" x="513.5" y="-737.3" font-family="Times,serif" font-size="14.00" fill="#000000">304?</text>
-<polyline fill="none" stroke="#000000" points="535.5,-729.5 535.5,-752.5 "/>
-<text text-anchor="middle" x="561.5" y="-737.3" font-family="Times,serif" font-size="14.00" fill="#000000">other?</text>
+<polygon fill="none" stroke="black" points="386,-577.5 386,-692.5 772,-692.5 772,-577.5 386,-577.5"/>
+<text text-anchor="middle" x="579" y="-677.3" font-family="Times,serif" font-size="14.00">vbf_stp_startfetch:</text>
+<polyline fill="none" stroke="black" points="386,-669.5 772,-669.5 "/>
+<text text-anchor="middle" x="511" y="-642.8" font-family="Times,serif" font-size="14.00">vcl_backend_response{}</text>
+<polyline fill="none" stroke="black" points="636,-623.5 636,-669.5 "/>
+<text text-anchor="middle" x="704" y="-654.3" font-family="Times,serif" font-size="14.00">bereq.*</text>
+<polyline fill="none" stroke="black" points="636,-646.5 772,-646.5 "/>
+<text text-anchor="middle" x="704" y="-631.3" font-family="Times,serif" font-size="14.00">beresp.*</text>
+<polyline fill="none" stroke="black" points="386,-623.5 772,-623.5 "/>
+<text text-anchor="middle" x="412.5" y="-596.8" font-family="Times,serif" font-size="14.00">error</text>
+<polyline fill="none" stroke="black" points="439,-577.5 439,-623.5 "/>
+<text text-anchor="middle" x="458.5" y="-596.8" font-family="Times,serif" font-size="14.00">fail</text>
+<polyline fill="none" stroke="black" points="478,-577.5 478,-623.5 "/>
+<text text-anchor="middle" x="525.5" y="-608.3" font-family="Times,serif" font-size="14.00">retry</text>
+<polyline fill="none" stroke="black" points="478,-600.5 573,-600.5 "/>
+<text text-anchor="middle" x="505" y="-585.3" font-family="Times,serif" font-size="14.00">max?</text>
+<polyline fill="none" stroke="black" points="532,-577.5 532,-600.5 "/>
+<text text-anchor="middle" x="552.5" y="-585.3" font-family="Times,serif" font-size="14.00">ok?</text>
+<polyline fill="none" stroke="black" points="573,-577.5 573,-623.5 "/>
+<text text-anchor="middle" x="611.5" y="-596.8" font-family="Times,serif" font-size="14.00">abandon</text>
+<polyline fill="none" stroke="black" points="650,-577.5 650,-623.5 "/>
+<text text-anchor="middle" x="711" y="-608.3" font-family="Times,serif" font-size="14.00">deliver or pass</text>
+<polyline fill="none" stroke="black" points="650,-600.5 772,-600.5 "/>
+<text text-anchor="middle" x="677.5" y="-585.3" font-family="Times,serif" font-size="14.00">304?</text>
+<polyline fill="none" stroke="black" points="705,-577.5 705,-600.5 "/>
+<text text-anchor="middle" x="738.5" y="-585.3" font-family="Times,serif" font-size="14.00">other?</text>
</g>
<!-- v_b_hdrs->v_b_r -->
-<g id="edge7" class="edge">
+<g id="edge8" class="edge">
<title>v_b_hdrs->v_b_r</title>
-<path fill="none" stroke="#000000" stroke-width="2" d="M383.0384,-920.1114C389.1342,-902.0645 397.4654,-877.3995 405.3007,-854.2027"/>
-<polygon fill="#000000" stroke="#000000" stroke-width="2" points="408.6196,-855.3136 408.5039,-844.7194 401.9877,-853.0735 408.6196,-855.3136"/>
+<path fill="none" stroke="black" stroke-width="2" d="M434.2,-909.52C509.95,-897.42 603.2,-876.75 627,-846 658.81,-804.91 641.95,-746.58 619.89,-701.81"/>
+<polygon fill="black" stroke="black" stroke-width="2" points="622.93,-700.07 615.27,-692.76 616.7,-703.26 622.93,-700.07"/>
+<text text-anchor="middle" x="703" y="-784.3" font-family="Times,serif" font-size="14.00">"no stale object"</text>
+</g>
+<!-- v_b_refresh -->
+<g id="node9" class="node">
+<title>v_b_refresh</title>
+<polygon fill="none" stroke="black" points="48,-730.5 48,-845.5 618,-845.5 618,-730.5 48,-730.5"/>
+<text text-anchor="middle" x="333" y="-830.3" font-family="Times,serif" font-size="14.00">vbf_stp_startfetch:</text>
+<polyline fill="none" stroke="black" points="48,-822.5 618,-822.5 "/>
+<text text-anchor="middle" x="216" y="-795.8" font-family="Times,serif" font-size="14.00">vcl_backend_refresh{}</text>
+<polyline fill="none" stroke="black" points="384,-776.5 384,-822.5 "/>
+<text text-anchor="middle" x="501" y="-807.3" font-family="Times,serif" font-size="14.00">bereq.*</text>
+<polyline fill="none" stroke="black" points="384,-799.5 618,-799.5 "/>
+<text text-anchor="middle" x="501" y="-784.3" font-family="Times,serif" font-size="14.00">beresp.*</text>
+<polyline fill="none" stroke="black" points="48,-776.5 618,-776.5 "/>
+<text text-anchor="middle" x="74.5" y="-749.8" font-family="Times,serif" font-size="14.00">error</text>
+<polyline fill="none" stroke="black" points="101,-730.5 101,-776.5 "/>
+<text text-anchor="middle" x="120.5" y="-749.8" font-family="Times,serif" font-size="14.00">fail</text>
+<polyline fill="none" stroke="black" points="140,-730.5 140,-776.5 "/>
+<text text-anchor="middle" x="187.5" y="-761.3" font-family="Times,serif" font-size="14.00">retry</text>
+<polyline fill="none" stroke="black" points="140,-753.5 235,-753.5 "/>
+<text text-anchor="middle" x="167" y="-738.3" font-family="Times,serif" font-size="14.00">max?</text>
+<polyline fill="none" stroke="black" points="194,-730.5 194,-753.5 "/>
+<text text-anchor="middle" x="214.5" y="-738.3" font-family="Times,serif" font-size="14.00">ok?</text>
+<polyline fill="none" stroke="black" points="235,-730.5 235,-776.5 "/>
+<text text-anchor="middle" x="284.5" y="-761.3" font-family="Times,serif" font-size="14.00">retry(fetch)</text>
+<polyline fill="none" stroke="black" points="235,-753.5 334,-753.5 "/>
+<text text-anchor="middle" x="263" y="-738.3" font-family="Times,serif" font-size="14.00">max?</text>
+<polyline fill="none" stroke="black" points="291,-730.5 291,-753.5 "/>
+<text text-anchor="middle" x="312.5" y="-738.3" font-family="Times,serif" font-size="14.00">ok?</text>
+<polyline fill="none" stroke="black" points="334,-730.5 334,-776.5 "/>
+<text text-anchor="middle" x="372.5" y="-749.8" font-family="Times,serif" font-size="14.00">abandon</text>
+<polyline fill="none" stroke="black" points="411,-730.5 411,-776.5 "/>
+<text text-anchor="middle" x="442" y="-749.8" font-family="Times,serif" font-size="14.00">merge</text>
+<polyline fill="none" stroke="black" points="473,-730.5 473,-776.5 "/>
+<text text-anchor="middle" x="513" y="-749.8" font-family="Times,serif" font-size="14.00">obj_stale</text>
+<polyline fill="none" stroke="black" points="553,-730.5 553,-776.5 "/>
+<text text-anchor="middle" x="585.5" y="-749.8" font-family="Times,serif" font-size="14.00">beresp</text>
+</g>
+<!-- v_b_hdrs->v_b_refresh -->
+<g id="edge10" class="edge">
+<title>v_b_hdrs->v_b_refresh</title>
+<path fill="none" stroke="black" stroke-width="2" d="M330.59,-896.74C330.85,-884.87 331.18,-870.23 331.51,-855.61"/>
+<polygon fill="black" stroke="black" stroke-width="2" points="335.01,-855.61 331.73,-845.53 328.01,-855.45 335.01,-855.61"/>
+<text text-anchor="middle" x="379.5" y="-867.8" font-family="Times,serif" font-size="14.00">"stale object"</text>
+</g>
+<!-- RETRY_FETCH -->
+<g id="node7" class="node">
+<title>RETRY_FETCH</title>
+<text text-anchor="middle" x="330" y="-1019.04" font-family="Times,serif" font-size="14.00">RETRY_FETCH</text>
+</g>
+<!-- RETRY_FETCH->v_b_hdrs -->
+<g id="edge7" class="edge">
+<title>RETRY_FETCH->v_b_hdrs</title>
+<path fill="none" stroke="black" stroke-width="2" d="M330,-1004.42C330,-992.42 330,-976.01 330,-961.2"/>
+<polygon fill="black" stroke="black" stroke-width="2" points="333.5,-960.79 330,-950.79 326.5,-960.79 333.5,-960.79"/>
</g>
<!-- v_b_r->v_b_e -->
-<g id="edge9" class="edge">
+<g id="edge19" class="edge">
<title>v_b_r:s->v_b_e</title>
-<path fill="none" stroke="#000000" d="M290,-729C290,-707.7663 288.3384,-684.7157 286.2033,-663.8614"/>
-<polygon fill="#000000" stroke="#000000" points="289.6724,-663.3859 285.1223,-653.8179 282.7126,-664.135 289.6724,-663.3859"/>
+<path fill="none" stroke="black" d="M412,-577C412,-568.87 404.89,-558.25 394.52,-547.09"/>
+<polygon fill="black" stroke="black" points="396.77,-544.39 387.27,-539.7 391.77,-549.29 396.77,-544.39"/>
</g>
<!-- v_b_r->v_b_e -->
-<g id="edge11" class="edge">
+<g id="edge21" class="edge">
<title>v_b_r:max->v_b_e</title>
-<path fill="none" stroke="#000000" d="M370,-729C370,-704.608 359.3644,-681.5034 345.2866,-661.605"/>
-<polygon fill="#000000" stroke="#000000" points="348.0756,-659.4902 339.2906,-653.5679 342.465,-663.676 348.0756,-659.4902"/>
+<path fill="none" stroke="black" d="M505,-577C505,-562.6 487.24,-548.21 462.58,-535.19"/>
+<polygon fill="black" stroke="black" points="464.09,-532.03 453.58,-530.64 460.93,-538.27 464.09,-532.03"/>
</g>
<!-- v_b_r_retry -->
-<g id="node8" class="node">
+<g id="node10" class="node">
<title>v_b_r_retry</title>
-<text text-anchor="middle" x="443" y="-592.3" font-family="Times,serif" font-size="14.00" fill="#000000">RETRY</text>
+<text text-anchor="middle" x="516" y="-478.3" font-family="Times,serif" font-size="14.00">RETRY</text>
</g>
<!-- v_b_r->v_b_r_retry -->
-<g id="edge10" class="edge">
+<g id="edge20" class="edge">
<title>v_b_r:retry->v_b_r_retry</title>
-<path fill="none" stroke="#a020f0" d="M411,-729C411,-691.7258 423.0279,-650.1652 432.3354,-623.5842"/>
-<polygon fill="#a020f0" stroke="#a020f0" points="435.6303,-624.7647 435.7387,-614.1705 429.0473,-622.3848 435.6303,-624.7647"/>
+<path fill="none" stroke="purple" d="M552,-577C552,-552.89 541.55,-527.47 531.9,-509.15"/>
+<polygon fill="purple" stroke="purple" points="534.89,-507.33 527,-500.26 528.77,-510.71 534.89,-507.33"/>
</g>
<!-- vbf_stp_condfetch -->
-<g id="node9" class="node">
+<g id="node12" class="node">
<title>vbf_stp_condfetch</title>
-<polygon fill="none" stroke="#c0c0c0" points="387.5,-427.5 387.5,-519.5 508.5,-519.5 508.5,-427.5 387.5,-427.5"/>
-<text text-anchor="middle" x="448" y="-504.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">vbf_stp_condfetch:</text>
-<polyline fill="none" stroke="#c0c0c0" points="387.5,-496.5 508.5,-496.5 "/>
-<text text-anchor="middle" x="448" y="-481.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">copy obj attr</text>
-<polyline fill="none" stroke="#c0c0c0" points="387.5,-473.5 508.5,-473.5 "/>
-<text text-anchor="middle" x="448" y="-458.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">steal body</text>
-<polyline fill="none" stroke="#c0c0c0" points="387.5,-450.5 508.5,-450.5 "/>
-<text text-anchor="middle" x="427" y="-435.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">fetch_fail?</text>
-<polyline fill="none" stroke="#c0c0c0" points="466.5,-427.5 466.5,-450.5 "/>
-<text text-anchor="middle" x="487.5" y="-435.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">ok?</text>
+<polygon fill="none" stroke="grey" points="469.5,-313.5 469.5,-405.5 618.5,-405.5 618.5,-313.5 469.5,-313.5"/>
+<text text-anchor="middle" x="544" y="-390.3" font-family="Times,serif" font-size="14.00" fill="grey">vbf_stp_condfetch:</text>
+<polyline fill="none" stroke="grey" points="469.5,-382.5 618.5,-382.5 "/>
+<text text-anchor="middle" x="544" y="-367.3" font-family="Times,serif" font-size="14.00" fill="grey">copy obj attr</text>
+<polyline fill="none" stroke="grey" points="469.5,-359.5 618.5,-359.5 "/>
+<text text-anchor="middle" x="544" y="-344.3" font-family="Times,serif" font-size="14.00" fill="grey">steal body</text>
+<polyline fill="none" stroke="grey" points="469.5,-336.5 618.5,-336.5 "/>
+<text text-anchor="middle" x="518.5" y="-321.3" font-family="Times,serif" font-size="14.00" fill="grey">fetch_fail?</text>
+<polyline fill="none" stroke="grey" points="567.5,-313.5 567.5,-336.5 "/>
+<text text-anchor="middle" x="593" y="-321.3" font-family="Times,serif" font-size="14.00" fill="grey">ok?</text>
</g>
<!-- v_b_r->vbf_stp_condfetch -->
-<g id="edge12" class="edge">
+<g id="edge22" class="edge">
<title>v_b_r:s->vbf_stp_condfetch</title>
-<path fill="none" stroke="#000000" d="M514,-729C514,-718.25 486.4736,-548.1733 483,-538 481.9502,-534.9255 480.7623,-531.8235 479.4742,-528.7301"/>
-<polygon fill="#000000" stroke="#000000" points="482.6277,-527.2082 475.3472,-519.5112 476.2387,-530.0684 482.6277,-527.2082"/>
+<path fill="none" stroke="black" d="M678,-577C678,-554.36 656.35,-558.28 643,-540 614.07,-500.39 587.6,-451.41 569.32,-414.62"/>
+<polygon fill="black" stroke="black" points="572.41,-412.97 564.85,-405.54 566.13,-416.06 572.41,-412.97"/>
</g>
<!-- vbf_stp_fetch -->
-<g id="node10" class="node">
+<g id="node13" class="node">
<title>vbf_stp_fetch</title>
-<polygon fill="none" stroke="#c0c0c0" points="512.5,-550 512.5,-642 611.5,-642 611.5,-550 512.5,-550"/>
-<text text-anchor="middle" x="562" y="-626.8" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">vbf_stp_fetch:</text>
-<polyline fill="none" stroke="#c0c0c0" points="512.5,-619 611.5,-619 "/>
-<text text-anchor="middle" x="562" y="-603.8" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">setup VFPs</text>
-<polyline fill="none" stroke="#c0c0c0" points="512.5,-596 611.5,-596 "/>
-<text text-anchor="middle" x="562" y="-580.8" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">get object</text>
-<polyline fill="none" stroke="#c0c0c0" points="512.5,-573 611.5,-573 "/>
-<text text-anchor="middle" x="537" y="-557.8" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">error?</text>
-<polyline fill="none" stroke="#c0c0c0" points="561.5,-550 561.5,-573 "/>
-<text text-anchor="middle" x="586.5" y="-557.8" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">body?</text>
+<polygon fill="none" stroke="grey" points="652,-436 652,-528 772,-528 772,-436 652,-436"/>
+<text text-anchor="middle" x="712" y="-512.8" font-family="Times,serif" font-size="14.00" fill="grey">vbf_stp_fetch:</text>
+<polyline fill="none" stroke="grey" points="652,-505 772,-505 "/>
+<text text-anchor="middle" x="712" y="-489.8" font-family="Times,serif" font-size="14.00" fill="grey">setup VFPs</text>
+<polyline fill="none" stroke="grey" points="652,-482 772,-482 "/>
+<text text-anchor="middle" x="712" y="-466.8" font-family="Times,serif" font-size="14.00" fill="grey">get object</text>
+<polyline fill="none" stroke="grey" points="652,-459 772,-459 "/>
+<text text-anchor="middle" x="682.5" y="-443.8" font-family="Times,serif" font-size="14.00" fill="grey">error?</text>
+<polyline fill="none" stroke="grey" points="713,-436 713,-459 "/>
+<text text-anchor="middle" x="742.5" y="-443.8" font-family="Times,serif" font-size="14.00" fill="grey">body?</text>
</g>
<!-- v_b_r->vbf_stp_fetch -->
-<g id="edge13" class="edge">
+<g id="edge23" class="edge">
<title>v_b_r:s->vbf_stp_fetch</title>
-<path fill="none" stroke="#000000" d="M562,-729C562,-703.8578 562,-676.042 562,-652.3756"/>
-<polygon fill="#000000" stroke="#000000" points="565.5001,-652.1637 562,-642.1637 558.5001,-652.1638 565.5001,-652.1637"/>
+<path fill="none" stroke="black" d="M739,-577C739,-564.14 736.64,-550.66 733.31,-538.05"/>
+<polygon fill="black" stroke="black" points="736.59,-536.8 730.46,-528.16 729.86,-538.73 736.59,-536.8"/>
+</g>
+<!-- v_b_refresh->v_b_e -->
+<g id="edge11" class="edge">
+<title>v_b_refresh:s->v_b_e</title>
+<path fill="none" stroke="black" d="M74,-730C74,-642.24 107.92,-619.02 171,-558 175.35,-553.79 179.98,-549.77 184.82,-545.92"/>
+<polygon fill="black" stroke="black" points="187.28,-548.44 193.13,-539.61 183.05,-542.86 187.28,-548.44"/>
+</g>
+<!-- v_b_refresh->v_b_e -->
+<g id="edge14" class="edge">
+<title>v_b_refresh:rf_max->v_b_e</title>
+<path fill="none" stroke="black" d="M263,-730C263,-709.38 241.56,-712.55 235,-693 218.59,-644.13 217.2,-625.38 235,-577 238.74,-566.84 244.12,-557.02 250.35,-547.82"/>
+<polygon fill="black" stroke="black" points="253.3,-549.71 256.28,-539.54 247.61,-545.63 253.3,-549.71"/>
+</g>
+<!-- v_b_refresh->v_b_e -->
+<g id="edge15" class="edge">
+<title>v_b_refresh:max->v_b_e</title>
+<path fill="none" stroke="black" d="M167,-730C167,-660.44 163.7,-636.34 200,-577 206.58,-566.24 214.85,-556.16 223.92,-546.89"/>
+<polygon fill="black" stroke="black" points="226.64,-549.13 231.34,-539.63 221.74,-544.12 226.64,-549.13"/>
+</g>
+<!-- v_b_refresh->v_b_r -->
+<g id="edge16" class="edge">
+<title>v_b_refresh:merge->v_b_r</title>
+<path fill="none" stroke="black" d="M442,-730C442,-719.18 444.94,-709.52 449.96,-700.9"/>
+<polygon fill="black" stroke="black" points="452.86,-702.85 455.64,-692.63 447.09,-698.89 452.86,-702.85"/>
+</g>
+<!-- v_b_refresh->v_b_r -->
+<g id="edge17" class="edge">
+<title>v_b_refresh:beresp->v_b_r</title>
+<path fill="none" stroke="black" d="M586,-730C586,-721.2 585.69,-711.95 585.2,-702.83"/>
+<polygon fill="black" stroke="black" points="588.68,-702.39 584.58,-692.62 581.7,-702.81 588.68,-702.39"/>
+</g>
+<!-- v_b_refresh->v_b_r -->
+<g id="edge18" class="edge">
+<title>v_b_refresh:stale->v_b_r</title>
+<path fill="none" stroke="black" d="M513,-730C513,-720.23 515.42,-710.76 519.32,-701.83"/>
+<polygon fill="black" stroke="black" points="522.54,-703.24 523.9,-692.73 516.28,-700.09 522.54,-703.24"/>
+</g>
+<!-- v_b_refresh->v_b_r_retry -->
+<g id="edge12" class="edge">
+<title>v_b_refresh:retry->v_b_r_retry</title>
+<path fill="none" stroke="purple" d="M214,-730C214,-661.36 187.06,-626.12 235,-577 306.7,-503.53 372.48,-588.43 463,-540 477.09,-532.46 489.48,-519.72 498.72,-508.19"/>
+<polygon fill="purple" stroke="purple" points="501.61,-510.18 504.88,-500.1 496.04,-505.94 501.61,-510.18"/>
+</g>
+<!-- v_b_r_retry_fetch -->
+<g id="node11" class="node">
+<title>v_b_r_retry_fetch</title>
+<text text-anchor="middle" x="306" y="-631.3" font-family="Times,serif" font-size="14.00">RETRY_FETCH</text>
+</g>
+<!-- v_b_refresh->v_b_r_retry_fetch -->
+<g id="edge13" class="edge">
+<title>v_b_refresh:rf_retry->v_b_r_retry_fetch</title>
+<path fill="none" stroke="purple" d="M312,-730C312,-707.58 310.28,-682.22 308.68,-663.49"/>
+<polygon fill="purple" stroke="purple" points="312.15,-662.95 307.77,-653.3 305.17,-663.58 312.15,-662.95"/>
</g>
<!-- vbf_stp_fetchend -->
-<g id="node12" class="node">
+<g id="node15" class="node">
<title>vbf_stp_fetchend</title>
-<polygon fill="none" stroke="#c0c0c0" points="401.5,-119.5 401.5,-188.5 564.5,-188.5 564.5,-119.5 401.5,-119.5"/>
-<text text-anchor="middle" x="483" y="-173.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">vbf_stp_fetchend:</text>
-<polyline fill="none" stroke="#c0c0c0" points="401.5,-165.5 564.5,-165.5 "/>
-<text text-anchor="middle" x="483" y="-150.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">finalize object and director</text>
-<polyline fill="none" stroke="#c0c0c0" points="401.5,-142.5 564.5,-142.5 "/>
-<text text-anchor="middle" x="483" y="-127.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">done</text>
+<polygon fill="none" stroke="grey" points="486,-81.5 486,-150.5 694,-150.5 694,-81.5 486,-81.5"/>
+<text text-anchor="middle" x="590" y="-135.3" font-family="Times,serif" font-size="14.00" fill="grey">vbf_stp_fetchend:</text>
+<polyline fill="none" stroke="grey" points="486,-127.5 694,-127.5 "/>
+<text text-anchor="middle" x="590" y="-112.3" font-family="Times,serif" font-size="14.00" fill="grey">finalize object and director</text>
+<polyline fill="none" stroke="grey" points="486,-104.5 694,-104.5 "/>
+<text text-anchor="middle" x="590" y="-89.3" font-family="Times,serif" font-size="14.00" fill="grey">done</text>
</g>
<!-- vbf_stp_condfetch->vbf_stp_fetchend -->
-<g id="edge18" class="edge">
+<g id="edge28" class="edge">
<title>vbf_stp_condfetch:s->vbf_stp_fetchend</title>
-<path fill="none" stroke="#000000" d="M488,-427.5C488,-389.8893 440.3317,-405.344 425,-371 408.1508,-333.2568 416.0301,-318.3483 425,-278 431.2607,-249.8383 444.6245,-220.5039 456.9478,-197.4406"/>
-<polygon fill="#000000" stroke="#000000" points="460.0525,-199.0578 461.7812,-188.605 453.9113,-195.6983 460.0525,-199.0578"/>
+<path fill="none" stroke="black" d="M593,-313C593,-293.1 562.88,-311.66 552,-295 529.4,-260.39 543.38,-242.42 552,-202 555.04,-187.75 560.65,-173 566.64,-159.87"/>
+<polygon fill="black" stroke="black" points="569.91,-161.15 571.04,-150.62 563.58,-158.15 569.91,-161.15"/>
</g>
<!-- vbf_stp_fetchbody -->
-<g id="node11" class="node">
+<g id="node14" class="node">
<title>vbf_stp_fetchbody</title>
-<polygon fill="none" stroke="#c0c0c0" points="433.5,-278.5 433.5,-370.5 592.5,-370.5 592.5,-278.5 433.5,-278.5"/>
-<text text-anchor="middle" x="513" y="-355.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">vbf_stp_fetchbody:</text>
-<polyline fill="none" stroke="#c0c0c0" points="433.5,-347.5 592.5,-347.5 "/>
-<text text-anchor="middle" x="513" y="-332.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">get storage</text>
-<polyline fill="none" stroke="#c0c0c0" points="433.5,-324.5 592.5,-324.5 "/>
-<text text-anchor="middle" x="513" y="-309.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">read body, run VFPs</text>
-<polyline fill="none" stroke="#c0c0c0" points="433.5,-301.5 592.5,-301.5 "/>
-<text text-anchor="middle" x="470.5" y="-286.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">fetch_fail?</text>
-<polyline fill="none" stroke="#c0c0c0" points="507.5,-278.5 507.5,-301.5 "/>
-<text text-anchor="middle" x="532" y="-286.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">error?</text>
-<polyline fill="none" stroke="#c0c0c0" points="556.5,-278.5 556.5,-301.5 "/>
-<text text-anchor="middle" x="574.5" y="-286.3" font-family="Times,serif" font-size="14.00" fill="#c0c0c0">ok?</text>
+<polygon fill="none" stroke="grey" points="560.5,-202.5 560.5,-294.5 751.5,-294.5 751.5,-202.5 560.5,-202.5"/>
+<text text-anchor="middle" x="656" y="-279.3" font-family="Times,serif" font-size="14.00" fill="grey">vbf_stp_fetchbody:</text>
+<polyline fill="none" stroke="grey" points="560.5,-271.5 751.5,-271.5 "/>
+<text text-anchor="middle" x="656" y="-256.3" font-family="Times,serif" font-size="14.00" fill="grey">get storage</text>
+<polyline fill="none" stroke="grey" points="560.5,-248.5 751.5,-248.5 "/>
+<text text-anchor="middle" x="656" y="-233.3" font-family="Times,serif" font-size="14.00" fill="grey">read body, run VFPs</text>
+<polyline fill="none" stroke="grey" points="560.5,-225.5 751.5,-225.5 "/>
+<text text-anchor="middle" x="605" y="-210.3" font-family="Times,serif" font-size="14.00" fill="grey">fetch_fail?</text>
+<polyline fill="none" stroke="grey" points="649.5,-202.5 649.5,-225.5 "/>
+<text text-anchor="middle" x="680" y="-210.3" font-family="Times,serif" font-size="14.00" fill="grey">error?</text>
+<polyline fill="none" stroke="grey" points="710.5,-202.5 710.5,-225.5 "/>
+<text text-anchor="middle" x="731" y="-210.3" font-family="Times,serif" font-size="14.00" fill="grey">ok?</text>
</g>
<!-- vbf_stp_fetch->vbf_stp_fetchbody -->
-<g id="edge15" class="edge">
+<g id="edge25" class="edge">
<title>vbf_stp_fetch:s->vbf_stp_fetchbody</title>
-<path fill="none" stroke="#000000" d="M587,-550C587,-489.6065 562.7413,-424.4469 542.0029,-379.7771"/>
-<polygon fill="#000000" stroke="#000000" points="545.0838,-378.1052 537.6409,-370.5651 538.7572,-381.101 545.0838,-378.1052"/>
+<path fill="none" stroke="black" d="M743,-435C743,-387.45 719.28,-338.98 696.61,-303.52"/>
+<polygon fill="black" stroke="black" points="699.3,-301.23 690.88,-294.79 693.44,-305.07 699.3,-301.23"/>
</g>
<!-- vbf_stp_fetch->vbf_stp_fetchend -->
-<g id="edge16" class="edge">
+<g id="edge26" class="edge">
<title>vbf_stp_fetch:s->vbf_stp_fetchend</title>
-<path fill="none" stroke="#000000" d="M587,-550C587,-486.2129 611,-472.2871 611,-408.5 611,-408.5 611,-408.5 611,-233.5 611,-209.5885 594.6814,-192.6171 573.6976,-180.6783"/>
-<polygon fill="#000000" stroke="#000000" points="575.2732,-177.5526 564.7891,-176.0252 572.0324,-183.7572 575.2732,-177.5526"/>
+<path fill="none" stroke="black" d="M743,-435C743,-331.14 800.01,-298.26 761,-202 750.52,-176.14 728.45,-158.1 703.54,-145.52"/>
+<polygon fill="black" stroke="black" points="704.79,-142.24 694.25,-141.14 701.8,-148.57 704.79,-142.24"/>
</g>
<!-- vbf_stp_fetchbody->vbf_stp_fetchend -->
-<g id="edge14" class="edge">
+<g id="edge24" class="edge">
<title>vbf_stp_fetchbody:s->vbf_stp_fetchend</title>
-<path fill="none" stroke="#000000" d="M575,-278.5C575,-246.7479 555.4055,-217.7865 534.3022,-195.8028"/>
-<polygon fill="#000000" stroke="#000000" points="536.6619,-193.2128 527.1138,-188.621 531.7144,-198.1649 536.6619,-193.2128"/>
+<path fill="none" stroke="black" d="M731,-202C731,-181 719.38,-165.05 702.82,-152.98"/>
+<polygon fill="black" stroke="black" points="704.59,-149.96 694.32,-147.37 700.74,-155.8 704.59,-149.96"/>
</g>
<!-- vbf_stp_fetchend->FETCH_DONE -->
-<g id="edge17" class="edge">
+<g id="edge27" class="edge">
<title>vbf_stp_fetchend:s->FETCH_DONE</title>
-<path fill="none" stroke="#000000" d="M483,-119C483,-84.0415 451.1405,-60.6773 419.5902,-46.1107"/>
-<polygon fill="#000000" stroke="#000000" points="420.8522,-42.8427 410.287,-42.0514 418.0528,-49.2586 420.8522,-42.8427"/>
+<path fill="none" stroke="black" d="M590,-81C590,-47.81 555.32,-34.28 520.47,-29.06"/>
+<polygon fill="black" stroke="black" points="520.55,-25.54 510.19,-27.75 519.66,-32.49 520.55,-25.54"/>
</g>
<!-- fail -->
-<g id="node14" class="node">
+<g id="node17" class="node">
<title>fail</title>
-<text text-anchor="middle" x="115" y="-592.3" font-family="Times,serif" font-size="14.00" fill="#000000">fail</text>
+<text text-anchor="middle" x="131" y="-478.3" font-family="Times,serif" font-size="14.00">fail</text>
</g>
<!-- fail->FETCH_FAIL -->
-<g id="edge19" class="edge">
+<g id="edge29" class="edge">
<title>fail->FETCH_FAIL</title>
-<path fill="none" stroke="#000000" d="M115,-577.7645C115,-531.3959 115,-408.719 115,-352.8885"/>
-<polygon fill="#000000" stroke="#000000" points="118.5001,-352.6561 115,-342.6561 111.5001,-352.6561 118.5001,-352.6561"/>
+<path fill="none" stroke="black" d="M131,-463.98C131,-424.18 131,-324.76 131,-276.56"/>
+<polygon fill="black" stroke="black" points="134.5,-276.55 131,-266.55 127.5,-276.55 134.5,-276.55"/>
</g>
<!-- abandon -->
-<g id="node17" class="node">
+<g id="node20" class="node">
<title>abandon</title>
-<text text-anchor="middle" x="39" y="-592.3" font-family="Times,serif" font-size="14.00" fill="#000000">abandon</text>
+<text text-anchor="middle" x="47" y="-478.3" font-family="Times,serif" font-size="14.00">abandon</text>
</g>
<!-- abandon->FETCH_FAIL -->
-<g id="edge23" class="edge">
+<g id="edge33" class="edge">
<title>abandon->FETCH_FAIL</title>
-<path fill="none" stroke="#000000" d="M44.1046,-577.7645C57.1114,-531.2993 91.5681,-408.2075 107.1507,-352.5404"/>
-<polygon fill="#000000" stroke="#000000" points="110.5924,-353.2294 109.9176,-342.6561 103.8515,-351.3424 110.5924,-353.2294"/>
+<path fill="none" stroke="black" d="M53.18,-463.98C67.68,-424.01 103.99,-323.93 121.4,-275.95"/>
+<polygon fill="black" stroke="black" points="124.69,-277.14 124.81,-266.55 118.11,-274.75 124.69,-277.14"/>
</g>
</g>
</svg>
More information about the varnish-commit
mailing list