<div dir="ltr">Hi, Chmouel and Darrell<div><br></div><div>I know you're working on /swift/proxy/controllers/base.py for this bug: <a href="https://review.openstack.org/#/c/21563/">https://review.openstack.org/#/c/21563/</a></div>
<div style>I didn't know the <a href="https://github.com/openstack/swift/blob/master/swift/proxy/controllers/base.py#L371">https://github.com/openstack/swift/blob/master/swift/proxy/controllers/base.py#L371</a> to #372. Could you show me a simple understanding?</div>
<div style><br></div><div style><pre style="margin-top:0px;margin-bottom:0px;padding:0px;border:0px"><div class="" id="LC368" style="font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12.222222328186035px;line-height:17.77777862548828px;color:rgb(51,51,51);margin:0px;padding:0px 0px 0px 10px;border:0px">
                    <span class="" style="margin:0px;padding:0px;border:0px;font-weight:bold">elif</span> <span class="" style="margin:0px;padding:0px;border:0px">resp</span><span class="" style="margin:0px;padding:0px;border:0px;font-weight:bold">.</span><span class="" style="margin:0px;padding:0px;border:0px">status</span> <span class="" style="margin:0px;padding:0px;border:0px;font-weight:bold">==</span> <span class="" style="margin:0px;padding:0px;border:0px">HTTP_NOT_FOUND</span><span class="" style="margin:0px;padding:0px;border:0px">:</span></div>
<div class="" id="LC369" style="font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12.222222328186035px;line-height:17.77777862548828px;color:rgb(51,51,51);margin:0px;padding:0px 0px 0px 10px;border:0px">
                        <span class="" style="margin:0px;padding:0px;border:0px;font-weight:bold">if</span> <span class="" style="margin:0px;padding:0px;border:0px">result_code</span> <span class="" style="margin:0px;padding:0px;border:0px;font-weight:bold">==</span> <span class="" style="margin:0px;padding:0px;border:0px;color:rgb(0,153,153)">0</span><span class="" style="margin:0px;padding:0px;border:0px">:</span></div>
<div class="" id="LC370" style="font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12.222222328186035px;line-height:17.77777862548828px;color:rgb(51,51,51);margin:0px;padding:0px 0px 0px 10px;border:0px">
                            <span class="" style="margin:0px;padding:0px;border:0px">result_code</span> <span class="" style="margin:0px;padding:0px;border:0px;font-weight:bold">=</span> <span class="" style="margin:0px;padding:0px;border:0px">HTTP_NOT_FOUND</span></div>
<div class="" id="LC371" style="font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12.222222328186035px;line-height:17.77777862548828px;color:rgb(51,51,51);margin:0px;padding:0px 0px 0px 10px;border:0px;background-color:rgb(255,255,204)">
                        <span class="" style="margin:0px;padding:0px;border:0px;font-weight:bold">elif</span> <span class="" style="margin:0px;padding:0px;border:0px">result_code</span> <span class="" style="margin:0px;padding:0px;border:0px;font-weight:bold">!=</span> <span class="" style="margin:0px;padding:0px;border:0px">HTTP_NOT_FOUND</span><span class="" style="margin:0px;padding:0px;border:0px">:</span></div>
<div class="" id="LC372" style="font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12.222222328186035px;line-height:17.77777862548828px;color:rgb(51,51,51);margin:0px;padding:0px 0px 0px 10px;border:0px">
                            <span class="" style="margin:0px;padding:0px;border:0px">result_code</span> <span class="" style="margin:0px;padding:0px;border:0px;font-weight:bold">=</span> <span class="" style="margin:0px;padding:0px;border:0px;font-weight:bold">-</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(0,153,153)">1</span></div>
<div class="" id="LC372" style="font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12.222222328186035px;line-height:17.77777862548828px;color:rgb(51,51,51);margin:0px;padding:0px 0px 0px 10px;border:0px">
<span class="" style="margin:0px;padding:0px;border:0px;color:rgb(0,153,153)"><br></span></div>In this part, given a 404 response, we should reset the variable result_code. If result_code is 0, reset it 404, 404 do nothing, and others set -1.</pre>
<pre style="margin-top:0px;margin-bottom:0px;padding:0px;border:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px;padding:0px;border:0px">What's the case for the "-1"?</pre><pre style="margin-top:0px;margin-bottom:0px;padding:0px;border:0px">
Furthermore, I simply think resp.status is sufficient condition to set result_code, so why these judgement need the result_code value in last loop (while attempts_left loop).</pre><pre style="margin-top:0px;margin-bottom:0px;padding:0px;border:0px">
<br></pre><pre style="margin-top:0px;margin-bottom:0px;padding:0px;border:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px;padding:0px;border:0px">Gareth</pre></div></div>