<html><body>
<p><font size="2" face="sans-serif">I can't understand how the impact on performance, </font><font size="2" face="serif">image-members still have an idx. Is there any other concern on the patch ?  How to get result from "rally gate job" ? </font><br>
<br>
<font size="2" face="serif">Can you give me suggestion on how to move forward ?  Thanks .</font><br>
<br>
<br>
<br>
<font size="2" face="sans-serif">Best regards,<br>
LongQuan<br>
</font><br>
<br>
<img width="16" height="16" src="cid:1__=C7BBF4EDDFC255358f9e8a93df938@cn.ibm.com" border="0" alt="Inactive hide details for Nikhil Komawar ---2015/07/10 22:34:16---Please find the response inline. >"><font size="2" color="#424282" face="sans-serif">Nikhil Komawar ---2015/07/10 22:34:16---Please find the response inline. ></font><br>
<br>
<font size="1" color="#5F5F5F" face="sans-serif">From:      </font><font size="1" face="sans-serif">Nikhil Komawar <nik.komawar@gmail.com></font><br>
<font size="1" color="#5F5F5F" face="sans-serif">To:        </font><font size="1" face="sans-serif">"OpenStack Development Mailing List (not for usage questions)" <openstack-dev@lists.openstack.org></font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Cc:        </font><font size="1" face="sans-serif">Long Quan Sha/China/IBM@IBMCN</font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Date:      </font><font size="1" face="sans-serif">2015/07/10 22:34</font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Subject:   </font><font size="1" face="sans-serif">Re: [openstack-dev] [glance] Why does Glance keep the deleted membership of image ?</font><br>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<br>
<font size="3" face="serif">Please find the response inline.</font>
<ul style="padding-left: 36pt"><br>
<font size="2" face="sans-serif">Hi Glance experts,</font><font size="3" face="serif"><br>
</font><font size="2" face="sans-serif"><br>
I'd like to send this mail again, hope I can get help and suggest from glance experts. The question is from a bug </font><a href="https://bugs.launchpad.net/glance/+bug/1462315"><font size="2" color="#0000FF" face="sans-serif"><u>https://bugs.launchpad.net/glance/+bug/1462315</u></font></a><font size="2" face="sans-serif">, </font><font size="3" face="serif"><br>
</font><tt><font size="2"><br>
If an image-member is deleted, then create it again with the same parameters, glance searches db to see if there is already an existing one, but the result doesn't include the record which was marked as deleted, <br>
glance will try to create a new one with the same parameters, it works well on mysql. But it is failed on DB2 with SQL0803N error.</font></tt><font size="3" face="serif"><br>
</font><font size="2" face="serif"><br>
The root cause is that DB2 constraint is more restricted than mysql. For db2, the columns under unique constrains should be "NOT NULL", currently the column "deleted_at" which is one of unique constrain of image_members<br>
is nullable. A possible solution is to alter it to "not null" in migration. that means we have to insert a default timestamp value for the new created image-member, an active member with a no-blank timestamp for "deleted_at" seems very confusing.   </font><font size="3" face="serif"><br>
</font></ul>
<br>
<font size="3" face="serif"><br>
Agree that this is confusing. And changing the behavior this way is NOT a good idea. A record that's never been deleted should not have deleted(_at) value. It will affect notifications and conflict with API guidelines.<br>
</font>
<ul style="padding-left: 36pt"><br>
<tt><font size="2">Another fix is: we may check all existing image-member records including the deleted image-member before create image-member, then update it if it exists, otherwise create a new one, that is proposed in </font></tt><a href="https://review.openstack.org/#/c/190895/"><tt><font size="2" color="#0000FF"><u>https://review.openstack.org/#/c/190895/</u></font></tt></a><font size="3" face="serif"><br>
<br>
</font><font size="2" face="serif"><br>
I'm wondering why can't we use only one record to maintain the member-ship between a pair of image and tenant. Maybe there is some other consideration, can you help give me some suggestion ? I'd like to know more. Thanks.</font><font size="3" face="serif"><br>
<br>
</font></ul>
<br>
<font size="3" face="serif"><br>
Concept wise this sounds like a good idea but it could have performance degradation impact. Nonetheless, image-members have an idx that should be a relief for that query image_member_find that you added in your proposal. My hope is that the rally gate job will tell us more if there is a performance problem.<br>
</font>
<ul style="padding-left: 36pt"><br>
<font size="2" face="sans-serif">Best regards,<br>
LongQuan</font><font size="3" face="serif"><br>
<br>
</font>
<p><br>
<tt><font size="3">__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: </font></tt><a href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"><tt><font size="3" color="#0000FF"><u>OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</u></font></tt></a><tt><font size="3"><br>
</font></tt><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"><tt><font size="3" color="#0000FF"><u>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</u></font></tt></a><tt><font size="3"><br>
</font></tt></ul>
<br>
<tt><font size="3">-- <br>
<br>
Thanks,<br>
Nikhil</font></tt><br>
</body></html>