<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Title" content="">
<meta name="Keywords" content="">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Arial;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:Calibri;
        color:windowtext;}
span.msoIns
        {mso-style-type:export-only;
        mso-style-name:"";
        text-decoration:underline;
        color:teal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">We have used tooz to enable concurrency. Zookeeper and Redis worked well. I think that it is certainly something that we need to consider. The challenge becomes a deployment.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Gary<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-family:Calibri;color:black">From: </span>
</b><span style="font-family:Calibri;color:black">Damon Wang <damon.devops@gmail.com><br>
<b>Reply-To: </b>OpenStack List <openstack-dev@lists.openstack.org><br>
<b>Date: </b>Tuesday, May 24, 2016 at 5:58 AM<br>
<b>To: </b>OpenStack List <openstack-dev@lists.openstack.org><br>
<b>Subject: </b>Re: [openstack-dev] [neutron][ovo] NeutronDbObject concurrency issues<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal">Hi, <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I want to add an option which handle by another project Tooz.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_tooz&d=CwMFaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=VlZxHpZBmzzkWT5jqz9JYBk8YTeq9N3-diTlNj4GyNc&m=BlFY_Ge8eQsKWmvzFjG8WDvC_476YtRBCancu5pAbt8&s=eX2MSKfmcWhBdoSfE7czdazEibklQWO9Z2bSdGtluOo&e=">https://github.com/openstack/tooz</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">with redis or some other drivers, it seems pretty a good choice.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Any comments?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Wei Wang<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">2016-05-17 6:53 GMT+08:00 Ilya Chukhnakov <<a href="mailto:ichukhnakov@mirantis.com" target="_blank">ichukhnakov@mirantis.com</a>>:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On 16 May 2016, at 20:01, MichaƂ Dulko <<a href="mailto:michal.dulko@intel.com" target="_blank">michal.dulko@intel.com</a>> wrote:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Helvetica"><br>
It's not directly related, but this reminds me of tests done by geguileo<br>
[1] some time ago that were comparing different methods of preventing DB<br>
race conditions in concurrent environment. Maybe you'll also find them<br>
useful as you'll probably need to do something like conditional update<br>
to increment a revision number.<br>
<br>
[1] </span><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Akrog_test-2Dcinder-2Datomic-2Dstates&d=CwMFaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=VlZxHpZBmzzkWT5jqz9JYBk8YTeq9N3-diTlNj4GyNc&m=BlFY_Ge8eQsKWmvzFjG8WDvC_476YtRBCancu5pAbt8&s=NcW1-muP9ymke4gz9blqXQ1mbrfpmfLHZHjQspx6jMY&e=" target="_blank"><span style="font-size:9.0pt;font-family:Helvetica">https://github.com/Akrog/test-cinder-atomic-states</span></a><o:p></o:p></p>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Thanks for the link. The SQLA revisions are similar to the 'solutions/update_with_where',<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">but they use the dedicated column for that [2]. And as long as it is properly configured,<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal">it happens 'automagically' (SQLA will take care of adding proper 'where' to 'update').<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">[2] <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__docs.sqlalchemy.org_en_latest_orm_versioning.html&d=CwMFaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=VlZxHpZBmzzkWT5jqz9JYBk8YTeq9N3-diTlNj4GyNc&m=BlFY_Ge8eQsKWmvzFjG8WDvC_476YtRBCancu5pAbt8&s=-WhOlX8NTukfXp5q3ud1TpLWsGMqRa4SlHYYYMGGTqs&e=" target="_blank">http://docs.sqlalchemy.org/en/latest/orm/versioning.html</a><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</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><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>