Matt, Thanks for validating one of my observed error types and for the pragmantic advice.
I am new to Java and network service programming so it helps a lot to know what the state of play is. However, since I am using a library of vendor provided subroutine calls it seems appropriate that any retry logic necessitated by network reliability issues should be embedded in those subroutines. cheers, -doug On May 5, 9:51 am, Matt <[EMAIL PROTECTED]> wrote: > Hi Doug, > > Although I do not have experience with the AuthenticationException and > ResourceNotFoundException, I have noticed intermittent > UnknownError(1000) issues at a rate of maybe 1 for every 10,000 > requests. It might seem rare, but when making hundreds of thousands > of API calls, it was enough for me to code around it. Not to mention, > it's good to have a workaround for those strange network errors that > always creep up when calling any service over the Internet. > > In general, I wrapped all my Google API calls with a utility function > that will pause and retry a few times if there is a failure. > Unfortunately, I'm not much of a Java programmer, but I'm sure a > similar solution is possible for you. > > Hope this helps, > Matt > > On May 5, 9:18 am, "Julian (Google)" <[EMAIL PROTECTED]> wrote: > > > > > Hi, > > > The problem could be that you are creating too many threads and the > > Captcha or other errors show up. > > > To help us troubleshoot, please submit a support request with > > information on how we can reproduce the problem. Instructions on how > > to submit a support request are in the domain account information > > section of the control panel. > > > Julian > > > On May 2, 9:58 am, piperspace <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > I wrote a Java App to synchronize an internal list of about 2,000 high > > > school students with Gmail. > > > > I am now in the process of volume testing and I am experiencing > > > intermittent errors in the provisoning API. > > > > I have seen three error types: UnknownError(1000), > > > AuthenticationException, and ResourceNotFoundException. See examples > > > below. > > > > In each case my program is able to continue and subsequent service > > > requests complete OK. > > > > The program authenticates in its main UI thread creating a UserEntry > > > object which is declared static. It then farms out the remaining work > > > to a single background thread which is passed a list of Accounts to be > > > created or suspended. For ease of testing I have also added a bit of > > > code that alternately suspends and then restores a single well known > > > user 1000 times in the background thread. In each case I get errors > > > after the thread has run for 10 minutes or longer but then it coninues > > > OK. > > > > Can anyone offer any insight or assistance in tracking down why this > > > is happening and what I can do to avoid it? > > > > Thanks, > > > > -Doug Piper > > > > ----------------------------------------------------------------------------------------------------------- > > > INFO: Creating user 'ZZZLIANG4970'. Given Name: 'TENGDAN ' > > > Family Name: 'ZZZLIANG '. > > > Apr 29, 2008 6:08:17 PM Goosync.Goosync forceUserToChangePassword > > > INFO: Requiring ZZZLIANG4970 to change password at next login. > > > Apr 29, 2008 6:08:18 PM Goosync.Goosync createUser > > > INFO: Creating user 'ZZZLIANG5201'. Given Name: 'CINDY ' > > > Family Name: 'ZZZLIANG '. > > > Apr 29, 2008 6:08:20 PM Goosync.Goosync$Worker doCreates > > > SEVERE: null > > > UnknownError(1000): > > > at > > > com.google.gdata.data.appsforyourdomain.AppsForYourDomainException.narrow(Unknown > > > Source) > > > at > > > com.google.gdata.client.appsforyourdomain.AppsForYourDomainService.insert(Unknown > > > Source) > > > at Goosync.Goosync.createUser(Goosync.java:1014) > > > at Goosync.Goosync$Worker.doCreates(Goosync.java:1305) > > > at Goosync.Goosync$Worker.doInBackground(Goosync.java:1229) > > > at Goosync.Goosync$Worker.doInBackground(Goosync.java:1217) > > > at javax.swing.SwingWorker$1.call(Unknown Source) > > > at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) > > > at java.util.concurrent.FutureTask.run(Unknown Source) > > > at javax.swing.SwingWorker.run(Unknown Source) > > > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown > > > Source) > > > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > > > at java.lang.Thread.run(Unknown Source) > > > Apr 29, 2008 6:08:20 PM Goosync.Goosync createUser > > > INFO: Creating user 'ZZZLIANG7200'. Given Name: 'CARRIE ' > > > Family Name: 'ZZZLIANG '. > > > Apr 29, 2008 6:08:24 PM Goosync.Goosync forceUserToChangePassword > > > INFO: Requiring ZZZLIANG7200 to change password at next login. > > > Apr 29, 2008 6:08:26 PM Goosync.Goosync createUser > > > INFO: Creating user 'ZZZLIANG7441'. Given Name: 'CAIJIAO ' > > > Family Name: 'ZZZLIANG > > > --------------------------------------------------------------------------------------------------------------- > > > Apr 30, 2008 10:10:29 AM Goosync.Goosync suspendUser > > > INFO: Suspending user 'ZZZZENG3854'. > > > Apr 30, 2008 10:10:33 AM Goosync.Goosync$Worker doSuspends > > > SEVERE: null > > > com.google.gdata.util.ServiceForbiddenException: You are not > > > authorized to access this API. > > > <HTML> > > > <HEAD> > > > <TITLE>You are not authorized to access this API.</TITLE> > > > </HEAD> > > > <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> > > > <H1>You are not authorized to access this API.</H1> > > > <H2>Error 403</H2> > > > </BODY> > > > </HTML> > > > at > > > com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(Unknown > > > Source) > > > at > > > com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(Unknown > > > Source) > > > at > > > com.google.gdata.client.http.HttpGDataRequest.checkResponse(Unknown > > > Source) > > > at com.google.gdata.client.http.HttpGDataRequest.execute(Unknown > > > Source) > > > at com.google.gdata.client.http.GoogleGDataRequest.execute(Unknown > > > Source) > > > at com.google.gdata.client.Service.getEntry(Unknown Source) > > > at com.google.gdata.client.GoogleService.getEntry(Unknown Source) > > > at > > > com.google.gdata.client.appsforyourdomain.AppsForYourDomainService.getEntry(Unknown > > > Source) > > > at com.google.gdata.client.Service.getEntry(Unknown Source) > > > at > > > com.google.gdata.client.appsforyourdomain.AppsForYourDomainService.getEntry(Unknown > > > Source) > > > at Goosync.Goosync.suspendUser(Goosync.java:1060) > > > at Goosync.Goosync$Worker.doSuspends(Goosync.java:1345) > > > at Goosync.Goosync$Worker.doInBackground(Goosync.java:1231) > > > at Goosync.Goosync$Worker.doInBackground(Goosync.java:1217) > > > at javax.swing.SwingWorker$1.call(Unknown Source) > > > at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) > > > at java.util.concurrent.FutureTask.run(Unknown Source) > > > at javax.swing.SwingWorker.run(Unknown Source) > > > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown > > > Source) > > > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > > > at java.lang.Thread.run(Unknown Source) > > > Apr 30, 2008 10:10:33 AM Goosync.Goosync suspendUser > > > INFO: Suspending user 'ZZZZENG4215'. > > > Apr 30, 2008 10:10:35 AM Goosync.Goosync suspendUser > > > INFO: Suspending user 'ZZZZENG5457'. > > > Apr 30, 2008 10:10:37 AM Goosync.Goosync suspendUser > > > INFO: Suspending user 'ZZZZENG6073'. > > > Apr 30, 2008 10:10:39 AM Goosync.Goosync suspendUser > > > INFO: Suspending user 'ZZZZENG6844'. > > > Apr 30, 2008 10:10:42 AM Goosync.Goosync suspendUser > > > INFO: Suspending user 'ZZZZENG8204'. > > > Apr 30, 2008 10:10:47 AM Goosync.Goosync$Worker doSuspends > > > SEVERE: null > > > com.google.gdata.util.AuthenticationException: Internal exception > > > <HTML> > > > <HEAD> > > > <TITLE>Internal exception</TITLE> > > > </HEAD> > > > <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> > > > <H1>Internal exception</H1> > > > <H2>Error 401</H2> > > > </BODY> > > > </HTML> > > > at > > > com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(Unknown > > > Source) > > > at > > > com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(Unknown > > > Source) > > > at > > > com.google.gdata.client.http.HttpGDataRequest.checkResponse(Unknown > > > Source) > > > at com.google.gdata.client.http.HttpGDataRequest.execute(Unknown > > > Source) > > > at com.google.gdata.client.http.GoogleGDataRequest.execute(Unknown > > > Source) > > > at com.google.gdata.client.Service.update(Unknown Source) > > > at com.google.gdata.client.GoogleService.update(Unknown Source) > > > at > > > com.google.gdata.client.appsforyourdomain.AppsForYourDomainService.update(Unknown > > > Source) > > > at Goosync.Goosync.suspendUser(Goosync.java:1065) > > > at Goosync.Goosync$Worker.doSuspends(Goosync.java:1345) > > > at Goosync.Goosync$Worker.doInBackground(Goosync.java:1231) > > > at Goosync.Goosync$Worker.doInBackground(Goosync.java:1217) > > > at javax.swing.SwingWorker$1.call(Unknown Source) > > > at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) > > > at java.util.concurrent.FutureTask.run(Unknown Source) > > > at javax.swing.SwingWorker.run(Unknown Source) > > > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown > > > Source) > > > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > > > at java.lang.Thread.run(Unknown Source) > > > Apr 30, 2008 10:10:47 AM Goosync.Goosync suspendUser > > > INFO: Suspending user 'ZZZZENG9983'. > > > Apr 30, 2008 10:10:49 AM Goosync.Goosync suspendUser > > > INFO: Suspending user 'ZZZZHANG1767'. > > > Apr 30, 2008 10:10:51 AM Goosync.Goosync suspendUser > > > INFO: Suspending user 'ZZZZHANG2515'. > > > ------------------------------------------------------------------------------------------------------------------ > > > INFO: Suspending user 'Zombie'. > > > May 1, 2008 5:19:48 PM Goosync.Goosync restoreUser > > > INFO: Restoring user 'Zombie'. > > > May 1, 2008 5:19:50 PM Goosync.Goosync suspendUser > > > INFO: Suspending user 'Zombie'. > > > May 1, 2008 5:19:54 PM Goosync.Goosync$Worker doDeletes > > > SEVERE: null > > > com.google.gdata.util.ResourceNotFoundException: Not Found > > > <HTML> > > > <HEAD> > > > <TITLE>Not Found</TITLE> > > > </HEAD> > > > <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> > > > <H1>Not Found</H1> > > > <H2>Error 404</H2> > > ... > > read more »- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Apps APIs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-apps-apis?hl=en -~----------~----~----~----~------~----~------~--~---
