Slides
|
@ -122,12 +122,14 @@ schedule:
|
|||
slides: slide/2021-04-20-Logging.html
|
||||
- date: "Apr. 22"
|
||||
topic: "Distributed Commit"
|
||||
materials:
|
||||
slides: slide/2021-04-22-ParallelUpdates.html
|
||||
- date: "Apr. 26"
|
||||
due: "Checkpoint 3"
|
||||
- date: "Apr. 27"
|
||||
topic: "Indexing Review + Checkpoint 4"
|
||||
- date: "Apr. 29"
|
||||
topic: "Distributed Commit (contd.)"
|
||||
topic: "TBD"
|
||||
- date: "May 4"
|
||||
topic: "Review"
|
||||
- date: "May 6"
|
||||
|
|
|
@ -0,0 +1,374 @@
|
|||
---
|
||||
template: templates/cse4562_2021_slides.erb
|
||||
title: Distributed Updates
|
||||
date: April 22, 2021
|
||||
textbook: Ch. 17.1-17.5
|
||||
---
|
||||
|
||||
<%
|
||||
def svg(file)
|
||||
"<svg data-src=\"2021-04-22/#{file}\" />"
|
||||
end
|
||||
def img(file)
|
||||
"<img src=\"2021-04-22/#{file}\" />"
|
||||
end
|
||||
%>
|
||||
|
||||
|
||||
<section>
|
||||
<section>
|
||||
<dl>
|
||||
<div>
|
||||
<dt>Atomicity</dt>
|
||||
<dd>A transaction is either applied fully (COMMITed) or not at all (ABORTed).</dd>
|
||||
</div>
|
||||
<div class="fragment highlight-grey">
|
||||
<dt>Consistency</dt>
|
||||
<dd>Constraints are enforced on the final state of the transaction (and the transaction is ABORTed if they fail).</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>Isolation</dt>
|
||||
<dd>Two transactions running in parallel don't interfere with each other</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>Durability</dt>
|
||||
<dd>Once the database returns from a COMMIT successfully, the data is safe from marmots</dd>
|
||||
</div>
|
||||
</dl>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>How do we uphold these guarantees across multiple databases?</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3>Ground Rules</h3>
|
||||
|
||||
<ul>
|
||||
<li class="fragment">Each node can already enforce these properties <b>locally</b>.</li>
|
||||
<li class="fragment">All nodes play by the rules (no malicious nodes).</li>
|
||||
<li class="fragment">Messages either arrive in full or not at all.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>Each node has to make local decisions <br/><b>without</b> global state.</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("Out-of-Order.svg") %>
|
||||
<attribution>OpenClipart.org</attribution>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<b>Isolation violation!</b>
|
||||
<p class="fragment" style="margin-top: 100px">Nodes might see operations in a different order.</p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section>
|
||||
<p><b>Idea 1:</b> Route all requests through one node</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("Route-Through-One.svg") %>
|
||||
<attribution>OpenClipart.org</attribution>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<dl>
|
||||
<dt>Pros</dt>
|
||||
<dd class="fragment">Simple</dd>
|
||||
<dd class="fragment">Guaranteed to be Correct</dd>
|
||||
|
||||
<dt>Cons</dt>
|
||||
<dd class="fragment">The node needs to see all transactions.</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section>
|
||||
<p><b>Idea 2:</b> Have one node define a serial order</p>
|
||||
|
||||
<p class="fragment" style="margin-top: 50px;">Force each node's interactions to obey the order.</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("Timestamp-Server.svg") %>
|
||||
<attribution>OpenClipart.org</attribution>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<dl>
|
||||
<dt>Pros</dt>
|
||||
<dd class="fragment">Serving timestamps is fast.</dd>
|
||||
<dd class="fragment">No other bottlenecks.</dd>
|
||||
|
||||
<dt>Cons</dt>
|
||||
<dd class="fragment">When is a transaction committed?</dd>
|
||||
</dl>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("One-Phase-Commit-Problems.svg") %>
|
||||
<attribution>OpenClipart.org</attribution>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p><b>Node 1</b> commits transaction</p>
|
||||
<p><b>Node 2</b> commits transaction</p>
|
||||
<p class="fragment"><b>Client</b>: ???</p>
|
||||
|
||||
<div class="fragment">
|
||||
<hr>
|
||||
|
||||
<p><b>Node 1 → Client</b>: Commit</p>
|
||||
<p><b>Node 2 → Client</b>: Commit</p>
|
||||
</div>
|
||||
|
||||
<div class="fragment">
|
||||
<hr>
|
||||
|
||||
<p><b>Client</b> sees transaction as committed</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p><b>Node 1</b> commits transaction</p>
|
||||
<p><b>Node 2</b> <b>aborts</b> transaction</p>
|
||||
|
||||
<div class="fragment">
|
||||
<hr>
|
||||
|
||||
<p><b>Node 1 → Client</b>: Commit</p>
|
||||
<p><b>Node 2 → Client</b>: Abort</p>
|
||||
</div>
|
||||
|
||||
<div class="fragment">
|
||||
<hr>
|
||||
|
||||
<p><b>Client</b> sees transaction as <span class="fragment">aborted?</span></p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<b>Atomicity violation!</b>
|
||||
<p class="fragment" style="margin-top: 100px">Node 1 committed the transaction.</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3>Idea 3: Have the client report back</h3>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("Two-Phase-Commit-Commit.svg") %>
|
||||
<attribution>OpenClipart.org</attribution>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("Two-Phase-Commit-Abort.svg") %>
|
||||
<attribution>OpenClipart.org</attribution>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>(This is called <b>Two-Phase Commit</b>)</p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section>
|
||||
<h3>Failure Analysis</h3>
|
||||
|
||||
<p class="fragment" data-fragment-index="1">What kinds of failures can we tolerate?</p>
|
||||
<ul>
|
||||
<li class="fragment" data-fragment-index="2"><span class="fragment highlight-blue" data-fragment-index="5">A message is dropped</span></li>
|
||||
<li class="fragment" data-fragment-index="3">A node crashes</li>
|
||||
<li class="fragment" data-fragment-index="4">Radioactive marmot attack</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("Two-Phase-Commit-Drop-1.svg") %>
|
||||
<attribution>OpenClipart.org</attribution>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>Periodically re-send messages</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("Two-Phase-Commit-Drop-2.svg") %>
|
||||
<attribution>OpenClipart.org</attribution>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>Pre-commit is idempotent</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("Two-Phase-Commit-Drop-3.svg") %>
|
||||
<attribution>OpenClipart.org</attribution>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>Re-receiving a pre-commit doesn't <br>change the commit status.</p>
|
||||
<p class="fragment" style="margin-top: 50px;">Log commit status in case of repeat requests.</p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section>
|
||||
<h3>Failure Analysis</h3>
|
||||
|
||||
<p>What kinds of failures can we tolerate?</p>
|
||||
<ul>
|
||||
<li>A message is dropped</li>
|
||||
<li class="fragment highlight-blue">A node crashes</li>
|
||||
<li>Radioactive marmot attack</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3>Ground Rules</h3>
|
||||
|
||||
<ul>
|
||||
<li class="fragment highlight-blue">Each node can already enforce these properties <b>locally</b>.</li>
|
||||
<li>All nodes play by the rules (no malicious nodes).</li>
|
||||
<li>Messages either arrive in full or not at all.</li>
|
||||
</ul>
|
||||
|
||||
<p class="fragment">If the node guarantees <b>Durability</b>,<br> it will come up in the same state.</p>
|
||||
<p class="fragment">Failure = Dropped Message</p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section>
|
||||
<h3>Failure Analysis</h3>
|
||||
|
||||
<p>What kinds of failures can we tolerate?</p>
|
||||
<ul>
|
||||
<li>A message is dropped</li>
|
||||
<li>A node crashes</li>
|
||||
<li class="fragment highlight-blue">Radioactive marmot attack</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<b>Durability failure</b>
|
||||
<p class="fragment" style="margin-top: 100px">The node never comes back up.</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>When is the write durable?</p>
|
||||
<p class="fragment"><b>Never!</b></p>
|
||||
<p class="fragment">How much durability do you need?</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p><b>Idea: </b> Replicate data to multiple nodes/sites/planets...</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("Replica-Manager.svg") %>
|
||||
<attribution>OpenClipart.org</attribution>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<dl>
|
||||
<dt>Pros</dt>
|
||||
<dd>A backup node exists to come back up when a node blows up.</dd>
|
||||
<dt>Cons</dt>
|
||||
<dd>Have to wait two message round-trips (or more) to commit.</dd>
|
||||
</dl>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p><b>Idea: </b> Do something like 2-Phase Commit</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("Replica-Out-Of-Order.svg") %>
|
||||
<attribution>OpenClipart.org</attribution>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<b>(Possible) Isolation+Correctness Violation</b>
|
||||
<p class="fragment" style="margin-top: 100px">Some replicas have T1 then T2.<br/>Some have T2 then T1.</p>
|
||||
<p class="fragment">Under 2PC, some nodes abort T1 and some abort T2.</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p><b>Idea: </b> Majority vote</p>
|
||||
|
||||
<p class="fragment" style="margin-top: 100px">$N$ Replicas</p>
|
||||
<p class="fragment">$> \frac{N}{2}$ votes needed for a commit.</p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section>
|
||||
<h3>When can we consider a replica write successful?</h3>
|
||||
|
||||
<p class="fragment" style="margin-top: 100px">What is a success?</p>
|
||||
<p class="fragment">A "successful" read reads the written value.</p>
|
||||
<p class="fragment">Can we do better than 2PC?</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("Read-Write-Consistency.svg") %>
|
||||
<attribution>OpenClipart.org</attribution>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>We need to ensure that Bob sees at least one copy of Alice's write</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3>Pidgeonhole Principle</h3>
|
||||
|
||||
<p>Alice gets confirmation from $A$ nodes</p>
|
||||
<p>Bob reads from $B$ nodes</p>
|
||||
|
||||
<p class="fragment">If $A+B > N$ then Bob must read at least one of Alice's writes</p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section>
|
||||
<h3>Timeouts</h3>
|
||||
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>What does a node assume when it fails to receive a message?</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<dl>
|
||||
<dt>Assume Node Failure and fail over to replica</dt>
|
||||
<dd>All data remains <u>a</u>vailable....</dd>
|
||||
<dd>... but if it was only a transient communication failure, there can be in<u>c</u>onsistencies</dd>
|
||||
|
||||
<dt>Assume Connection Failure and wait longer</dt>
|
||||
<dd>All data remains <u>c</u>onsistent....</dd>
|
||||
<dd>... but un<a>a</a>vailable while we wait</dd>
|
||||
</dl>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("CAP-1.svg") %>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<%= svg("CAP-2.svg") %>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3>Next time</h3>
|
||||
|
||||
<b>Checkpoint 4</b>
|
||||
</section>
|
|
@ -0,0 +1,365 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
xml:space="preserve"
|
||||
width="613.41174"
|
||||
height="460.05444"
|
||||
viewBox="0 0 613.41173 460.05443"
|
||||
sodipodi:docname="CAP-1.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata
|
||||
id="metadata8"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs6"><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath18"><path
|
||||
d="M 0,0.028 H 1023.959 V 767.99 H 0 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path16" /></clipPath></defs><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1492"
|
||||
inkscape:window-height="987"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.25377435"
|
||||
inkscape:cx="-197.40021"
|
||||
inkscape:cy="-349.70141"
|
||||
inkscape:window-x="960"
|
||||
inkscape:window-y="398"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g10" /><g
|
||||
id="g10"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="2019-04-19-ParallelUpdates"
|
||||
transform="matrix(1.3333333,0,0,-1.3333333,0,460.09178)"><g
|
||||
id="g12"
|
||||
transform="matrix(0.44929416,0,0,0.44929416,0,0.01541976)"><g
|
||||
id="g14"
|
||||
clip-path="url(#clipPath18)"><path
|
||||
d="M 0,767.99 H 1023.959 V 0.028 H 0 Z"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
id="path20" /><path
|
||||
d="M 0,767.99 H 1023.987 V -0.001 H 0 Z"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
id="path22" /><g
|
||||
id="g24"><text
|
||||
transform="matrix(1,0,0,-1,341.603,615.288)"
|
||||
style="font-variant:normal;font-weight:bold;font-size:79.994px;font-family:'Liberation Sans';-inkscape-font-specification:LiberationSans-Bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text28"><tspan
|
||||
x="0 57.755669 143.50923 198.38512 287.01846"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan26">C A P</tspan></text></g><g
|
||||
id="g30"><text
|
||||
transform="matrix(1,0,0,-1,359.405,564.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text34"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan32">o</tspan></text></g><g
|
||||
id="g36"><text
|
||||
transform="matrix(1,0,0,-1,359.093,520.894)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text40"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan38">n</tspan></text></g><g
|
||||
id="g42"><text
|
||||
transform="matrix(1,0,0,-1,361.106,477.694)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text46"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan44">s</tspan></text></g><g
|
||||
id="g48"><text
|
||||
transform="matrix(1,0,0,-1,365.499,434.494)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text52"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan50">i</tspan></text></g><g
|
||||
id="g54"><text
|
||||
transform="matrix(1,0,0,-1,361.106,391.294)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text58"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan56">s</tspan></text></g><g
|
||||
id="g60"><text
|
||||
transform="matrix(1,0,0,-1,363.402,348.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text64"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan62">t</tspan></text></g><g
|
||||
id="g66"><text
|
||||
transform="matrix(1,0,0,-1,359.291,304.894)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text70"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan68">e</tspan></text></g><g
|
||||
id="g72"><text
|
||||
transform="matrix(1,0,0,-1,359.093,261.694)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text76"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan74">n</tspan></text></g><g
|
||||
id="g78"><text
|
||||
transform="matrix(1,0,0,-1,360.51,218.494)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text82"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan80">c</tspan></text></g><g
|
||||
id="g84"><text
|
||||
transform="matrix(1,0,0,-1,359.802,175.294)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text88"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan86">y</tspan></text></g><g
|
||||
id="g90"><text
|
||||
transform="matrix(1,0,0,-1,501.307,564.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text94"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan92">v</tspan></text></g><g
|
||||
id="g96"><text
|
||||
transform="matrix(1,0,0,-1,500.91,520.894)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text100"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan98">a</tspan></text></g><g
|
||||
id="g102"><text
|
||||
transform="matrix(1,0,0,-1,507.005,477.694)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text106"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan104">i</tspan></text></g><g
|
||||
id="g108"><text
|
||||
transform="matrix(1,0,0,-1,507.005,434.494)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text112"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan110">l</tspan></text></g><g
|
||||
id="g114"><text
|
||||
transform="matrix(1,0,0,-1,500.91,391.294)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text118"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan116">a</tspan></text></g><g
|
||||
id="g120"><text
|
||||
transform="matrix(1,0,0,-1,500.598,348.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text124"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan122">b</tspan></text></g><g
|
||||
id="g126"><text
|
||||
transform="matrix(1,0,0,-1,507.005,304.894)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text130"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan128">i</tspan></text></g><g
|
||||
id="g132"><text
|
||||
transform="matrix(1,0,0,-1,507.005,261.694)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text136"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan134">l</tspan></text></g><g
|
||||
id="g138"><text
|
||||
transform="matrix(1,0,0,-1,507.005,218.494)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text142"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan140">i</tspan></text></g><g
|
||||
id="g144"><text
|
||||
transform="matrix(1,0,0,-1,504.907,175.294)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text148"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan146">t</tspan></text></g><g
|
||||
id="g150"><text
|
||||
transform="matrix(1,0,0,-1,501.307,132.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text154"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan152">y</tspan></text></g><g
|
||||
id="g156"><text
|
||||
transform="matrix(1,0,0,-1,425.707,372.982)"
|
||||
style="font-variant:normal;font-weight:bold;font-size:29.991px;font-family:'Liberation Sans';-inkscape-font-specification:LiberationSans-Bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text160"><tspan
|
||||
x="0 18.354492"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan158">or</tspan></text></g><g
|
||||
id="g162"><text
|
||||
transform="matrix(1,0,0,-1,568.29,372.982)"
|
||||
style="font-variant:normal;font-weight:bold;font-size:29.991px;font-family:'Liberation Sans';-inkscape-font-specification:LiberationSans-Bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text166"><tspan
|
||||
x="0 18.29451"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan164">or</tspan></text></g><g
|
||||
id="g168"><text
|
||||
transform="matrix(1,0,0,-1,643.493,564.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text172"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan170">a</tspan></text></g><g
|
||||
id="g174"><text
|
||||
transform="matrix(1,0,0,-1,647.093,520.894)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text178"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan176">r</tspan></text></g><g
|
||||
id="g180"><text
|
||||
transform="matrix(1,0,0,-1,647.405,477.694)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text184"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan182">t</tspan></text></g><g
|
||||
id="g186"><text
|
||||
transform="matrix(1,0,0,-1,649.502,434.494)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text190"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan188">i</tspan></text></g><g
|
||||
id="g192"><text
|
||||
transform="matrix(1,0,0,-1,647.405,391.294)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text196"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan194">t</tspan></text></g><g
|
||||
id="g198"><text
|
||||
transform="matrix(1,0,0,-1,649.502,348.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text202"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan200">i</tspan></text></g><g
|
||||
id="g204"><text
|
||||
transform="matrix(1,0,0,-1,643.493,304.894)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text208"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan206">o</tspan></text></g><g
|
||||
id="g210"><text
|
||||
transform="matrix(1,0,0,-1,643.096,261.694)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text214"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan212">n</tspan></text></g><g
|
||||
id="g216"><text
|
||||
transform="matrix(1,0,0,-1,302.995,66.897)"
|
||||
style="font-variant:normal;font-weight:bold;font-size:36px;font-family:'Liberation Sans';-inkscape-font-specification:LiberationSans-Bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text220"><tspan
|
||||
x="0 20.087999 34.091999 54.108002 76.068001 86.040001 98.028 107.928 129.888 151.776 171.828 181.8 191.7"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan218">Traditionally</tspan></text></g><g
|
||||
id="g222"><text
|
||||
transform="matrix(1,0,0,-1,514.913,66.897)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text226"><tspan
|
||||
x="0 12.168 23.58 44.388 54.360001 74.124001 95.003998 106.416 128.48399 151.272 172.548 183.96001"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan224">: Pick any 2</tspan></text></g><g
|
||||
id="g228"><text
|
||||
transform="matrix(1,0,0,-1,691.002,440.702)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text232"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan230">T</tspan></text></g><g
|
||||
id="g234"><text
|
||||
transform="matrix(1,0,0,-1,690.888,397.502)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text238"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan236">o</tspan></text></g><g
|
||||
id="g240"><text
|
||||
transform="matrix(1,0,0,-1,697.011,354.302)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text244"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan242">l</tspan></text></g><g
|
||||
id="g246"><text
|
||||
transform="matrix(1,0,0,-1,690.888,311.102)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text250"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan248">e</tspan></text></g><g
|
||||
id="g252"><text
|
||||
transform="matrix(1,0,0,-1,694.602,267.902)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text256"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan254">r</tspan></text></g><g
|
||||
id="g258"><text
|
||||
transform="matrix(1,0,0,-1,690.888,224.702)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text262"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan260">a</tspan></text></g><g
|
||||
id="g264"><text
|
||||
transform="matrix(1,0,0,-1,690.605,181.502)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text268"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan266">n</tspan></text></g><g
|
||||
id="g270"><text
|
||||
transform="matrix(1,0,0,-1,692.107,138.302)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text274"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan272">c</tspan></text></g><g
|
||||
id="g276"><text
|
||||
transform="matrix(1,0,0,-1,690.888,95.102)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text280"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan278">e</tspan></text></g></g></g></g></svg>
|
After Width: | Height: | Size: 21 KiB |
|
@ -0,0 +1,301 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
xml:space="preserve"
|
||||
width="689.81604"
|
||||
height="517.35712"
|
||||
viewBox="0 0 689.81603 517.3571"
|
||||
sodipodi:docname="CAP-2.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata
|
||||
id="metadata8"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs6"><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath18"><path
|
||||
d="M 0,0.028 H 1023.959 V 767.99 H 0 Z"
|
||||
clip-rule="evenodd"
|
||||
id="path16" /></clipPath></defs><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.71778225"
|
||||
inkscape:cx="682.65826"
|
||||
inkscape:cy="5.4007925"
|
||||
inkscape:window-x="960"
|
||||
inkscape:window-y="398"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g10" /><g
|
||||
id="g10"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="2019-04-19-ParallelUpdates"
|
||||
transform="matrix(1.3333333,0,0,-1.3333333,0,517.39448)"><g
|
||||
id="g12"
|
||||
transform="matrix(0.5052566,0,0,0.5052566,0,0.01385282)"><g
|
||||
id="g14"
|
||||
clip-path="url(#clipPath18)"><path
|
||||
d="M 0,767.99 H 1023.959 V 0.028 H 0 Z"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
id="path20" /><path
|
||||
d="M 0,767.99 H 1023.987 V -0.001 H 0 Z"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
id="path22" /><g
|
||||
id="g24"><text
|
||||
transform="matrix(1,0,0,-1,341.603,615.288)"
|
||||
style="font-variant:normal;font-weight:bold;font-size:79.994px;font-family:'Liberation Sans';-inkscape-font-specification:LiberationSans-Bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text28"><tspan
|
||||
x="0 57.755669 143.50923 198.38512 287.01846"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan26">C A P</tspan></text></g><g
|
||||
id="g30"><text
|
||||
transform="matrix(1,0,0,-1,425.707,372.982)"
|
||||
style="font-variant:normal;font-weight:bold;font-size:29.991px;font-family:'Liberation Sans';-inkscape-font-specification:LiberationSans-Bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text34"><tspan
|
||||
x="0 18.354492"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan32">or</tspan></text></g><g
|
||||
id="g36"><text
|
||||
transform="matrix(1,0,0,-1,536.513,372.982)"
|
||||
style="font-variant:normal;font-weight:bold;font-size:29.991px;font-family:'Liberation Sans';-inkscape-font-specification:LiberationSans-Bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text40"><tspan
|
||||
x="0 18.354492 36.649002 48.25552 56.563026 74.917519"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan38">during</tspan></text></g><g
|
||||
id="g42"><text
|
||||
transform="matrix(1,0,0,-1,359.405,564.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text46"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan44">o</tspan></text></g><g
|
||||
id="g48"><text
|
||||
transform="matrix(1,0,0,-1,359.093,520.894)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text52"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan50">n</tspan></text></g><g
|
||||
id="g54"><text
|
||||
transform="matrix(1,0,0,-1,361.106,477.694)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text58"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan56">s</tspan></text></g><g
|
||||
id="g60"><text
|
||||
transform="matrix(1,0,0,-1,365.499,434.494)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text64"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan62">i</tspan></text></g><g
|
||||
id="g66"><text
|
||||
transform="matrix(1,0,0,-1,361.106,391.294)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text70"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan68">s</tspan></text></g><g
|
||||
id="g72"><text
|
||||
transform="matrix(1,0,0,-1,363.402,348.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text76"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan74">t</tspan></text></g><g
|
||||
id="g78"><text
|
||||
transform="matrix(1,0,0,-1,359.291,304.894)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text82"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan80">e</tspan></text></g><g
|
||||
id="g84"><text
|
||||
transform="matrix(1,0,0,-1,359.093,261.694)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text88"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan86">n</tspan></text></g><g
|
||||
id="g90"><text
|
||||
transform="matrix(1,0,0,-1,360.51,218.494)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text94"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan92">c</tspan></text></g><g
|
||||
id="g96"><text
|
||||
transform="matrix(1,0,0,-1,359.802,175.294)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text100"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan98">y</tspan></text></g><g
|
||||
id="g102"><text
|
||||
transform="matrix(1,0,0,-1,501.307,564.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text106"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan104">v</tspan></text></g><g
|
||||
id="g108"><text
|
||||
transform="matrix(1,0,0,-1,500.91,520.894)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text112"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan110">a</tspan></text></g><g
|
||||
id="g114"><text
|
||||
transform="matrix(1,0,0,-1,507.005,477.694)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text118"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan116">i</tspan></text></g><g
|
||||
id="g120"><text
|
||||
transform="matrix(1,0,0,-1,507.005,434.494)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text124"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan122">l</tspan></text></g><g
|
||||
id="g126"><text
|
||||
transform="matrix(1,0,0,-1,500.91,391.294)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text130"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan128">a</tspan></text></g><g
|
||||
id="g132"><text
|
||||
transform="matrix(1,0,0,-1,500.598,348.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text136"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan134">b</tspan></text></g><g
|
||||
id="g138"><text
|
||||
transform="matrix(1,0,0,-1,507.005,304.894)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text142"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan140">i</tspan></text></g><g
|
||||
id="g144"><text
|
||||
transform="matrix(1,0,0,-1,507.005,261.694)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text148"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan146">l</tspan></text></g><g
|
||||
id="g150"><text
|
||||
transform="matrix(1,0,0,-1,507.005,218.494)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text154"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan152">i</tspan></text></g><g
|
||||
id="g156"><text
|
||||
transform="matrix(1,0,0,-1,504.907,175.294)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text160"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan158">t</tspan></text></g><g
|
||||
id="g162"><text
|
||||
transform="matrix(1,0,0,-1,501.307,132.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text166"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan164">y</tspan></text></g><g
|
||||
id="g168"><text
|
||||
transform="matrix(1,0,0,-1,643.493,564.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text172"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan170">a</tspan></text></g><g
|
||||
id="g174"><text
|
||||
transform="matrix(1,0,0,-1,647.093,520.894)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text178"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan176">r</tspan></text></g><g
|
||||
id="g180"><text
|
||||
transform="matrix(1,0,0,-1,647.405,477.694)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text184"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan182">t</tspan></text></g><g
|
||||
id="g186"><text
|
||||
transform="matrix(1,0,0,-1,649.502,434.494)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text190"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan188">i</tspan></text></g><g
|
||||
id="g192"><text
|
||||
transform="matrix(1,0,0,-1,647.405,391.294)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text196"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan194">t</tspan></text></g><g
|
||||
id="g198"><text
|
||||
transform="matrix(1,0,0,-1,649.502,348.094)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text202"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan200">i</tspan></text></g><g
|
||||
id="g204"><text
|
||||
transform="matrix(1,0,0,-1,643.493,304.894)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text208"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan206">o</tspan></text></g><g
|
||||
id="g210"><text
|
||||
transform="matrix(1,0,0,-1,643.096,261.694)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text214"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan212">n</tspan></text></g><g
|
||||
id="g216"><text
|
||||
transform="matrix(1,0,0,-1,645.194,218.494)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text220"><tspan
|
||||
x="0"
|
||||
y="0"
|
||||
id="tspan218">s</tspan></text></g><g
|
||||
id="g222"><text
|
||||
transform="matrix(1,0,0,-1,324.595,100.176)"
|
||||
style="font-variant:normal;font-weight:normal;font-size:36px;font-family:'DejaVu Sans';-inkscape-font-specification:DejaVuSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text226"><tspan
|
||||
x="0 10.584 21.996 44.784 58.787998 80.963997 93.636002 115.812 130.608 142.02 156.132 178.92 188.892 207.576 218.98801 241.776 264.564 279.35999 301.35599 320.112 330.01199 352.79999"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan224">I prefer this phrasing</tspan></text></g></g></g></g></svg>
|
After Width: | Height: | Size: 17 KiB |
|
@ -0,0 +1,312 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="202.74734mm"
|
||||
height="152.55798mm"
|
||||
viewBox="0 0 202.74735 152.55798"
|
||||
version="1.1"
|
||||
id="svg5260"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
|
||||
sodipodi:docname="One-Phase-Commit-Problems.svg">
|
||||
<defs
|
||||
id="defs5254">
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="marker6632"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path6630" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6083"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path6081" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker5971"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path5969" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker5903"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path5901" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path880" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path874" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(0.8,0,0,0.8,10,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path871" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.7"
|
||||
inkscape:cx="520.17347"
|
||||
inkscape:cy="263.95091"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="g6251"
|
||||
inkscape:document-rotation="0"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
inkscape:window-x="960"
|
||||
inkscape:window-y="398"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata5257">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Background"
|
||||
sodipodi:insensitive="true"
|
||||
style="display:inline">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="21.893898"
|
||||
y="19.982214"
|
||||
id="text5825"
|
||||
transform="translate(-4.3877291,-3.7450665)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5823"
|
||||
x="21.893898"
|
||||
y="19.982214"
|
||||
style="stroke-width:0.264583">Client</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="82.215805"
|
||||
y="19.982214"
|
||||
id="text5829"
|
||||
transform="translate(-4.3877291,-3.7450665)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5827"
|
||||
x="82.215805"
|
||||
y="19.982214"
|
||||
style="stroke-width:0.264583">Node 1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="148.89389"
|
||||
y="19.982214"
|
||||
id="text5833"
|
||||
transform="translate(-4.3877291,-3.7450665)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5831"
|
||||
x="148.89389"
|
||||
y="19.982214"
|
||||
style="stroke-width:0.264583">Node 2</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 15.446855,21.141612 H 59.320862"
|
||||
id="path5835"
|
||||
sodipodi:nodetypes="cc"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
|
||||
d="M 37.383859,27.438754 V 149.04295"
|
||||
id="path5837"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5903)"
|
||||
d="M 101.10606,27.438754 V 149.04295"
|
||||
id="path5899"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5971)"
|
||||
d="M 167.74281,27.438754 V 149.04295"
|
||||
id="path5967"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 79.169061,21.141612 H 123.04307"
|
||||
id="path6061"
|
||||
sodipodi:nodetypes="cc"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 145.8058,21.141612 h 43.87401"
|
||||
id="path6063"
|
||||
sodipodi:nodetypes="cc"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-4.3877292,-3.7450664)">
|
||||
<g
|
||||
id="g6223"
|
||||
class="fragment">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect6199"
|
||||
width="5.1640182"
|
||||
height="11.185114"
|
||||
x="35.642262"
|
||||
y="24.191145"
|
||||
ry="1.358519" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="25.500902"
|
||||
y="33.380928"
|
||||
id="text6157"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6155"
|
||||
x="25.500902"
|
||||
y="33.380928"
|
||||
style="stroke-width:0.264583">Xact</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g6251"
|
||||
class="fragment">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6632)"
|
||||
d="M 37.38386,35.376259 101.1849,50.198861"
|
||||
id="path6065" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6083)"
|
||||
d="M 37.38386,35.376259 167.33073,50.198861"
|
||||
id="path6079"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<g
|
||||
id="g6295"
|
||||
class="fragment">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect6199-0"
|
||||
width="5.1640182"
|
||||
height="11.185115"
|
||||
x="98.13755"
|
||||
y="51.786362"
|
||||
ry="1.3585191" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="77.583023"
|
||||
y="60.06794"
|
||||
id="text6153"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6151"
|
||||
x="77.583023"
|
||||
y="60.06794"
|
||||
style="stroke-width:0.264583">Commit?</tspan></text>
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect6218"
|
||||
width="5.1640182"
|
||||
height="11.185115"
|
||||
x="165.34177"
|
||||
y="51.786362"
|
||||
ry="1.3585191" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="144.21977"
|
||||
y="60.06794"
|
||||
id="text6191"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6189"
|
||||
x="144.21977"
|
||||
y="60.06794"
|
||||
style="stroke-width:0.264583">Commit?</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 87 KiB |
After Width: | Height: | Size: 247 KiB |
After Width: | Height: | Size: 87 KiB |
After Width: | Height: | Size: 107 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 114 KiB |
|
@ -0,0 +1,439 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="202.74734mm"
|
||||
height="152.55798mm"
|
||||
viewBox="0 0 202.74735 152.55798"
|
||||
version="1.1"
|
||||
id="svg5260"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
|
||||
sodipodi:docname="Two-Phase-Commit-Abort.svg">
|
||||
<defs
|
||||
id="defs5254">
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="marker2464"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path2462" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="marker2426"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path2424" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="Arrow1Lend"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path1923" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="marker6976"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path6974" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6966"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path6964" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6778"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path6776" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="marker6768"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path6766" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker5971"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path5969" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker5903"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path5901" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path880" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(0.8,0,0,0.8,10,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path871" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="520.17347"
|
||||
inkscape:cy="263.95091"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="g7159"
|
||||
inkscape:document-rotation="0"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
inkscape:window-x="960"
|
||||
inkscape:window-y="398"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata5257">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Background"
|
||||
sodipodi:insensitive="true"
|
||||
style="display:inline">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="21.893898"
|
||||
y="19.982214"
|
||||
id="text5825"
|
||||
transform="translate(-4.3877291,-3.7450665)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5823"
|
||||
x="21.893898"
|
||||
y="19.982214"
|
||||
style="stroke-width:0.264583">Client</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="82.215805"
|
||||
y="19.982214"
|
||||
id="text5829"
|
||||
transform="translate(-4.3877291,-3.7450665)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5827"
|
||||
x="82.215805"
|
||||
y="19.982214"
|
||||
style="stroke-width:0.264583">Node 1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="148.89389"
|
||||
y="19.982214"
|
||||
id="text5833"
|
||||
transform="translate(-4.3877291,-3.7450665)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5831"
|
||||
x="148.89389"
|
||||
y="19.982214"
|
||||
style="stroke-width:0.264583">Node 2</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 15.446855,21.141612 H 59.320862"
|
||||
id="path5835"
|
||||
sodipodi:nodetypes="cc"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
|
||||
d="M 37.383859,27.438754 V 149.04295"
|
||||
id="path5837"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5903)"
|
||||
d="M 101.10606,27.438754 V 149.04295"
|
||||
id="path5899"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5971)"
|
||||
d="M 167.74281,27.438754 V 149.04295"
|
||||
id="path5967"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 79.169061,21.141612 H 123.04307"
|
||||
id="path6061"
|
||||
sodipodi:nodetypes="cc"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 145.8058,21.141612 h 43.87401"
|
||||
id="path6063"
|
||||
sodipodi:nodetypes="cc"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-4.3877292,-3.7450664)">
|
||||
<g
|
||||
id="g6223">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect6199"
|
||||
width="5.1640182"
|
||||
height="11.185114"
|
||||
x="35.642262"
|
||||
y="24.191145"
|
||||
ry="1.358519" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="25.500902"
|
||||
y="33.380928"
|
||||
id="text6157"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6155"
|
||||
x="25.500902"
|
||||
y="33.380928"
|
||||
style="stroke-width:0.264583">Xact</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g7159"
|
||||
class="fragment">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2426)"
|
||||
d="M 37.38386,35.376259 101.1849,50.198861"
|
||||
id="path6065" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2464);stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="M 37.38386,35.376259 167.33073,50.198861"
|
||||
id="path6079"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<g
|
||||
id="g7143"
|
||||
class="fragment">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect6199-0"
|
||||
width="5.1640182"
|
||||
height="11.185115"
|
||||
x="98.13755"
|
||||
y="51.786362"
|
||||
ry="1.3585191" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="100.06273"
|
||||
y="60.06794"
|
||||
id="text6153"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6151"
|
||||
x="100.06273"
|
||||
y="60.06794"
|
||||
style="text-align:center;text-anchor:middle;stroke-width:0.264583">Pre-Commit</tspan></text>
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect6218"
|
||||
width="5.1640182"
|
||||
height="11.185115"
|
||||
x="165.34177"
|
||||
y="51.786362"
|
||||
ry="1.3585191" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="166.17029"
|
||||
y="60.06794"
|
||||
id="text6191"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6189"
|
||||
x="166.17029"
|
||||
y="60.06794"
|
||||
style="text-align:center;text-anchor:middle;stroke-width:0.264583">Abort</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g6764"
|
||||
class="fragment"
|
||||
transform="translate(0,28.045832)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6768)"
|
||||
d="M 101.65529,35.376259 37.854249,50.198861"
|
||||
id="path6760" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6778)"
|
||||
d="M 167.82608,35.376259 37.879209,50.198861"
|
||||
id="path6762"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<g
|
||||
id="g7119"
|
||||
class="fragment">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect6936"
|
||||
width="5.1640182"
|
||||
height="11.185115"
|
||||
x="34.679245"
|
||||
y="79.832191"
|
||||
ry="1.3585191" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="36.60442"
|
||||
y="88.11377"
|
||||
id="text6940"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6938"
|
||||
x="36.60442"
|
||||
y="88.11377"
|
||||
style="text-align:center;text-anchor:middle;stroke-width:0.264583">Abort</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g7090"
|
||||
transform="translate(0,56.091668)"
|
||||
class="fragment">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6976)"
|
||||
d="M 37.38386,35.376259 101.1849,50.198861"
|
||||
id="path6960" />
|
||||
</g>
|
||||
<g
|
||||
id="g7265"
|
||||
class="fragment">
|
||||
<g
|
||||
id="g7127"
|
||||
transform="translate(63.458306,28.045839)">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect7121"
|
||||
width="5.1640182"
|
||||
height="11.185115"
|
||||
x="34.679245"
|
||||
y="79.832191"
|
||||
ry="1.3585191" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="36.60442"
|
||||
y="88.11377"
|
||||
id="text7125"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7123"
|
||||
x="36.60442"
|
||||
y="88.11377"
|
||||
style="text-align:center;text-anchor:middle;stroke-width:0.264583">Abort</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 18 KiB |
|
@ -0,0 +1,467 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="202.74734mm"
|
||||
height="152.55798mm"
|
||||
viewBox="0 0 202.74735 152.55798"
|
||||
version="1.1"
|
||||
id="svg5260"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
|
||||
sodipodi:docname="Two-Phase-Commit-Commit.svg">
|
||||
<defs
|
||||
id="defs5254">
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="marker2302"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path2300" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="marker2264"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path2262" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="Arrow1Lend"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path1923" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="marker6976"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path6974" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6966"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path6964" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6778"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path6776" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="marker6768"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path6766" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker5971"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path5969" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker5903"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path5901" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path880" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(0.8,0,0,0.8,10,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path871" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="520.17347"
|
||||
inkscape:cy="263.95091"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="g7159"
|
||||
inkscape:document-rotation="0"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
inkscape:window-x="960"
|
||||
inkscape:window-y="398"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata5257">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Background"
|
||||
sodipodi:insensitive="true"
|
||||
style="display:inline">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="21.893898"
|
||||
y="19.982214"
|
||||
id="text5825"
|
||||
transform="translate(-4.3877291,-3.7450665)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5823"
|
||||
x="21.893898"
|
||||
y="19.982214"
|
||||
style="stroke-width:0.264583">Client</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="82.215805"
|
||||
y="19.982214"
|
||||
id="text5829"
|
||||
transform="translate(-4.3877291,-3.7450665)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5827"
|
||||
x="82.215805"
|
||||
y="19.982214"
|
||||
style="stroke-width:0.264583">Node 1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="148.89389"
|
||||
y="19.982214"
|
||||
id="text5833"
|
||||
transform="translate(-4.3877291,-3.7450665)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5831"
|
||||
x="148.89389"
|
||||
y="19.982214"
|
||||
style="stroke-width:0.264583">Node 2</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 15.446855,21.141612 H 59.320862"
|
||||
id="path5835"
|
||||
sodipodi:nodetypes="cc"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
|
||||
d="M 37.383859,27.438754 V 149.04295"
|
||||
id="path5837"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5903)"
|
||||
d="M 101.10606,27.438754 V 149.04295"
|
||||
id="path5899"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5971)"
|
||||
d="M 167.74281,27.438754 V 149.04295"
|
||||
id="path5967"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 79.169061,21.141612 H 123.04307"
|
||||
id="path6061"
|
||||
sodipodi:nodetypes="cc"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 145.8058,21.141612 h 43.87401"
|
||||
id="path6063"
|
||||
sodipodi:nodetypes="cc"
|
||||
transform="translate(-4.3877291,-3.7450665)" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-4.3877292,-3.7450664)">
|
||||
<g
|
||||
id="g6223">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect6199"
|
||||
width="5.1640182"
|
||||
height="11.185114"
|
||||
x="35.642262"
|
||||
y="24.191145"
|
||||
ry="1.358519" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="25.500902"
|
||||
y="33.380928"
|
||||
id="text6157"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6155"
|
||||
x="25.500902"
|
||||
y="33.380928"
|
||||
style="stroke-width:0.264583">Xact</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g7159"
|
||||
class="fragment">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2264)"
|
||||
d="M 37.38386,35.376259 101.1849,50.198861"
|
||||
id="path6065" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2302);stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="M 37.38386,35.376259 167.33073,50.198861"
|
||||
id="path6079"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<g
|
||||
id="g7143"
|
||||
class="fragment">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect6199-0"
|
||||
width="5.1640182"
|
||||
height="11.185115"
|
||||
x="98.13755"
|
||||
y="51.786362"
|
||||
ry="1.3585191" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="100.06273"
|
||||
y="60.06794"
|
||||
id="text6153"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6151"
|
||||
x="100.06273"
|
||||
y="60.06794"
|
||||
style="text-align:center;text-anchor:middle;stroke-width:0.264583">Pre-Commit</tspan></text>
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect6218"
|
||||
width="5.1640182"
|
||||
height="11.185115"
|
||||
x="165.34177"
|
||||
y="51.786362"
|
||||
ry="1.3585191" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="166.17029"
|
||||
y="60.06794"
|
||||
id="text6191"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6189"
|
||||
x="166.17029"
|
||||
y="60.06794"
|
||||
style="text-align:center;text-anchor:middle;stroke-width:0.264583">Pre-Commit</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g6764"
|
||||
class="fragment"
|
||||
transform="translate(0,28.045832)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6768)"
|
||||
d="M 101.65529,35.376259 37.854249,50.198861"
|
||||
id="path6760" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6778)"
|
||||
d="M 167.82608,35.376259 37.879209,50.198861"
|
||||
id="path6762"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<g
|
||||
id="g7119"
|
||||
class="fragment">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect6936"
|
||||
width="5.1640182"
|
||||
height="11.185115"
|
||||
x="34.679245"
|
||||
y="79.832191"
|
||||
ry="1.3585191" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="16.241386"
|
||||
y="88.11377"
|
||||
id="text6940"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6938"
|
||||
x="16.241386"
|
||||
y="88.11377"
|
||||
style="stroke-width:0.264583">Commit</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g7090"
|
||||
transform="translate(0,56.091668)"
|
||||
class="fragment">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6976)"
|
||||
d="M 37.38386,35.376259 101.1849,50.198861"
|
||||
id="path6960" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6966)"
|
||||
d="M 37.38386,35.376259 167.33073,50.198861"
|
||||
id="path6962"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<g
|
||||
id="g7265"
|
||||
class="fragment">
|
||||
<g
|
||||
id="g7127"
|
||||
transform="translate(63.458306,28.045839)">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect7121"
|
||||
width="5.1640182"
|
||||
height="11.185115"
|
||||
x="34.679245"
|
||||
y="79.832191"
|
||||
ry="1.3585191" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="16.241386"
|
||||
y="88.11377"
|
||||
id="text7125"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7123"
|
||||
x="16.241386"
|
||||
y="88.11377"
|
||||
style="stroke-width:0.264583">Commit</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g7135"
|
||||
transform="translate(131.72082,28.045839)">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect7129"
|
||||
width="5.1640182"
|
||||
height="11.185115"
|
||||
x="34.679245"
|
||||
y="79.832191"
|
||||
ry="1.3585191" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="16.241386"
|
||||
y="88.11377"
|
||||
id="text7133"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7131"
|
||||
x="16.241386"
|
||||
y="88.11377"
|
||||
style="stroke-width:0.264583">Commit</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 62 KiB |
|
@ -59,6 +59,7 @@ class_name = "CSE-4/562 Spring 2021"
|
|||
<% end %>
|
||||
</section>
|
||||
|
||||
|
||||
<%= body %>
|
||||
|
||||
</div></div>
|
||||
|
|