wsharba / opendatakit

Automatically exported from code.google.com/p/opendatakit
0 stars 1 forks source link

RequestFailureException when trying to publish to Fusion Tables or Spreadsheet #1041

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Try to publish form results to either FusionTables or Spreadsheet

What is the expected output? What do you see instead?
I expect some sort of confirmation that publishing has been successful. 
Instead, I get the following pop-up: "Error: RequestFailureException 
(java.io.IOException: toDerInputStream rejects tag type 123)"

What version of the product are you using? On what operating system?
Aggregate 1.4.3 on Google's App Engine linked to a @gmail.com account; Windows; 
and I just updated Java.

Please provide any additional information below.
As a complete beginner I followed the instructions at 
http://opendatakit.org/use/aggregate/oauth2-service-account/. Attached is the 
XML of the form I was attempting to publish.

Original issue reported on code.google.com by kcurr...@gmail.com on 9 Aug 2014 at 6:41

Attachments:

GoogleCodeExporter commented 9 years ago
Wow. Seems like it is related to this: 
http://stackoverflow.com/questions/22525388/push-notification-caused-by-java-io-
ioexception-toderinputstream-rejects-tag

Plesae upgrade to ODK Aggregate 1.4.4 https://opendatakit.org/downloads/

There were numerous support library updates that may have fixed this issue 
(Google is deprecating a number of APIs that might have been referenced in the 
older libraries).

Original comment by mitchellsundt@gmail.com on 16 Oct 2014 at 10:57

GoogleCodeExporter commented 9 years ago
Thanks for looking into this. I updated to ODK Aggregate 1.4.4 and set up a
new project using a different Google account. Now, when I try to publish to
Fusion Tables I get a different error:

Error: RequestFailureException
(com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 {
"code" : 403, "errors" : [ { "domain" : "usageLimits", "message" : "Rate
limit exceeded. User message: \"Sorry, you have exceeded your sharing
quota.\"", "reason" : "userRateLimitExceeded" } ], "message" : "Rate limit
exceeded. User message: \"Sorry, you have exceeded your sharing quota.\"" })

Any suggestions?

Original comment by kcurr...@gmail.com on 18 Dec 2014 at 1:10

GoogleCodeExporter commented 9 years ago
I suppose that is progress (?).

Is this happening when you first create the publisher?

Once created, the publisher will periodically fail with this error and will 
then sleep and resume later. If you have many publishers set up, it may be that 
collectively you are placing a load on Fusion Tables that triggers this limit 
even while you are constructing the new publisher, causing the setting-up of 
the fusion table to fail (haven't exercised that failure case myself, but it 
seems plausible that you could).

If that scenario doesn't seem to apply, then see work-around #2, below.

There are two potential work-arounds for this:

-------1-------------
---From Google:

The default request quota limits are the following:

    25,000 requests per day per API project, where reads count as one request and writes count as five requests.
    30 write requests per minute per table

You may request more quota at the Google APIs Console under the "Quotas" tab.

The storage quota limits are:

    100 MB per table
    250 MB total among all your tables

--- So, you could try to increase your quota by going to your developer console 
via
https://console.developers.google.com/project
choosing your application id, and trying to adjust the quota.

-----------2---------------
A temporary work-around for this is to go to the Site Admin / Preferences page, 
and check the 

"Disable faster background actions (exports, publishing, form deletion) (slows 
quota usage on Google AppEngine)"

checkbox. 

This slows down the background publishing. This can also eliminate publishing 
snafus that could be thrashing the system (indicated by a high consumption of 
background processor time). 

With it checked, you should be able to create a new Fusion Table publisher 
without getting that over-quota error.

Then, once you have set up your set of Fusion Table publishers, you can uncheck 
that checkbox. If you do that, you should monitor your error logs for the 
background module to see if it is experiencing a lot of those errors. If it is, 
leave this box checked.

Original comment by mitchellsundt@gmail.com on 18 Dec 2014 at 2:17