<html><body>
<p><font size="2" face="sans-serif">Paul,</font><br>
<br>
<font size="2" face="sans-serif">I might misunderstand your blueprint here. it make sense to me if redirection happens internally b/w proxy server and object server.</font><br>
<font size="2" face="sans-serif">I have thought this redirection happens b/w client and proxy server, and a new object URL will be sent to client.</font><br>
<font size="2" face="sans-serif"><br>
</font><font size="1" face="serif"><b>Best Regards, </b></font><font size="1" face="serif"><br>
<br>
</font><hr width="100%" size="2" align="left">
<table border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="298" valign="middle">
<ul style="padding-left: 0pt"><font size="1" face="serif"><b>Edward Zhang(张华)</b></font><font size="1" face="serif"><br>
Advisory Software Engineer<br>
Software Standards & Open Source Software<br>
Emerging Technology Institute(ETI)<br>
IBM China Software Development Lab<br>
e-mail: zhuadl@cn.ibm.com<br>
Notes ID: Hua ZZ Zhang/China/IBM<br>
Tel: 86-10-82450483</font></ul>
</td><td width="298" valign="middle">
<ul style="padding-left: 0pt"><font size="1" face="serif">地址:北京市海淀区东北旺西路8号 中关村软件园28号楼 环宇大厦3层 邮编:100193<br>
Address: 3F Ring, Building 28 Zhongguancun Software Park, 8 Dongbeiwang West Road, Haidian District, Beijing, P.R.C.100193</font></ul>
</td></tr>

<tr valign="top"><td width="298" valign="middle">
<ul style="padding-left: 0pt"><img src="cid:1__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" width="100" height="100"></ul>
</td><td width="298" valign="middle"><img width="1" height="1" src="cid:2__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" border="0" alt=""></td></tr>

<tr valign="top"><td width="298" valign="middle">
<ul style="padding-left: 0pt"><font size="1" face="serif"><br>
</font></ul>
</td><td width="298" valign="middle"><img width="1" height="1" src="cid:2__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" border="0" alt=""></td></tr>
</table>
<br>
<img width="16" height="16" src="cid:3__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" border="0" alt="Inactive hide details for "Luse, Paul E" ---06/03/2013 08:14:26 PM---"Luse, Paul E" <paul.e.luse@intel.com>"><font size="2" color="#424282" face="sans-serif">"Luse, Paul E" ---06/03/2013 08:14:26 PM---"Luse, Paul E" <paul.e.luse@intel.com></font><br>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td style="background-image:url(cid:4__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com); background-repeat: no-repeat; " width="40%">
<ul style="padding-left: 72pt"><font size="1" face="sans-serif"><b>"Luse, Paul E" <paul.e.luse@intel.com></b></font><font size="1" face="sans-serif"> </font>
<p><font size="1" face="sans-serif">06/03/2013 08:14 PM</font></ul>
</td><td width="60%">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%"><img width="58" height="1" src="cid:2__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" border="0" alt=""><br>
<div align="right"><font size="1" face="sans-serif">To</font></div></td><td width="100%"><img width="1" height="1" src="cid:2__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" border="0" alt=""><br>

<ul style="padding-left: 7pt"><font size="1" face="sans-serif">Hua ZZ Zhang/China/IBM@IBMCN, </font></ul>
</td></tr>

<tr valign="top"><td width="1%"><img width="58" height="1" src="cid:2__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" border="0" alt=""><br>
<div align="right"><font size="1" face="sans-serif">cc</font></div></td><td width="100%"><img width="1" height="1" src="cid:2__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" border="0" alt=""><br>

<ul style="padding-left: 7pt"><font size="1" face="sans-serif">"openstack@lists.launchpad.net" <openstack@lists.launchpad.net>, Openstack     <openstack-bounces+zhuadl=cn.ibm.com@lists.launchpad.net></font></ul>
</td></tr>

<tr valign="top"><td width="1%"><img width="58" height="1" src="cid:2__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" border="0" alt=""><br>
<div align="right"><font size="1" face="sans-serif">Subject</font></div></td><td width="100%"><img width="1" height="1" src="cid:2__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" border="0" alt=""><br>

<ul style="padding-left: 7pt"><font size="1" face="sans-serif">RE: [Openstack] [Swift] Storage Server Redirection</font></ul>
</td></tr>
</table>

<table border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="58"><img width="1" height="1" src="cid:2__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" border="0" alt=""></td><td width="336"><img width="1" height="1" src="cid:2__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" border="0" alt=""></td></tr>
</table>
</td></tr>
</table>
<br>
<font size="2" color="#1F497D" face="Calibri">Hi Edward,</font>
<p><font size="2" color="#1F497D" face="Calibri"> </font>
<p><font size="2" color="#1F497D" face="Calibri">Can you explain a little more about you mean (example maybe) with “</font><font size="2" face="Arial">I'm also curious about how could this happen if the object URL is the unique identity. How does the server exactly know what client request is another object? Based on what kind of information?”</font>
<p><font size="2" color="#1F497D" face="Calibri"> </font>
<p><font size="2" color="#1F497D" face="Calibri">Thanks</font>
<p><font size="2" color="#1F497D" face="Calibri">Paul</font>
<p><font size="2" color="#1F497D" face="Calibri"> </font>
<p><font size="2" face="Tahoma"><b>From:</b></font><font size="2" face="Tahoma"> Hua ZZ Zhang [</font><font size="2" face="Tahoma"><a href="mailto:zhuadl@cn.ibm.com">mailto:zhuadl@cn.ibm.com</a></font><font size="2" face="Tahoma">] </font><font size="2" face="Tahoma"><b><br>
Sent:</b></font><font size="2" face="Tahoma"> Monday, June 03, 2013 2:50 AM</font><font size="2" face="Tahoma"><b><br>
To:</b></font><font size="2" face="Tahoma"> Luse, Paul E</font><font size="2" face="Tahoma"><b><br>
Cc:</b></font><font size="2" face="Tahoma"> openstack@lists.launchpad.net; Openstack</font><font size="2" face="Tahoma"><b><br>
Subject:</b></font><font size="2" face="Tahoma"> Re: [Openstack] [Swift] Storage Server Redirection</font>
<p><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri">>> 2) The basic idea is that an object server (via middleware or otherwise) will be given the ability to respond to a request to indicate ‘not me but I know who should handle this’.  I’m thinking this makes more sense as a 5xx response with additional information (partition, nodes) about the route included in the response body (as opposed to a 3xx code)  </font><font size="3" face="sans-serif"><br>
</font><font size="2" face="Calibri"><br>
My concern</font><font size="2" face="Arial"> is that 5xx response is a kind of error that occurs on server side. The server can't handle the client request<br>
due to internal error (500), not implemented (501), bad gateway(502), service unavailable(503), gateway timeout(504)<br>
or http version not supported(505).  It doesn't make much sense to use it in your context of '</font><font size="2" face="Calibri">not me but I know who should handle this’</font><font size="2" face="Arial">.</font><font size="3" face="sans-serif"><br>
</font><font size="2" face="Arial"><br>
I'm also curious about how could this happen if the object URL is the unique identity. How does the server exactly know what client <br>
request is another object? Based on what kind of information?</font>
<p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="298" valign="middle">
<ul style="padding-left: 36pt"><font size="1" face="Times New Roman"><b>Edward Zhang(</b></font><font size="1" face="sans-serif"><b>张华</b></font><font size="1" face="Times New Roman"><b>)</b></font><font size="1" face="Times New Roman"><br>
Advisory Software Engineer<br>
Software Standards & Open Source Software<br>
Emerging Technology Institute(ETI)<br>
IBM China Software Development Lab<br>
e-mail: </font><a href="mailto:zhuadl@cn.ibm.com"><font size="1" color="#0000FF" face="Times New Roman"><u>zhuadl@cn.ibm.com</u></font></a></ul>
</td></tr>

<tr valign="top"><td width="298" valign="middle"><img src="cid:5__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" width="1" height="1"></td></tr>
</table>
<font size="3" face="sans-serif"><br>
</font><img src="cid:3__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" width="16" height="16" alt="Inactive hide details for "Luse, Paul E" ---2013-06-01 上午 07:53:21---"Luse, Paul E" <paul.e.luse@intel.com>"><font size="2" color="#424282" face="Arial">"Luse, Paul E" ---2013-06-01 </font><font size="2" color="#424282" face="sans-serif">上午</font><font size="2" color="#424282" face="Arial"> 07:53:21---"Luse, Paul E" <</font><a href="mailto:paul.e.luse@intel.com"><font size="2" color="#0000FF" face="Arial"><u>paul.e.luse@intel.com</u></font></a><font size="2" color="#424282" face="Arial">></font>
<p>
<table class="MsoNormalTable" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="52%">
<ul style="padding-left: 36pt"><font size="1" face="Arial"><b>"Luse, Paul E" <</b></font><a href="mailto:paul.e.luse@intel.com"><font size="1" color="#0000FF" face="Arial"><b><u>paul.e.luse@intel.com</u></b></font></a><font size="1" face="Arial"><b>></b></font><font size="1" face="Arial"> <br>
Sent by: "Openstack" <</font><a href="mailto:openstack-bounces+zhuadl=cn.ibm.com@lists.launchpad.net"><font size="1" color="#0000FF" face="Arial"><u>openstack-bounces+zhuadl=cn.ibm.com@lists.launchpad.net</u></font></a><font size="1" face="Arial">></font><font size="3" face="sans-serif"> </font>
<p><font size="1" face="Arial">2013-06-01 </font><font size="1" face="sans-serif">上午</font><font size="1" face="Arial"> 07:53</font></ul>
</td><td width="48%">
<table class="MsoNormalTable" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="13%"><img src="cid:6__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" width="58" height="1"><div align="right"><br>
<font size="1" face="Arial">To</font></div></td><td width="87%"><img src="cid:5__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" width="1" height="1">
<ul style="padding-left: 36pt"><br>
<font size="1" face="Arial">"</font><a href="mailto:openstack@lists.launchpad.net"><font size="1" color="#0000FF" face="Arial"><u>openstack@lists.launchpad.net</u></font></a><font size="1" face="Arial">" <</font><a href="mailto:openstack@lists.launchpad.net"><font size="1" color="#0000FF" face="Arial"><u>openstack@lists.launchpad.net</u></font></a><font size="1" face="Arial">>, </font></ul>
</td></tr>

<tr valign="top"><td width="13%"><img src="cid:6__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" width="58" height="1"><div align="right"><br>
<font size="1" face="Arial">cc</font></div></td><td width="87%"><img src="cid:5__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" width="1" height="1"></td></tr>

<tr valign="top"><td width="13%"><img src="cid:6__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" width="58" height="1"><div align="right"><br>
<font size="1" face="Arial">Subject</font></div></td><td width="87%"><img src="cid:5__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" width="1" height="1">
<ul style="padding-left: 36pt"><br>
<font size="1" face="Arial">[Openstack] [Swift] Storage Server Redirection</font></ul>
</td></tr>
</table>
<font size="3" face="sans-serif"> </font>
<p><br>

<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="58"><img src="cid:5__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" width="1" height="1"></td><td width="336"><img src="cid:5__=C7BBF113DF9430828f9e8a93df938@cn.ibm.com" width="1" height="1"></td></tr>
</table>
</td></tr>
</table>
<font size="2" face="Calibri"><br>
I’m looking at tacking this item:</font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri"> </font><font size="3" face="sans-serif"> </font>
<p><a href="https://blueprints.launchpad.net/swift/+spec/support-storage-server-redirects"><font size="2" color="#0000FF" face="Calibri"><u>https://blueprints.launchpad.net/swift/+spec/support-storage-server-redirects</u></font></a><font size="2" face="Calibri"> </font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri"> </font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri">and wanted to get some feedback on the following observations/thoughts:</font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri"> </font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri">1) This is a capability that would be checked in independent of other blueprints that might use it (2 are mentioned in the link above) and unit test code would be the only way to initially exercise it; it essentially enables other activities at this point</font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri"> </font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri">2) The basic idea is that an object server (via middleware or otherwise) will be given the ability to respond to a request to indicate ‘not me but I know who should handle this’.  I’m thinking this makes more sense as a 5xx response with additional information (partition, nodes) about the route included in the response body (as opposed to a 3xx code)  </font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri"> </font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri">3) The proxy server will be modified to process the response accordingly but using the partition, nodes info from the response as opposed to object_ring.get_nodes() to determine which nodes to use</font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri"> </font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri">4) Protection will be required to avoid endless redirection loops</font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri"> </font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri">5) This applies only to GET operations</font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri"> </font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri">Appreciate any thoughts/feedback.,  In addition to the two usages of this capability referenced in the blueprint I think there’s applicable to another Tiering blueprint which interests me as well.</font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri"> </font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri">Thanks</font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri">Paul</font><font size="3" face="sans-serif"> </font>
<p><font size="2" face="Calibri"> </font><font size="2" face="sans-serif">_______________________________________________<br>
Mailing list: </font><a href="https://launchpad.net/~openstack"><font size="2" color="#0000FF" face="sans-serif"><u>https://launchpad.net/~openstack</u></font></a><font size="2" face="sans-serif"><br>
Post to     : </font><a href="mailto:openstack@lists.launchpad.net"><font size="2" color="#0000FF" face="sans-serif"><u>openstack@lists.launchpad.net</u></font></a><font size="2" face="sans-serif"><br>
Unsubscribe : </font><a href="https://launchpad.net/~openstack"><font size="2" color="#0000FF" face="sans-serif"><u>https://launchpad.net/~openstack</u></font></a><font size="2" face="sans-serif"><br>
More help   : </font><a href="https://help.launchpad.net/ListHelp"><font size="2" color="#0000FF" face="sans-serif"><u>https://help.launchpad.net/ListHelp</u></font></a>
<p></body></html>