Task Creation failing at a high rate since 1.5 pre release

104 views
Skip to first unread message

nischalshetty

unread,
May 4, 2011, 10:55:31 AM5/4/11
to google-a...@googlegroups.com
Hi, 

I'm seeing a lot of task failures after the announcement of the pre release 1.5 sdk. I haven't changed my sdk (I'm on 1.4.2 java sdk for gae).  Tasks are very critical to my application. My app creates a lot of tasks every minute. Can you please look into this?

Here's the stack trace : 


  • com.google.appengine.api.taskqueue.TransientFailureException: Unknown
    	at com.google.appengine.api.taskqueue.QueueApiHelper.translateError(QueueApiHelper.java:58)
    	at com.google.appengine.api.taskqueue.QueueApiHelper.translateError(QueueApiHelper.java:112)
    	at com.google.appengine.api.taskqueue.QueueApiHelper.makeSyncCall(QueueApiHelper.java:32)
    	at com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:466)
    	at com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:412)
    	at com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:397)
    	
    	at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:616)
    	at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_$1.run(Method_.java:165)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.privilegedInvoke(Method_.java:163)
    	at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke_(Method_.java:124)
    	at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke(Method_.java:43)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
    	
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
    	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
    	at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48)
    	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:184)
    	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:83)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:207)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:74)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:127)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:107)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:206)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    <continued in next message>
  • E 2011-05-04 07:48:34.992
    <continued from previous message>
    at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:115)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:143)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:121)
    	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:170)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:123)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
    	at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
    	at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    	at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50)
    	at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:504)
    	at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
    	at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
    	at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
    	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:97)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    	at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:326)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
    	at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    	at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135)
    	at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:260)
    	at com.google.apphosting.base.RuntimePb$EvaluationRuntime$2.handleRequest(RuntimePb.java:9669)
    	at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:439)
    	at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:573)
    	at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:448)
    	at com.google.tracing.TraceContext.runInContext(TraceContext.java:688)
    	at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:326)
    	at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:318)
    	at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:446)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    	at java.lang.Thread.run(Thread.java:636)

Ice13ill

unread,
May 4, 2011, 12:31:13 PM5/4/11
to Google App Engine
I get this exception too... It seams that there is a problem when
adding tasks to a queue ?

On May 4, 5:55 pm, nischalshetty <nischalshett...@gmail.com> wrote:
> Hi,
>
> I'm seeing a lot of task failures after the announcement of the pre release
> 1.5 sdk. I haven't changed my sdk (I'm on 1.4.2 java sdk for gae).  Tasks
> are very critical to my application. My app creates a lot of tasks every
> minute. Can you please look into this?
>
> Here's the stack trace :
>
> com.google.appengine.api.taskqueue.TransientFailureException: Unknown
>         at com.google.appengine.api.taskqueue.QueueApiHelper.translateError(QueueApiHe lper.java:58)
>         at com.google.appengine.api.taskqueue.QueueApiHelper.translateError(QueueApiHe lper.java:112)
>         at com.google.appengine.api.taskqueue.QueueApiHelper.makeSyncCall(QueueApiHelp er.java:32)
>         at com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:466)
>         at com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:412)
>         at com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:397)
>
>         at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp l.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:616)
>         at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.M ethod_$1.run(Method_.java:165)
>         at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocat ion.java:221)
>         at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle r.java:1157)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
>         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>         at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionH andlerMap.java:238)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>         at org.mortbay.jetty.Server.handle(Server.java:326)
>         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnecti on.java:923)
>         at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequ estParser.java:76)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>         at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceReques t(JettyServletEngineAdapter.java:135)
>         at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:26 0)
>         at com.google.apphosting.base.RuntimePb$EvaluationRuntime$2.handleRequest(Runt imePb.java:9669)
>         at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:439)
>         at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:573)
>         at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.jav a:448)
>         at com.google.tracing.TraceContext.runInContext(TraceContext.java:688)
>         at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInherited ContextNoUnref(TraceContext.java:326)
>         at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInherited Context(TraceContext.java:318)

Robert Kluin

unread,
May 4, 2011, 12:47:46 PM5/4/11
to google-a...@googlegroups.com
I've seen a few bursts of transient errors on a couple Python apps as
well. They seemed to have cleared up for me though.

What percentage of task adds are giving errors?

Robert

> --
> You received this message because you are subscribed to the Google Groups "Google App Engine" group.
> To post to this group, send email to google-a...@googlegroups.com.
> To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
>
>

Andrei Cosmin Fifiiţă

unread,
May 4, 2011, 12:55:30 PM5/4/11
to google-a...@googlegroups.com
I still get these errors... I can't say its a high percentage, but
it's a significant rate.

Anders

unread,
May 4, 2011, 1:01:57 PM5/4/11
to Google App Engine
Same problem here, also getting:
DeadlineExceededError: The API call taskqueue.BulkAdd() took too long
to respond and was cancelled.

Have been going on all day with about the same frequency (mostly
TransientErrors that is)

On 4 Maj, 18:55, Andrei Cosmin Fifiiţă <andrei.fifi...@gmail.com>
wrote:
> I still get these errors... I can't say its a high percentage, but
> it's a significant rate.
>
> On 4 May 2011 19:47, Robert Kluin <robert.kl...@gmail.com> wrote:
>
>
>
> > I've seen a few bursts of transient errors on a couple Python apps as
> > well. They seemed to have cleared up for me though.
>
> > What percentage of task adds are giving errors?
>
> > Robert
>
> >>> <continued in next message>...
>
> läs mer >>

Greg Darke (Google)

unread,
May 4, 2011, 1:52:28 PM5/4/11
to google-a...@googlegroups.com
We are looking into this issue.

PK

unread,
May 4, 2011, 2:26:56 PM5/4/11
to Google App Engine
Same problem this morning. Here is the traceback I see:

Task failed to be added to queue
Traceback (most recent call last):
File "/base/data/home/apps/XXXXX/1-5-6.350136996983844962/swplatform/
util/ctl/generic_handler.py", line 637, in do_domain
queue.add(tsk, transactional = self.transactional())
File "/base/python_runtime/python_lib/versions/1/google/appengine/
api/taskqueue/taskqueue.py", line 1120, in add
self.__AddTasks(tasks, transactional,
self.__FillAddPushTasksRequest)
File "/base/python_runtime/python_lib/versions/1/google/appengine/
api/taskqueue/taskqueue.py", line 1163, in __AddTasks
raise self.__TranslateError(e.application_error, e.error_detail)
TransientError

Is it worth changing the code to retry such issues? I ll attempt it
anyway.

PK
http://www.gae123.com

Andrei Cosmin Fifiiţă

unread,
May 4, 2011, 2:28:57 PM5/4/11
to google-a...@googlegroups.com
I think it will work... Retry about 5 times (eventually a few seconds
between retries) will probably help.

nischalshetty

unread,
May 4, 2011, 9:13:33 PM5/4/11
to google-a...@googlegroups.com
Yeah, retrying works. But, this was never needed till the new release of 1.5 was announced. My suspicion is on that (btw, some major changes to task queues on the way with the 1.5 release, exciting times ahead).

Anyways, as @Greg has mentioned here, it's a relief to know that someone from Google is looking into this. Hoping things get sorted out soon.

Andrei Cosmin Fifiiţă

unread,
May 5, 2011, 7:04:41 AM5/5/11
to google-a...@googlegroups.com
I encountered another problem. I seamed that when a task was added to
my task queue, it was added three or four times. (i believe this
happened a few times). For example: at a certain action, a task is
created: this task generates a document (based on some processing)
delivers an email an then records some data. If the task is created 3
times (although it was added once), it's not good.
Is there a way to detect this problem ?

> --
> You received this message because you are subscribed to the Google Groups

> "Google App Engine" group.I

Ravi Sharma

unread,
May 5, 2011, 7:08:44 AM5/5/11
to google-a...@googlegroups.com
i am having the same problem....


2011/5/5 Andrei Cosmin Fifiiţă <andrei....@gmail.com>

Robert Kluin

unread,
May 5, 2011, 11:04:42 AM5/5/11
to google-a...@googlegroups.com
Hi Andrei,
You should name your tasks so you don't insert the same task
multiple times. Also, remember all tasks should be idempotent -- they
will occasionally run multiple times. Once way to accomplish this is
using a 'marker' of some type so you can detect if the task has
already run.

http://code.google.com/appengine/docs/python/taskqueue/overview.html#Task_Execution

Robert

2011/5/5 Andrei Cosmin Fifiiţă <andrei....@gmail.com>:

Reply all
Reply to author
Forward
0 new messages