Batch Job Download Url was null (Java)

62 views
Skip to first unread message

Biniam Asnake

unread,
Feb 25, 2016, 11:33:50 AM2/25/16
to AdWords API Forum
Hello,

I am getting this error a lot of times when I retrieve the status of a batch job.

Because of the number of errors I am getting and have to deal with, I am finally thinking the BatchJobService is not as stable as the old MutateJobService.

Please help.

java.lang.RuntimeException: Error retrieving the batch job result, Batch Job Download Url was null. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:232) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:244) at com.bonial.megan.helpers.BatchProcessingServiceHelper.retrieveMutateResults(BatchProcessingServiceHelper.groovy:278) at com.bonial.megan.helpers.BatchProcessingServiceHelper$retrieveMutateResults$39.callStatic(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:53) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:191) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:203) at com.bonial.megan.services.BatchProcessingService.handleCanceledBatchJob(BatchProcessingService.groovy:234) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:207) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:56) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171) at com.bonial.megan.services.BatchProcessingService.handleBatchJobCompletionStatus(BatchProcessingService.groovy:94) at com.bonial.megan.services.BatchProcessingService$handleBatchJobCompletionStatus$17.call(Unknown Source) at com.bonial.megan.execution.actors.stateChange.mutate.StateChangeStatusCheckerActor.onReceiveBody(StateChangeStatusCheckerActor.groovy:30) at com.bonial.megan.execution.actors.stateChange.mutate.StateChangeStatusCheckerActor$onReceiveBody.callCurrent(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49) at com.bonial.megan.execution.actors.stateChange.mutate.StateChangeStatusCheckerSupervisor$onReceiveBody.callCurrent(Unknown Source) at com.bonial.megan.execution.actors.AbstractActor.onReceive(AbstractActor.groovy:41) at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167) at akka.actor.Actor$class.aroundReceive(Actor.scala:465) at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka.actor.ActorCell.invoke_aroundBody0(ActorCell.scala:487) at akka.actor.ActorCell$AjcClosure1.run(ActorCell.scala:1) at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149) at akka.kamon.instrumentation.ActorCellInstrumentation$$anonfun$aroundBehaviourInvoke$1.apply(ActorCellInstrumentation.scala:62) at kamon.trace.Tracer$.withContext(TracerModule.scala:57) at akka.kamon.instrumentation.ActorCellInstrumentation.aroundBehaviourInvoke(ActorCellInstrumentation.scala:61) at akka.actor.ActorCell.invoke(ActorCell.scala:483) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254) at akka.dispatch.Mailbox.run(Mailbox.scala:221) at akka.dispatch.Mailbox.exec(Mailbox.scala:231) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 2016-02-25 17:21:39,090 [AdwordsJobExecutor-akka.actor.default-dispatcher-5] ERROR StackTrace.apply$mcV$sp([...]) at Line 66 Full Stack Trace:

Michael Cloonan (AdWords API Team)

unread,
Feb 25, 2016, 1:08:14 PM2/25/16
to AdWords API Forum
Hello,

The downloadUrl is expected to be null while the batch job is still processing, or is canceled. It looks like you may have code on your end that assumes that field will exist even when there are cases that it shouldn't.

Can you provide the actual SOAP response from the API so we can take a look at the current status of the batch job at the time?

Regards,
Mike, AdWords API Team


On Thursday, February 25, 2016 at 11:33:50 AM UTC-5, Biniam Asnake wrote:
Hello,

I am getting this error a lot of times when I retrieve the status of a batch job.

Because of the number of errors I am getting and have to deal with, I am finally thinking the BatchJobService is not as stable as the old MutateJobService.

Please help.

java.lang.RuntimeException: Error retrieving the batch job result, Batch Job Download Url was null. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:232) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:244) at com.bonial.megan.helpers.BatchProcessingServiceHelper.retrieveMutateResults(BatchProcessingServiceHelper.groovy:278) at com.bonial.megan.helpers.BatchProcessingServiceHelper$retrieveMutateResults$39.callStatic(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:53) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:191) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:203) at com.bonial.megan.services.BatchProcessingService.handleCanceledBatchJob(BatchProcessingService.groovy:234) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:207) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:56) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171) at com.bonial.megan.services.BatchProcessingService.handleBatchJobCompletionStatus(BatchProcessingService.groovy:94) at com.bonial.megan.services.BatchProcessingService$handleBatchJobCompletionStatus$17.call(Unknown Source) at com.bonial.megan.execution.actors.stateChange.mutate.StateChangeStatusCheckerActor.onReceiveBody(StateChangeStatusCheckerActor.groovy:30) at com.bonial.megan.execution.actors.stateChange.mutate.StateChangeStatusCheckerActor$onReceiveBody.callCurrent(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49) at com.bonial.megan.execution.actors.stateChange.mutate.StateChangeStatusCheckerSupervisor$onReceiveBody.callCurrent(Unknown Source) at com.bonial.megan.execution.actors.AbstractActor.onReceive(AbstractActor.groovy:41) at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(
...

Biniam Asnake

unread,
Mar 3, 2016, 4:42:24 AM3/3/16
to AdWords API Forum
OK. The good point I got is to retry the operation if the `downloadUrl` is null.

Biniam Asnake

unread,
Apr 28, 2016, 8:37:46 AM4/28/16
to AdWords API Forum
Hello,

This issue happened again and again today starting 12:00 AM (Berlin time) repeatedly in my different environments.

I will send the account IDs in a private email immediately.

Biniam Asnake

unread,
Apr 28, 2016, 8:37:57 AM4/28/16
to AdWords API Forum


On Thursday, February 25, 2016 at 5:33:50 PM UTC+1, Biniam Asnake wrote:
Hello,

I am getting this error a lot of times when I retrieve the status of a batch job.

Because of the number of errors I am getting and have to deal with, I am finally thinking the BatchJobService is not as stable as the old MutateJobService.

Please help.

java.lang.RuntimeException: Error retrieving the batch job result, Batch Job Download Url was null. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:232) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:244) at com.bonial.megan.helpers.BatchProcessingServiceHelper.retrieveMutateResults(BatchProcessingServiceHelper.groovy:278) at com.bonial.megan.helpers.BatchProcessingServiceHelper$retrieveMutateResults$39.callStatic(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:53) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:191) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:203) at com.bonial.megan.services.BatchProcessingService.handleCanceledBatchJob(BatchProcessingService.groovy:234) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:207) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:56) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171) at com.bonial.megan.services.BatchProcessingService.handleBatchJobCompletionStatus(BatchProcessingService.groovy:94) at com.bonial.megan.services.BatchProcessingService$handleBatchJobCompletionStatus$17.call(Unknown Source) at com.bonial.megan.execution.actors.stateChange.mutate.StateChangeStatusCheckerActor.onReceiveBody(StateChangeStatusCheckerActor.groovy:30) at com.bonial.megan.execution.actors.stateChange.mutate.StateChangeStatusCheckerActor$onReceiveBody.callCurrent(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49) at com.bonial.megan.execution.actors.stateChange.mutate.StateChangeStatusCheckerSupervisor$onReceiveBody.callCurrent(Unknown Source) at com.bonial.megan.execution.actors.AbstractActor.onReceive(AbstractActor.groovy:41) at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(
...

Michael Cloonan (AdWords API Team)

unread,
Apr 28, 2016, 11:20:35 AM4/28/16
to AdWords API Forum
Hello,

I never received a private email. However, the issue you were having before was an expected case since the downloadUrl can be null in some circumstances.

Is it a new issue you are facing?

Regards,
Mike, AdWords API Team
Reply all
Reply to author
Forward
0 new messages