New minor release 1.71.1 to fix REST API JSON issue
Dear colleagues, We have identified the cause of the REST API JSON issues some users have been experiencing. Details can be found on github: https://github.com/RIPE-NCC/whois/issues/114 We deployed a new minor version (1.71.1) of the RIPE Database software today at 17:15 (UTC +1) to fix this issue. Release notes can be found here: https://www.ripe.net/data-tools/db/release-notes Regards, Denis Walker Business Analyst RIPE NCC Database Team
On Thu, Feb 06, 2014 at 05:31:03PM +0100, Denis Walker wrote:
Dear colleagues,
We have identified the cause of the REST API JSON issues some users have been experiencing. Details can be found on github: https://github.com/RIPE-NCC/whois/issues/114
We deployed a new minor version (1.71.1) of the RIPE Database software today at 17:15 (UTC +1) to fix this issue.
Release notes can be found here: https://www.ripe.net/data-tools/db/release-notes
It seems that the JSON structure changed. The hierarchy was something like this: ['whois-resources']['objects']['object']['attributes']['attribute'] When you called an URL like this: https://rest.db.ripe.net/ripe/route-set/AS5580:RS-SHADOWSETS:RS-AS15562-AS-S... but 'whois-resources' has been popped from the tree? Did something get deprecated? My guess is that the behaviour changed because of this commit: https://github.com/RIPE-NCC/whois/commit/2c83a067d0e4794ecaba9232f9b0f66b6ae... Am I correct to assume that this change fixed https://github.com/RIPE-NCC/whois/issues/114 but at the same time introduced a new data model? Kind regards, Job
On Thu, Feb 06, 2014 at 06:53:14PM +0100, Job Snijders wrote:
On Thu, Feb 06, 2014 at 05:31:03PM +0100, Denis Walker wrote:
Dear colleagues,
We have identified the cause of the REST API JSON issues some users have been experiencing. Details can be found on github: https://github.com/RIPE-NCC/whois/issues/114
We deployed a new minor version (1.71.1) of the RIPE Database software today at 17:15 (UTC +1) to fix this issue.
Release notes can be found here: https://www.ripe.net/data-tools/db/release-notes
It seems that the JSON structure changed. <snip>
Looking at the logs breakage seems to have started on the fourth of feburary somewhere in the morning. I used ot be able to call mp-members in a route-set exposed through the JSON API like this: r.json()['whois-resources']['objects']['object']['attributes']['attribute'] But now I have to access them like this: r.json()['objects']['object'][0]['attributes']['attribute'] So the dictionary 'whois-resources' got popped and the object known as 'object' was converted from dictionary to a list? The effect is that some of my provisioning programs are broken now, and I don't know what the expected behaviour is right now, and will be tomorrow. Kind regards, Job
Dear Job, We’re looking into this issue right now and will let you know as soon as we have a fix available. Kind regards, Johan Åhlén Assistant Manager Database RIPE NCC On 06 Feb 2014, at 19:23, Job Snijders <job.snijders@hibernianetworks.com> wrote:
On Thu, Feb 06, 2014 at 06:53:14PM +0100, Job Snijders wrote:
On Thu, Feb 06, 2014 at 05:31:03PM +0100, Denis Walker wrote:
Dear colleagues,
We have identified the cause of the REST API JSON issues some users have been experiencing. Details can be found on github: https://github.com/RIPE-NCC/whois/issues/114
We deployed a new minor version (1.71.1) of the RIPE Database software today at 17:15 (UTC +1) to fix this issue.
Release notes can be found here: https://www.ripe.net/data-tools/db/release-notes
It seems that the JSON structure changed. <snip>
Looking at the logs breakage seems to have started on the fourth of feburary somewhere in the morning.
I used ot be able to call mp-members in a route-set exposed through the JSON API like this:
r.json()['whois-resources']['objects']['object']['attributes']['attribute']
But now I have to access them like this:
r.json()['objects']['object'][0]['attributes']['attribute']
So the dictionary 'whois-resources' got popped and the object known as 'object' was converted from dictionary to a list?
The effect is that some of my provisioning programs are broken now, and I don't know what the expected behaviour is right now, and will be tomorrow.
Kind regards,
Job
On Thu, Feb 06, 2014 at 08:03:05PM +0100, Johan Åhlén wrote:
We’re looking into this issue right now and will let you know as soon as we have a fix available.
Johan, one of your engineers reached out to me (thanks!) and it seems that I was using a legacy endpoint 'apps.db.ripe.net' instead of the new 'rest.db.ripe.net' URL. Although it was communicated that apps.db.ripe.net would be deprecated, starting with the 1.71 release, apps.db redirected to the new software, which might work for the majority of cases, but not all and this is what bit me. To all other readers: just stop using apps.db.ripe.net and expect two changes: - 'whois-resources' is not the root of JSON API results - any 'object' under 'objects' is not a JSON object but a JSON array RIPE DB ops: - it might be worth considering a versioning scheme for the schema which is communicated inside the JSON results like stat.ripe.net Have a good night! Kind regards, Job
participants (3)
-
Denis Walker
-
Job Snijders
-
Johan Åhlén