Activity log for bug #1183169

Date Who What changed Old value New value Message
2013-05-23 02:23:00 clayg bug added bug
2013-05-23 03:04:52 gholt swift: importance Undecided Critical
2013-05-23 03:05:00 gholt swift: status New Confirmed
2013-05-23 03:06:10 gholt bug added subscriber David Hadas
2013-05-23 04:27:33 clayg description If you asked for json, swift used to always return 200 with a valid json message body on GET /AUTH_acct - now it returns 204 if the account is empty. I think the previous behavior of returning 200 with an empty json list "[]" was better/more correct. Regardless it's an API change and should probably be treated as a regression. For example it breaks swift3. Unfortunately it's not a trivial fix, since there's no way to get the 200 out of the account servers' who were previously doing the light lifting of generating the valid json response unless you *actually* create the account. So I'ma guess we'll just half to add some accept-header/format-querystring parsing to whoever generates this spoofed response. What a mess. This is unrelated, but I'll mention it because it sort of surprised me. Every time I GET an empty uncreated account - swift has to ask every backend device (and handoffs) before it will return the spoofed 204. Swift always did this on the first request to an empty account, except then it would auto-create it, so on the second request it would return 204 after one back-end request. So until something actually uses the account swift is sort of chatty, but a 404 is cheap, just surprising... If you asked for json, swift used to always return 200 with a valid json message body on GET /AUTH_acct - now it returns 204 if the account is empty. I think the previous behavior of returning 200 with an empty json list "[]" was better/more correct. Regardless it's an API change and should probably be treated as a regression. For example it breaks swift3. Unfortunately it's not a trivial fix, since there's no way to get the 200 out of the account servers' who were previously doing the light lifting of generating the valid json response unless you *actually* create the account. So I'ma guess we'll just have to add some accept-header/format-querystring parsing to whoever generates this spoofed response. What a mess. This is unrelated, but I'll mention it because it sort of surprised me. Every time I GET an empty uncreated account - swift has to ask every backend device (and handoffs) before it will return the spoofed 204. Swift always did this on the first request to an empty account, except then it would auto-create it, so on the second request it would return 204 after one back-end request. So until something actually uses the account swift is sort of chatty, but a 404 is cheap, just surprising...
2013-05-25 00:23:17 Samuel Merritt swift: assignee Samuel Merritt (torgomatic)
2013-05-28 22:00:32 OpenStack Infra swift: status Confirmed In Progress
2013-06-04 13:58:40 OpenStack Infra swift: status In Progress Fix Committed
2013-06-24 05:06:34 John Dickinson swift: milestone 1.9.0
2013-06-26 10:17:02 Thierry Carrez swift: status Fix Committed Fix Released