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(U­nknown
> > > Source)
> > >  at
> > > com.google.gdata.client.appsforyourdomain.AppsForYourDomainService.insert(U­nknown
> > > 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(U­nknown
> > > 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to