Comment 87 for bug 614742

Revision history for this message
Ken VanDine (ken-vandine) wrote :

They most likely do have negotiated deals to prevent the allocation problems. Regardless, I really want someone to be able to get official information on how the APIs count toward the allocation usage, our allocation should really be fine for our usage.

The API calls that are consistently way over our allocation is fql.query, which is an API that gives us the ability to query facebook with a similar syntax as SQL which helps narrow down the amount of data returned and also reduce the number of independent API calls. However, our fql queries have nested sub-queries, and I wonder if those count toward the allocation. Facebook's API docs suggest using fql.query or fql.multiquery whenever possible to reduce the data returned, so we should be doing the right thing there. For reference, our API calls for fql.query is consistently over 200% of our allocation with our number 2 API call always being around 1% of our allocation. In analyzing our requests, we make about 3 times as many fql.query calls as the other REST requests. So that percentage of allocation seems very skewed. I also wonder if there are bugs on facebook's side in calculating the allocation usage using the old REST API we are using. For Gwibber 3.0 I plan to move the facebook plugin to use their new graph API.

The worst thing about this bug is the nature of testing fixes, there is no way for me to try a fix and see what the results are. We have to push updates out to all of our users, and we have no way to ensure our users are upgrading gwibber. There is no way to tell which gwibber versions are out there and what versions are over-using the API. It is entirely possible that the previous fixes we have provided to Lucid users really are enough to fix the problem, but we just haven't had enough users upgrade gwibber to see the improvement.

We do know this problem started after the Lucid release, so most like the spike in Gwibber users cause by gwibber being included by default was the trigger. So clearly we need to get upgrades to all those users to see a difference, just no way of knowing how many upgraded. So trying new fixes is just stabbing in the dark. I haven't given up on chasing down someone from facebook to help explain it so we can ensure we are doing the right thing :)