Hello, I getting this error when I'm sending two requests to the server within a second
grpc[ERROR] SEVERE: Context was not attached when detaching
grpc[ERROR] java.lang.Throwable
grpc[ERROR] at io.grpc.ThreadLocalContextStorage.detach(ThreadLocalContextStorage.java:48)
grpc[ERROR] at io.grpc.Context.detach(Context.java:411)
grpc[ERROR] at org.lyranthe.fs2_grpc.java_runtime.server.Fs2ServerCallListener.$anonfun$unsafeRun$4(Fs2ServerCallListener.scala:45)
grpc[ERROR] at monix.eval.internal.TaskRunLoop$.startFull(TaskRunLoop.scala:81)
I'm using Task from Monix to start the server
server <- NettyServerBuilder.forPort(config.grpc.port.number).addService(grpcServiceImpl).resource[F]
Can you please help me to know what I'm missing ?
Context
propagation addition seems like a regression.
Sep 17, 2019 10:12:01 AM io.grpc.ThreadLocalContextStorage detach
SEVERE: Context was not attached when detaching
java.lang.Throwable
at io.grpc.ThreadLocalContextStorage.detach(ThreadLocalContextStorage.java:48)
| => sat io.grpc.Context.detach(Context.java:421)
| => pat org.lyranthe.fs2_grpc.java_runtime.server.Fs2ServerCallListener.$anonfun$unsafeRun$4(Fs2ServerCallListener.scala:45)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:87)
at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:355)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:376)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:316)
at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:136)
at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:355)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:376)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:316)
at cats.effect.internals.Callback$AsyncIdempotentCallback.run(Callback.scala:131)
at cats.effect.internals.Trampoline.cats$effect$internals$Trampoline$$immediateLoop(Trampoline.scala:70)
at cats.effect.internals.Trampoline.startLoop(Trampoline.scala:36)
at cats.effect.internals.TrampolineEC$JVMTrampoline.super$startLoop(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline.$anonfun$startLoop$1(TrampolineEC.scala:93)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:85)
at cats.effect.internals.TrampolineEC$JVMTrampoline.startLoop(TrampolineEC.scala:93)
at cats.effect.internals.Trampoline.execute(Trampoline.scala:43)
at cats.effect.internals.TrampolineEC.execute(TrampolineEC.scala:44)
at cats.effect.internals.Callback$AsyncIdempotentCallback.apply(Callback.scala:137)
at cats.effect.internals.Callback$AsyncIdempotentCallback.apply(Callback.scala:124)
at cats.effect.concurrent.Deferred$ConcurrentDeferred.$anonfun$unsafeRegister$1(Deferred.scala:205)
at cats.effect.concurrent.Deferred$ConcurrentDeferred.$anonfun$unsafeRegister$1$adapted(Deferred.scala:205)
at cats.effect.concurrent.Deferred$ConcurrentDeferred.$anonfun$notifyReadersLoop$1(Deferred.scala:241)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:87)
at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:355)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:376)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:316)
at cats.effect.internals.IOShift$Tick.run(IOShift.scala:36)
at cats.effect.internals.PoolUtils$$anon$2$$anon$3.run(PoolUtils.scala:51)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)