Content API Service Disruption

29 views
Skip to first unread message

Michael Brunton-Spall

unread,
Jul 6, 2011, 7:44:21 AM7/6/11
to Guardian API Talk
Hello all,

As you may have noticed, the Wordpress plugin and possibly some of your applications have been affected by some unexpected service disruption issues since last night (approximately 16:00 BST).

This was caused by our rollout of the new codebase (build 896) last night and some unexpected issues with certain specific types of request.
We have now rolled back to the previous version (build 892), and service should have returned to normal.

The issues in detail

Firstly, the old codebase was more forgiving of invalid url parameters than the new one.  The Wordpress plugin has an unfortunate issue where it builds a query against the api with all the parameters that it might need regardless of whether it will use them.  So while we suggest that you conduct a default search against the api by hitting 


The Wordpress plugin constructs a url that looks like 


The presence of the empty page parameter (amongst others) was considered by the new system to be an error, and the appropriate json error response was returned  "{"response":{"status":"error","message":"page must be an integer"}}".  
To further complicate issues, the wordpress plugin also does not validate the responses that it gets back from the API and ensure that it got a successful response and so it was giving a very generic error message telling you that your API key was no longer valid.
Rolling back should have fixed this problem, and we are working on fixing this issue at both ends.  
The next build of the content-api will correctly interpret an empty value as requesting a suitable default, exactly as if you had left it off, and we will be updating the wordpress plugin to correctly build it's query string so as to not include empty keys, and to validate the response and return the error code reported by the API up to the user.

The second issue may have affected a small subset of you who have built your own application and were calling a specific url, content.guardianapis.com/.json or content.guardianapis.com/.xml
It seems that our conversion code did not handle this rather unique url correctly, and would return a failure back to the client.
If you used either the query parameter format, or as modeled by our Scala API, the Accept header, then you would have got a correct response, and your application would have continued to work as normal.

We apologise for any issue that this may have caused you, and we are taking steps to ensure that these urls are added to our test framework to ensure that we cannot release code that regresses these issues again.

Michael Brunton-Spall
Developer Advocate
guardian.co.uk
Please consider the environment before printing this email.
------------------------------------------------------------------
Visit guardian.co.uk - newspaper of the year
www.guardian.co.uk  www.observer.co.uk
 
The Guardian Public Services Awards 2011, in partnership with Hays,
recognise and reward outstanding performance from public, private and
voluntary sector teams. 
To find out more and to nominate a deserving team or individual, 
visit www.guardian.co.uk/publicservicesawards. Entries close 15 July.
 
On your mobile, visit m.guardian.co.uk or download the Guardian
iPhone app www.guardian.co.uk/iphone
 
To save up to 30% when you subscribe to the Guardian and the Observer
visit www.guardian.co.uk/subscriber 
---------------------------------------------------------------------
This e-mail and all attachments are confidential and may also
be privileged. If you are not the named recipient, please notify
the sender and delete the e-mail and all attachments immediately.
Do not disclose the contents to another person. You may not use
the information for any purpose, or store, or copy, it in any way.
 
Guardian News & Media Limited is not liable for any computer
viruses or other material transmitted with or as part of this
e-mail. You should employ virus checking software.

Guardian News & Media Limited

A member of Guardian Media Group plc
Registered Office
PO Box 68164
Kings Place
90 York Way
London
N1P 2AP

Registered in England Number 908396

Graham Tackley

unread,
Jul 8, 2011, 4:20:42 AM7/8/11
to Guardian API Talk
Please accept my apologies as well for any disruption caused.

The changes we made in build 896 are important for us to be able to
continue to improve and enhance the content API. However, we're
improving our process of checking historical compatibility before we
attempt again to release this new codebase, so we don't expect this
happen until late next week at the earliest now. We'll notify this
list again before and after the next release.

In case you are interested, you can always tell what version of the
content api is running by checking the X-Content-Api-Build response
header:

$ curl -i http://content.guardianapis.com/search.json
HTTP/1.1 200 OK
...
X-Content-Api-Build: 892
...

Graham Tackley
Platform Team Lead
guardian.co.uk


On Jul 6, 12:44 pm, Michael Brunton-Spall <michael.brunton-
sp...@guardian.co.uk> wrote:
> Hello all,
>
> As you may have noticed, the Wordpress plugin and possibly some of your
> applications have been affected by some unexpected service disruption issues
> since last night (approximately 16:00 BST).
>
> This was caused by our rollout of the new codebase (build 896) last night
> and some unexpected issues with certain specific types of request.
> We have now rolled back to the previous version (build 892), and service
> should have returned to normal.
>
> The issues in detail
>
> Firstly, the old codebase was more forgiving of invalid url parameters than
> the new one.  The Wordpress plugin has an unfortunate issue where it builds
> a query against the api with all the parameters that it might need
> regardless of whether it will use them.  So while we suggest that you
> conduct a default search against the api by hitting
>
> http://content.guardianapis.com/search?q=wordpress&show-fields=headli...
>
> The Wordpress plugin constructs a url that looks like
>
> http://content.guardianapis.com/search?&api-key=APIKEY&q=wordpress&ta...
> Visit guardian.co.uk - newspaper of the yearwww.guardian.co.uk www.observer.co.uk
>
> The Guardian Public Services Awards 2011, in partnership with Hays,
> recognise and reward outstanding performance from public, private and
> voluntary sector teams.
> To find out more and to nominate a deserving team or individual,
> visitwww.guardian.co.uk/publicservicesawards. Entries close 15 July.
Reply all
Reply to author
Forward
0 new messages