<div dir="ltr"><div><div><div><div><div>Hi, Daniel.<br><br></div><div>Lets make clear few things:<br> "restore" - spinning-up instance from backup.<br> "recover" - recover/restore(it terms of database management/administration) fine/corrupted instance from the backup that has its own timestamp.<br>
</div>There's a difference in approaches of spinning up new instance from backup and recovering already running instance.<br></div>As i wrote, from administrative and user perspective Trove should be able to do point in time recovery was fine or corrupted servers.<br>
</div>Also, point-in-time recovery could not be the part of scheduled tasks because this is an operation is a <span id="result_box" class="" lang="en"><span class="">disposable task.</span></span><br><br></div>So, point it time recovery is a "must have feature" for Trove. Basically, Trove should do both independently - restore/spin-up new and recover already running instance from backup.<br>
<br></div>Best regards,<br>Denis Makogon.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 4, 2014 at 6:36 PM, Daniel Morris <span dir="ltr"><<a href="mailto:daniel.morris@rackspace.com" target="_blank">daniel.morris@rackspace.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="font-size:14px;font-family:Calibri,sans-serif;word-wrap:break-word">
<div>
<div>
<div>Nice write-up Denis.  Generally, I think this should merge with the work going on for scheduled tasks and scheduled backups.</div>
<div><br>
</div>
<div><a href="https://wiki.openstack.org/wiki/Trove/scheduled-tasks" target="_blank">https://wiki.openstack.org/wiki/Trove/scheduled-tasks</a></div>
<div><br>
</div>
<div>Point in time recovery was one of the original goals of the scheduled / automated backup work, but had not been fully worked out.  Currently this work is sitting idle - <a href="https://review.openstack.org/#/c/73702/" target="_blank">https://review.openstack.org/#/c/73702/</a></div>

</div>
</div>
<div><br>
</div>
<div>I believe that at the time this was originally discussed, the idea was that this would be handled on a new instance creation (not an active instance), and would be accomplished via a new instance creation as follows:</div>

<div><br>
</div>
<div>
<div>POST /instances</div>
<div> </div>
<div>{</div>
<div>         "instance": {</div>
<div>         "flavorRef": "<a href="https://service//v1.0/1234/flavors/1" target="_blank">https://service//v1.0/1234/flavors/1</a>", </div>
<div>         "name": "myinstance", </div>
<div>         "volume": {</div>
<div>             "size": 2</div>
<div>         }</div>
<div>         "restorePoint": {</div>
<div>             "point_in_time" : "2012-03-28T22:00Z",</div>
<div>             "instanceRef": "<a href="https://service/v1.0/1234/instances/2450c73f-7805-4afe-a42c-4094ab42666b" target="_blank">https://service/v1.0/1234/instances/2450c73f-7805-4afe-a42c-4094ab42666b</a>"</div>

<div>         }</div>
<div>    }</div>
<div>}</div>
</div>
<div><br>
</div>
<div>Regardless of the API design (up for debate), we need this capability integrated and just need to work out the best way to do it.</div>
<div><br>
</div>
<div>Daniel</div>
<div><br>
</div>
<span>
<div style="border-right:medium none;padding-right:0in;padding-left:0in;padding-top:3pt;text-align:left;font-size:11pt;border-bottom:medium none;font-family:Calibri;border-top:#b5c4df 1pt solid;padding-bottom:0in;border-left:medium none">

<span style="font-weight:bold">From: </span>Denis Makogon <<a href="mailto:dmakogon@mirantis.com" target="_blank">dmakogon@mirantis.com</a>><br>
<span style="font-weight:bold">Reply-To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>

<span style="font-weight:bold">Date: </span>Tuesday, March 4, 2014 5:15 AM<br>
<span style="font-weight:bold">To: </span>OpenStack Development Mailing List <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>[openstack-dev] [TROVE] Point in time recovery design<br>
</div><div><div class="h5">
<div><br>
</div>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div>
<div>
<div dir="ltr">
<div>
<div>
<div>
<div>
<h1 dir="ltr" style="line-height:1.15;margin-top:10pt;margin-bottom:0pt;text-align:center">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:21px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">Trove. Point-in-Time recovery.</span></h1>

<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span><br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span><br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span><br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<ol style="margin-top:0pt;margin-bottom:0pt">
<li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.tg53tr6tfa3" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">Introduction</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">.</span></p>

</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.rnvnnwld05c2" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">What
 is a point in time recovery?</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>

</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.cp013g5it8qq" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">What
 does it take to do a point in time recovery?</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>

</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.oe6kdjz502c7" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">What
 to consider once you know your database is corrupted?</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>

</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.1m5g1t97bfdx" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">Trove
 and Point-in-time recovery.</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>

</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.qjqnx4eo6du8" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">Trove
 core ReST API and Point-in-Time Recovery/Restore flow.</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>

<ol style="margin-top:0pt;margin-bottom:0pt">
<li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.yedhftl8z7td" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">ReST
 routes.</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>
</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.7grnwb9z2u3g" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">Request
 body.</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>
</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.3n48u9fe0w43" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">Response
 object.</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>
</li></ol>
</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.1pr74mrhlana" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">Trove
 taskmanager RPC API and Point-in-Time Recovery/Restore flow.</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>

<ol style="margin-top:0pt;margin-bottom:0pt">
<li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.hk9iralbbn60" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">RPC
 message.</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>
</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.kgt3wgj6q4j7" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">RPC
 message type.</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>
</li></ol>
</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.gme8lf1lvok2" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">Trove
 guestagent RPC API and Point-in-Time Recovery/Restore flow.</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>

<ol style="margin-top:0pt;margin-bottom:0pt">
<li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.wxienab8nvi7" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">RPC
 message.</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>
</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.stpp0ym7nd04" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">RPC
 message type.</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>
</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.y4xmxn4pju8f" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">Method
 implementation.</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>
</li></ol>
</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.5bpxcfj9gujs" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">Proposed
 implementation for Trove and for Python-troveclient.</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>

</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.p0h05fqgo9oj" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">Useful
 links.</span><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></a></p>
</li></ol>
<h3 dir="ltr" style="line-height:1.15;margin-top:14pt;margin-bottom:4pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold"></span><a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.p0h05fqgo9oj" style="text-decoration:none" target="_blank"><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold"></span></a></h3>

<h3 dir="ltr" style="line-height:1.15;margin-top:14pt;margin-bottom:4pt;text-align:justify">
<a href="https://docs.google.com/a/mirantis.com/document/d/12qHHYCQ3BTOKCEcbfp-75NPJc15xPD01WEQe9OmyOxc/edit#heading=h.p0h05fqgo9oj" style="text-decoration:none" target="_blank"><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold">I</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold">ntroduction</span></h3>

<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">Every once in a while, an event might happen that corrupts a database.
 We have all made a stupid mistake at least once that had trashed a database. When this happens what do you do? If you do not have a database backup, then you had better own up to the problem you caused and tell your boss that you screwed up. If you do have
 at least a complete database backup then you most likely will be able to recover the corrupted database, up to the point that you corrupted the data. This article will discuss how to use a point in time restore to recover your databases.
</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">If you google “Point in time recovery” you also could find “Point
 in time restore”. So, let decide how to call it. Historically, database has a feature called
</span><span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">Point in time recovery.</span></p>
<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<h3 dir="ltr" style="line-height:1.15;margin-top:14pt;margin-bottom:4pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold">What is a point-in-time recovery?</span></h3>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">So what is a point in time recovery? A point in time recovery
 is restoring a database to a specified date and time. When you have completed a point in time recovery, your database will be in the state it was at the specific date and time you identified when restoring your database. A point in time recovery is a method
 to recover your database to any point in time since the last database backup.</span></p>
<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<h3 dir="ltr" style="line-height:1.15;margin-top:14pt;margin-bottom:4pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold">What does it take to do a point-in-time recovery?</span></h3>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">In order to perform a point in time recovery you will need to
 have an entire series of backups (complete, differential, and transaction log backups) up to and/or beyond the point in time in which you want to recover. If you are missing any backups, or have truncated the transaction log without first performing a transaction
 log backup, then you will not be able to perform a point in time recovery. At a minimum, you will need a complete backup and all the transaction log backups taken following the complete backup. Optionally if you are taking differential backups, then you will
 need the complete backup, the last differential backup prior to the corruption, then all the transaction log backups taken following the differential backup.</span></p>
<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold"></span>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold"></span></p>
<h3 dir="ltr" style="line-height:1.15;margin-top:14pt;margin-bottom:4pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold">Trove and Point-in-time recovery</span></h3>

<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">OpenStack DBaaS Trove is able to perform instance restoration
 (whole new instance, from scratch) from previously stored backup in remote storage (OpenStack Swift, Amazon AWS S3, etc). From administration/regular user perspective Trove should be able to perform point in time recovery. Basically it’s almost the same as
 restoring new instance, but the difference between restore (in terms of Trove) and recovery is huge.
</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">Restore</span><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
 gives an ability to spin-up </span><span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold">new
</span><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">instance from backup (as mentioned earlier), but the
</span><span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">Recovery
</span><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">gives an ability to restore already running instance from
 backup. For the beginning Trove would be able to recover/restore running instance from full backup.
</span></p>
<h3 dir="ltr" style="line-height:1.15;margin-top:14pt;margin-bottom:4pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold">Trove core ReST API and Point-in-Time Recovery/Restore flow</span></h3>

<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<h4 dir="ltr" style="line-height:1.15;margin-top:8pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:underline;font-family:Arial;font-weight:bold">ReST routes</span></h4>
<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<div dir="ltr" style="margin-left:0pt">
<table style="border:medium none;border-collapse:collapse">
<colgroup><col width="132"><col width="492"></colgroup>
<tbody>
<tr style="height:0px">
<td style="border:1px solid rgb(0,0,0);vertical-align:top;padding:7px">
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt;text-align:center">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">HTTP method</span></p>
</td>
<td style="border:1px solid rgb(0,0,0);vertical-align:top;padding:7px">
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt;text-align:center">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">Routes</span></p>
</td>
</tr>
<tr style="height:0px">
<td style="border:1px solid rgb(0,0,0);vertical-align:top;padding:7px"><br>
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span><br>
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt;text-align:center">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">POST</span></p>
</td>
<td style="border:1px solid rgb(0,0,0);vertical-align:top;padding:7px">
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt"><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">{</span><span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">tenant_id</span><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">}/instances/{</span><span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">instance_id</span><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">}/recover</span></p>

<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt"><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">or</span></p>

<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt"><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">{</span><span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">tenant_id</span><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">}/instances/{</span><span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">instance_id</span><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">}/restore</span></p>

</td>
</tr>
</tbody>
</table>
</div>
<h4 dir="ltr" style="line-height:1.15;margin-top:8pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:underline;font-family:Arial;font-weight:bold">Request body</span></h4>
<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Consolas;font-weight:normal">“recovery”: {</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Consolas;font-weight:normal">    “instance”: UUID,</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Consolas;font-weight:normal">    “backup”: UUID,</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Consolas;font-weight:normal">}</span></p>
<h4 dir="ltr" style="line-height:1.15;margin-top:8pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:underline;font-family:Arial;font-weight:bold">Response object</span></h4>
<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Consolas;font-weight:normal">“recovery”: {</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Consolas;font-weight:normal">    “id”: “instance_id”,</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Consolas;font-weight:normal">    “name”: “instance_name”,</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Consolas;font-weight:normal">    “status”: “BUILDING”,</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Consolas;font-weight:normal">    “datastore”: “mysql”,</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Consolas;font-weight:normal">    “recovered_from_backup”: “backup_id”,</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Consolas;font-weight:normal">    “point_in_time”: “2011-01-22T13:25:27-06:00”,</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Consolas;font-weight:normal">}</span></p>
<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Consolas;font-weight:normal"></span>
<h3 dir="ltr" style="line-height:1.15;margin-top:14pt;margin-bottom:4pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold">Trove taskmanager RPC API and Point-in-Time Recovery/Restore flow</span></h3>

<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<h4 dir="ltr" style="line-height:1.15;margin-top:8pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:underline;font-family:Arial;font-weight:bold">RPC message</span></h4>
<div dir="ltr" style="margin-left:0pt">
<table style="border:medium none;border-collapse:collapse">
<colgroup><col width="255"><col width="225"></colgroup>
<tbody>
<tr style="height:0px">
<td style="border:1px solid rgb(0,0,0);vertical-align:top;padding:7px">
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt;text-align:center">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">RPC method</span></p>
</td>
<td style="border:1px solid rgb(0,0,0);vertical-align:top;padding:7px">
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt;text-align:center">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">Method parameters</span></p>
</td>
</tr>
<tr style="height:0px">
<td style="border:1px solid rgb(0,0,0);vertical-align:top;padding:7px">
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt;text-align:center">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">do_instance_recovery</span></p>
</td>
<td style="border:1px solid rgb(0,0,0);vertical-align:top;padding:7px">
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt;text-align:center">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">instance_id</span><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>

<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt;text-align:center">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">backup_id</span><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></p>

</td>
</tr>
</tbody>
</table>
</div>
<h4 dir="ltr" style="line-height:1.15;margin-top:8pt;margin-bottom:0pt;margin-left:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:underline;font-family:Arial;font-weight:bold">RPC message type</span></h4>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;margin-left:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">    CAST with poll until instance reach ACTIVE status.</span></p>

<h3 dir="ltr" style="line-height:1.15;margin-top:14pt;margin-bottom:4pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold">Trove guestagent RPC API and Point-in-Time Recovery/Restore flow</span></h3>

<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold"></span>
<h4 dir="ltr" style="line-height:1.15;margin-top:8pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:underline;font-family:Arial;font-weight:bold">RPC message</span></h4>
<div dir="ltr" style="margin-left:0pt">
<table style="border:medium none;border-collapse:collapse">
<colgroup><col width="255"><col width="356"></colgroup>
<tbody>
<tr style="height:0px">
<td style="border:1px solid rgb(0,0,0);vertical-align:top;padding:7px">
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt;text-align:center">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">RPC method</span></p>
</td>
<td style="border:1px solid rgb(0,0,0);vertical-align:top;padding:7px">
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt;text-align:center">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">Method parameters</span></p>
</td>
</tr>
<tr style="height:0px">
<td style="border:1px solid rgb(0,0,0);vertical-align:top;padding:7px"><br>
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span><br>
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt;text-align:center">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">do_recovery</span></p>
</td>
<td style="border:1px solid rgb(0,0,0);vertical-align:top;padding:7px">
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt"><span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">      
 backup_info: {</span></p>
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt"><span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">                     'id':
 backup_id,</span></p>
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt"><span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">                     ‘location':
 location,</span></p>
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt"><span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">                     ’type':
 backup_type,</span></p>
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt"><span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">                    'checksum':
 checksum,</span></p>
<p dir="ltr" style="line-height:1;margin-top:0pt;margin-bottom:0pt"><span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">      
 }</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<h4 dir="ltr" style="line-height:1.15;margin-top:8pt;margin-bottom:0pt;margin-left:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:underline;font-family:Arial;font-weight:bold">RPC message type</span></h4>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;margin-left:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:italic;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">    CAST</span></p>
<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold"></span>
<h4 dir="ltr" style="line-height:1.15;margin-top:8pt;margin-bottom:0pt;margin-left:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:underline;font-family:Arial;font-weight:bold">Method implementation</span></h4>
<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">Re-used restore functionality (restore from full backup).</span></p>

<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<h3 dir="ltr" style="line-height:1.15;margin-top:14pt;margin-bottom:4pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold">Proposed implementation for Trove and for Python-troveclient</span></h3>

<br>
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span>
<ol style="margin-top:0pt;margin-bottom:0pt">
<li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">Trove:
 [1]</span></p>
</li><li dir="ltr" style="vertical-align:baseline;list-style-type:decimal;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">Python-troveclient:
 [2]</span></p>
</li></ol>
<h3 dir="ltr" style="line-height:1.15;margin-top:14pt;margin-bottom:4pt;text-align:justify">
<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:17px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:bold">Useful links</span><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></h3>

<h3 dir="ltr" style="line-height:1.15;margin-top:14pt;margin-bottom:4pt;text-align:justify">
     <span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">
[1] </span><a href="https://review.openstack.org/#/c/77222/" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">https://review.openstack.org/#/c/77222/</span></a><span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal"></span></h3>

<span style="vertical-align:baseline;font-variant:normal;font-style:normal;font-size:15px;background-color:transparent;text-decoration:none;font-family:Arial;font-weight:normal">     [2]
</span><a href="https://review.openstack.org/#/c/77223/" style="text-decoration:none" target="_blank"><span style="font-size:15px;font-family:Arial;color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">https://review.openstack.org/#/c/77223/</span></a><br>

<br>
<br>
</div>
Best Regards,<br>
</div>
Denis Makogon<br>
</div>
<a href="mailto:dmakogon@mirantis.com" target="_blank">dmakogon@mirantis.com</a><br>
</div>
<a href="http://www.mirantis.com" target="_blank">www.mirantis.com</a><br>
<div>
<div>
<div>
<div>
<div><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div></div></span>
</div>

<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>