Skip to content

Publish fail: Request threads can only be created within the context of a running request #2058

@gzc

Description

@gzc

Hi, I am using appEngine flexible environment with Java8. I am using pubsub0.17.1-alpha. When publishing, I will have this exception. I tried to run publish in a background thread but things are still same.

Following is the exception stack

WARNING: [io.grpc.internal.ManagedChannelImpl-1] 
Failed to resolve name. status=Status{code=UNKNOWN, description=null, cause=java.lang.IllegalStateException: Request threads can only be created within the context of a running request. 
at com.google.appengine.repackaged.com.google.common.base.Preconditions.checkState(Preconditions.java:449) 
at com.google.apphosting.vmruntime.VmRequestThreadFactory.newThread(VmRequestThreadFactory.java:73)
at com.google.common.util.concurrent.ThreadFactoryBuilder$1.newThread(ThreadFactoryBuilder.java:162) 
at java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:612) 
at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:925) 
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1368) 
at io.grpc.internal.DnsNameResolver.resolve(DnsNameResolver.java:205) 
at io.grpc.internal.DnsNameResolver.start(DnsNameResolver.java:116) 
at io.grpc.internal.ManagedChannelImpl.exitIdleMode(ManagedChannelImpl.java:313) 
at io.grpc.internal.ManagedChannelImpl$4$1.run(ManagedChannelImpl.java:359) 
at io.grpc.internal.ChannelExecutor.drain(ChannelExecutor.java:87) 
at io.grpc.internal.ManagedChannelImpl$4.get(ManagedChannelImpl.java:361) 
at io.grpc.internal.ClientCallImpl.start(ClientCallImpl.java:221) 
at io.grpc.ForwardingClientCall.start(ForwardingClientCall.java:47) 
at com.google.api.gax.grpc.HeaderInterceptor$1.start(HeaderInterceptor.java:62) 
at io.grpc.stub.ClientCalls.startCall(ClientCalls.java:270) 
at io.grpc.stub.ClientCalls.asyncUnaryRequestCall(ClientCalls.java:249) 
at io.grpc.stub.ClientCalls.futureUnaryCall(ClientCalls.java:186) 
at com.google.pubsub.v1.PublisherGrpc$PublisherFutureStub.publish(PublisherGrpc.java:460) 
at com.google.cloud.pubsub.spi.v1.Publisher.publishOutstandingBatch(Publisher.java:333) 
at com.google.cloud.pubsub.spi.v1.Publisher.access$200(Publisher.java:76) 
at com.google.cloud.pubsub.spi.v1.Publisher$4.run(Publisher.java:271) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745)

Thanks^

Metadata

Metadata

Labels

api: pubsubIssues related to the Pub/Sub API.priority: p1Important issue which blocks shipping the next release. Will be fixed prior to next release.running on app enginetype: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions