-
Notifications
You must be signed in to change notification settings - Fork 422
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ZClient cannot recover after a network failure or connection timeouts #2653
Comments
@mikail-khan I believe this might have been resolved by #2610. Can you try with the latest snapshot ( |
I created a small repo program below to demonstrate the problem and so you can debug this as well. On a import zio._
import zio.http._
import zio.logging.backend.SLF4J
import java.util.concurrent.TimeUnit
object SimpleClient extends ZIOAppDefault {
override val bootstrap: ZLayer[ZIOAppArgs, Any, Any] =
Runtime.removeDefaultLoggers >>> SLF4J.slf4j
val url = URL.decode("http://www.google.com").toOption.get
val program = for {
client <- ZIO.service[Client]
res <- client.url(url).get("/")
data <- res.body.asString
_ <- ZIO.logInfo(s"Got data: ${data.take(30)}")
} yield ()
override val run = program
.tapError(_ => ZIO.logError(s"boom!"))
.repeat(Schedule.spaced(Duration(3, TimeUnit.SECONDS)))
.retry(Schedule.exponential(Duration(1, TimeUnit.SECONDS)))
.provide(Client.default, Scope.default)
} 3.0.0-RC4+58-a70a964c-SNAPSHOT log output[2024-01-25T10:50:15,420] [i.n.u.Recycler] [DEBUG:] - -Dio.netty.recycler.chunkSize: 32 |
same issue for connection timeouts, program fails to recover after network recovery logs[2024-01-25T21:28:31,817] [b.h.K.Live] [DEBUG:] - Fiber zio-fiber-69763 did not handle an error io.netty.channel.ConnectTimeoutException: connection timed out: xxx.xxx.xxx:443 at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe$2.run(AbstractEpollChannel.java:613) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final] at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) ~[netty-common-4.1.101.Final.jar:4.1.101.Final] at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:153) ~[netty-common-4.1.101.Final.jar:4.1.101.Final] at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.101.Final.jar:4.1.101.Final] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.101.Final.jar:4.1.101.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.101.Final.jar:4.1.101.Final] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:416) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.101.Final.jar:4.1.101.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.101.Final.jar:4.1.101.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.101.Final.jar:4.1.101.Final] at java.base/java.lang.Thread.run(Thread.java:840) ~[?:?]Cannot build a resilient service if retries don't succeed when they should. |
@mikail-khan I'm away for the weekend so I don't have access to my laptop so I can't test it, but could you try running it via Note, that means you should not need |
/bounty $150 |
💎 $150 bounty • ZIOSteps to solve:
Thank you for contributing to zio/zio-http! Add a bounty • Share on socials
|
/attempt #2653 Options |
@mikail-khan I can't seem to be able to reproduce the issue you're facing. With the current main, and the code below, I get the following console output after I kill the network and enable it again: Code: object SimpleClient extends ZIOAppDefault {
val url = URL.decode("http://www.google.com").toOption.get
val program = for {
client <- ZIO.service[Client]
res <- client.url(url).get("/")
data <- res.body.asString
_ <- ZIO.debug(s"Got data: ${data.take(30)}")
} yield ()
override val run =
ZIO
.scoped(program)
.tapError(_ => ZIO.debug(s"boom!"))
.repeat(Schedule.spaced(Duration(3, TimeUnit.SECONDS)))
.retry(Schedule.fixed(Duration(1, TimeUnit.SECONDS)))
.provide(Client.default)
} Output: Got data: <!doctype html><html itemscope
Got data: <!doctype html><html itemscope
Got data: <!doctype html><html itemscope
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
boom!
Got data: <!doctype html><html itemscope
Got data: <!doctype html><html itemscope
Got data: <!doctype html><html itemscope
Got data: <!doctype html><html itemscope |
See below, I've reproduced it again using the program I posted earlier. At 21:14 the network was recovered but the program does not detect it. "dev.zio" %% "zio-http" % "3.0.0-RC4+58-a70a964c-SNAPSHOT", [2024-02-13T21:12:14,559] [i.n.u.i.l.InternalLoggerFactory] [DEBUG:] - Using SLF4J as the default logging framework
[2024-02-13T21:12:14,602] [i.n.u.i.PlatformDependent0] [DEBUG:] - -Dio.netty.noUnsafe: false
[2024-02-13T21:12:14,604] [i.n.u.i.PlatformDependent0] [DEBUG:] - Java version: 17
[2024-02-13T21:12:14,606] [i.n.u.i.PlatformDependent0] [DEBUG:] - sun.misc.Unsafe.theUnsafe: available
[2024-02-13T21:12:14,607] [i.n.u.i.PlatformDependent0] [DEBUG:] - sun.misc.Unsafe.copyMemory: available
[2024-02-13T21:12:14,608] [i.n.u.i.PlatformDependent0] [DEBUG:] - sun.misc.Unsafe.storeFence: available
[2024-02-13T21:12:14,609] [i.n.u.i.PlatformDependent0] [DEBUG:] - java.nio.Buffer.address: available
[2024-02-13T21:12:14,610] [i.n.u.i.PlatformDependent0] [DEBUG:] - direct buffer constructor: unavailable: Reflective setAccessible(true) disabled
[2024-02-13T21:12:14,611] [i.n.u.i.PlatformDependent0] [DEBUG:] - java.nio.Bits.unaligned: available, true
[2024-02-13T21:12:14,613] [i.n.u.i.PlatformDependent0] [DEBUG:] - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable: class io.netty.util.internal.PlatformDependent0$7 cannot access class jdk.internal.misc.Unsafe (in module java.base) because module java.base does not export jdk.internal.misc to unnamed module @768b0f44
[2024-02-13T21:12:14,615] [i.n.u.i.PlatformDependent0] [DEBUG:] - java.nio.DirectByteBuffer.<init>(long, {int,long}): unavailable
[2024-02-13T21:12:14,615] [i.n.u.i.PlatformDependent] [DEBUG:] - sun.misc.Unsafe: available
[2024-02-13T21:12:14,616] [i.n.u.i.PlatformDependent] [DEBUG:] - -Dio.netty.tmpdir: /tmp (java.io.tmpdir)
[2024-02-13T21:12:14,616] [i.n.u.i.PlatformDependent] [DEBUG:] - -Dio.netty.bitMode: 64 (sun.arch.data.model)
[2024-02-13T21:12:14,621] [i.n.u.i.PlatformDependent] [DEBUG:] - -Dio.netty.maxDirectMemory: -1 bytes
[2024-02-13T21:12:14,623] [i.n.u.i.PlatformDependent] [DEBUG:] - -Dio.netty.uninitializedArrayAllocationThreshold: -1
[2024-02-13T21:12:14,630] [i.n.u.i.CleanerJava9] [DEBUG:] - java.nio.ByteBuffer.cleaner(): available
[2024-02-13T21:12:14,632] [i.n.u.i.PlatformDependent] [DEBUG:] - -Dio.netty.noPreferDirect: false
[2024-02-13T21:12:14,647] [i.n.u.i.NativeLibraryLoader] [DEBUG:] - -Dio.netty.native.workdir: /tmp (io.netty.tmpdir)
[2024-02-13T21:12:14,648] [i.n.u.i.NativeLibraryLoader] [DEBUG:] - -Dio.netty.native.deleteLibAfterLoading: true
[2024-02-13T21:12:14,649] [i.n.u.i.NativeLibraryLoader] [DEBUG:] - -Dio.netty.native.tryPatchShadedId: true
[2024-02-13T21:12:14,650] [i.n.u.i.NativeLibraryLoader] [DEBUG:] - -Dio.netty.native.detectNativeLibraryDuplicates: true
[2024-02-13T21:12:14,665] [i.n.u.i.NativeLibraryLoader] [DEBUG:] - Successfully loaded the library /tmp/libnetty_transport_native_epoll_x86_643484322894985639787.so
[2024-02-13T21:12:14,673] [i.n.u.NetUtil] [DEBUG:] - -Djava.net.preferIPv4Stack: false
[2024-02-13T21:12:14,675] [i.n.u.NetUtil] [DEBUG:] - -Djava.net.preferIPv6Addresses: false
[2024-02-13T21:12:14,682] [i.n.u.NetUtilInitializations] [DEBUG:] - Loopback interface: lo (lo, 0:0:0:0:0:0:0:1%lo)
[2024-02-13T21:12:14,684] [i.n.u.NetUtil] [DEBUG:] - /proc/sys/net/core/somaxconn: 4096
[2024-02-13T21:12:14,703] [i.n.c.MultithreadEventLoopGroup] [DEBUG:] - -Dio.netty.eventLoopThreads: 8
[2024-02-13T21:12:14,726] [i.n.u.c.GlobalEventExecutor] [DEBUG:] - -Dio.netty.globalEventExecutor.quietPeriodSeconds: 1
[2024-02-13T21:12:14,743] [i.n.u.i.InternalThreadLocalMap] [DEBUG:] - -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024
[2024-02-13T21:12:14,745] [i.n.u.i.InternalThreadLocalMap] [DEBUG:] - -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096
[2024-02-13T21:12:14,773] [i.n.u.i.PlatformDependent] [DEBUG:] - org.jctools-core.MpscChunkedArrayQueue: available
[2024-02-13T21:12:15,019] [i.n.c.DefaultChannelId] [DEBUG:] - -Dio.netty.processId: 134982 (auto-detected)
[2024-02-13T21:12:15,026] [i.n.c.DefaultChannelId] [DEBUG:] - -Dio.netty.machineId: 5c:e0:c5:ff:fe:51:f5:ef (auto-detected)
[2024-02-13T21:12:15,048] [i.n.u.ResourceLeakDetector] [DEBUG:] - -Dio.netty.leakDetection.level: simple
[2024-02-13T21:12:15,050] [i.n.u.ResourceLeakDetector] [DEBUG:] - -Dio.netty.leakDetection.targetRecords: 4
[2024-02-13T21:12:15,098] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.numHeapArenas: 8
[2024-02-13T21:12:15,098] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.numDirectArenas: 8
[2024-02-13T21:12:15,099] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.pageSize: 8192
[2024-02-13T21:12:15,099] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.maxOrder: 9
[2024-02-13T21:12:15,100] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.chunkSize: 4194304
[2024-02-13T21:12:15,100] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.smallCacheSize: 256
[2024-02-13T21:12:15,101] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.normalCacheSize: 64
[2024-02-13T21:12:15,102] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.maxCachedBufferCapacity: 32768
[2024-02-13T21:12:15,103] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.cacheTrimInterval: 8192
[2024-02-13T21:12:15,104] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.cacheTrimIntervalMillis: 0
[2024-02-13T21:12:15,107] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.useCacheForAllThreads: false
[2024-02-13T21:12:15,108] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.maxCachedByteBuffersPerChunk: 1023
[2024-02-13T21:12:15,133] [i.n.b.ByteBufUtil] [DEBUG:] - -Dio.netty.allocator.type: pooled
[2024-02-13T21:12:15,134] [i.n.b.ByteBufUtil] [DEBUG:] - -Dio.netty.threadLocalDirectBufferSize: 0
[2024-02-13T21:12:15,134] [i.n.b.ByteBufUtil] [DEBUG:] - -Dio.netty.maxThreadLocalCharBufferSize: 16384
[2024-02-13T21:12:15,165] [i.n.b.ChannelInitializerExtensions] [DEBUG:] - -Dio.netty.bootstrap.extensions: null
[2024-02-13T21:12:15,224] [i.n.b.AbstractByteBuf] [DEBUG:] - -Dio.netty.buffer.checkAccessible: true
[2024-02-13T21:12:15,226] [i.n.b.AbstractByteBuf] [DEBUG:] - -Dio.netty.buffer.checkBounds: true
[2024-02-13T21:12:15,228] [i.n.u.ResourceLeakDetectorFactory] [DEBUG:] - Loaded default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@6c06e93
[2024-02-13T21:12:15,350] [i.n.u.Recycler] [DEBUG:] - -Dio.netty.recycler.maxCapacityPerThread: 4096
[2024-02-13T21:12:15,351] [i.n.u.Recycler] [DEBUG:] - -Dio.netty.recycler.ratio: 8
[2024-02-13T21:12:15,351] [i.n.u.Recycler] [DEBUG:] - -Dio.netty.recycler.chunkSize: 32
[2024-02-13T21:12:15,351] [i.n.u.Recycler] [DEBUG:] - -Dio.netty.recycler.blocking: false
[2024-02-13T21:12:15,352] [i.n.u.Recycler] [DEBUG:] - -Dio.netty.recycler.batchFastThreadLocalOnly: true
[2024-02-13T21:12:15,602] [<.SimpleClient] [INFO :] - Got data: <!doctype html><html itemscope="" itemtype="http:/
[2024-02-13T21:12:18,700] [<.SimpleClient] [INFO :] - Got data: <!doctype html><html itemscope="" itemtype="http:/
[2024-02-13T21:12:22,165] [<.SimpleClient] [INFO :] - Got data: <!doctype html><html itemscope="" itemtype="http:/
[2024-02-13T21:13:05,348] [zio-slf4j-logger] [DEBUG:] - ReadTimeoutException caught
[2024-02-13T21:13:05,361] [<.SimpleClient] [ERROR:] - boom!
[2024-02-13T21:13:05,374] [zio-slf4j-logger] [DEBUG:] - ReadTimeoutException caught
[2024-02-13T21:13:05,389] [zio-slf4j-logger] [DEBUG:] - ReadTimeoutException caught
[2024-02-13T21:13:05,394] [zio-slf4j-logger] [DEBUG:] - ReadTimeoutException caught
[2024-02-13T21:13:05,406] [zio-slf4j-logger] [DEBUG:] - ReadTimeoutException caught
[2024-02-13T21:13:05,409] [zio-slf4j-logger] [DEBUG:] - ReadTimeoutException caught
[2024-02-13T21:13:05,425] [zio-slf4j-logger] [DEBUG:] - ReadTimeoutException caught
[2024-02-13T21:13:05,570] [zio-slf4j-logger] [DEBUG:] - ReadTimeoutException caught
[2024-02-13T21:13:08,698] [zio-slf4j-logger] [DEBUG:] - ReadTimeoutException caught
[2024-02-13T21:13:08,700] [<.SimpleClient] [ERROR:] - boom!
[2024-02-13T21:13:12,166] [zio-slf4j-logger] [DEBUG:] - ReadTimeoutException caught
[2024-02-13T21:13:12,171] [<.SimpleClient] [ERROR:] - boom!
[2024-02-13T21:13:16,184] [<.SimpleClient] [ERROR:] - boom!
[2024-02-13T21:13:16,186] [<.SimpleClient] [DEBUG:] - Fiber zio-fiber-108 did not handle an error
io.netty.channel.AbstractChannel$AnnotatedNoRouteToHostException: null: www.google.com/216.239.38.120:80
Caused by: java.net.NoRouteToHostException
at io.netty.channel.unix.Errors.newConnectException0(Errors.java:158) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.unix.Errors.handleConnectErrno(Errors.java:131) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.unix.Socket.connect(Socket.java:351) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel.doConnect0(AbstractEpollChannel.java:773) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.EpollSocketChannel.doConnect0(EpollSocketChannel.java:144) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel.doConnect(AbstractEpollChannel.java:758) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.connect(AbstractEpollChannel.java:600) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.connect(DefaultChannelPipeline.java:1342) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:653) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:632) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.connect(CombinedChannelDuplexHandler.java:495) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.ChannelOutboundHandlerAdapter.connect(ChannelOutboundHandlerAdapter.java:51) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.CombinedChannelDuplexHandler.connect(CombinedChannelDuplexHandler.java:296) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:655) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:632) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:616) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline.connect(DefaultChannelPipeline.java:978) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannel.connect(AbstractChannel.java:265) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.bootstrap.Bootstrap$3.run(Bootstrap.java:264) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:413) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at java.base/java.lang.Thread.run(Thread.java:840) ~[?:?]
[2024-02-13T21:13:24,191] [<.SimpleClient] [ERROR:] - boom!
[2024-02-13T21:13:24,191] [<.SimpleClient] [DEBUG:] - Fiber zio-fiber-110 did not handle an error
io.netty.channel.AbstractChannel$AnnotatedNoRouteToHostException: null: www.google.com/216.239.38.120:80
Caused by: java.net.NoRouteToHostException
at io.netty.channel.unix.Errors.newConnectException0(Errors.java:158) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.unix.Errors.handleConnectErrno(Errors.java:131) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.unix.Socket.connect(Socket.java:351) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel.doConnect0(AbstractEpollChannel.java:773) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.EpollSocketChannel.doConnect0(EpollSocketChannel.java:144) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel.doConnect(AbstractEpollChannel.java:758) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.connect(AbstractEpollChannel.java:600) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.connect(DefaultChannelPipeline.java:1342) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:653) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:632) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.connect(CombinedChannelDuplexHandler.java:495) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.ChannelOutboundHandlerAdapter.connect(ChannelOutboundHandlerAdapter.java:51) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.CombinedChannelDuplexHandler.connect(CombinedChannelDuplexHandler.java:296) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:655) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:632) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:616) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline.connect(DefaultChannelPipeline.java:978) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannel.connect(AbstractChannel.java:265) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.bootstrap.Bootstrap$3.run(Bootstrap.java:264) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:413) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at java.base/java.lang.Thread.run(Thread.java:840) ~[?:?]
[2024-02-13T21:13:40,196] [<.SimpleClient] [ERROR:] - boom!
[2024-02-13T21:13:40,196] [<.SimpleClient] [DEBUG:] - Fiber zio-fiber-112 did not handle an error
io.netty.channel.AbstractChannel$AnnotatedNoRouteToHostException: null: www.google.com/216.239.38.120:80
Caused by: java.net.NoRouteToHostException
at io.netty.channel.unix.Errors.newConnectException0(Errors.java:158) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.unix.Errors.handleConnectErrno(Errors.java:131) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.unix.Socket.connect(Socket.java:351) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel.doConnect0(AbstractEpollChannel.java:773) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.EpollSocketChannel.doConnect0(EpollSocketChannel.java:144) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel.doConnect(AbstractEpollChannel.java:758) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.connect(AbstractEpollChannel.java:600) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.connect(DefaultChannelPipeline.java:1342) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:653) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:632) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.connect(CombinedChannelDuplexHandler.java:495) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.ChannelOutboundHandlerAdapter.connect(ChannelOutboundHandlerAdapter.java:51) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.CombinedChannelDuplexHandler.connect(CombinedChannelDuplexHandler.java:296) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:655) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:632) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:616) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline.connect(DefaultChannelPipeline.java:978) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannel.connect(AbstractChannel.java:265) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.bootstrap.Bootstrap$3.run(Bootstrap.java:264) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:413) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at java.base/java.lang.Thread.run(Thread.java:840) ~[?:?]
[2024-02-13T21:14:12,215] [<.SimpleClient] [ERROR:] - boom!
[2024-02-13T21:14:12,215] [<.SimpleClient] [DEBUG:] - Fiber zio-fiber-114 did not handle an error
io.netty.channel.AbstractChannel$AnnotatedNoRouteToHostException: null: www.google.com/216.239.38.120:80
Caused by: java.net.NoRouteToHostException
at io.netty.channel.unix.Errors.newConnectException0(Errors.java:158) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.unix.Errors.handleConnectErrno(Errors.java:131) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.unix.Socket.connect(Socket.java:351) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel.doConnect0(AbstractEpollChannel.java:773) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.EpollSocketChannel.doConnect0(EpollSocketChannel.java:144) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel.doConnect(AbstractEpollChannel.java:758) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.connect(AbstractEpollChannel.java:600) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.connect(DefaultChannelPipeline.java:1342) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:653) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:632) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.connect(CombinedChannelDuplexHandler.java:495) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.ChannelOutboundHandlerAdapter.connect(ChannelOutboundHandlerAdapter.java:51) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.CombinedChannelDuplexHandler.connect(CombinedChannelDuplexHandler.java:296) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:655) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:632) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:616) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline.connect(DefaultChannelPipeline.java:978) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannel.connect(AbstractChannel.java:265) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.bootstrap.Bootstrap$3.run(Bootstrap.java:264) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:413) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at java.base/java.lang.Thread.run(Thread.java:840) ~[?:?]
[2024-02-13T21:15:02,262] [zio-slf4j-logger] [DEBUG:] - ReadTimeoutException caught
[2024-02-13T21:15:16,296] [<.SimpleClient] [ERROR:] - boom!
[2024-02-13T21:15:16,297] [<.SimpleClient] [DEBUG:] - Fiber zio-fiber-117 did not handle an error
io.netty.channel.AbstractChannel$AnnotatedNoRouteToHostException: null: www.google.com/216.239.38.120:80
Caused by: java.net.NoRouteToHostException
at io.netty.channel.unix.Errors.newConnectException0(Errors.java:158) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.unix.Errors.handleConnectErrno(Errors.java:131) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.unix.Socket.connect(Socket.java:351) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel.doConnect0(AbstractEpollChannel.java:773) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.EpollSocketChannel.doConnect0(EpollSocketChannel.java:144) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel.doConnect(AbstractEpollChannel.java:758) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.connect(AbstractEpollChannel.java:600) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.connect(DefaultChannelPipeline.java:1342) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:653) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:632) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.connect(CombinedChannelDuplexHandler.java:495) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.ChannelOutboundHandlerAdapter.connect(ChannelOutboundHandlerAdapter.java:51) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.CombinedChannelDuplexHandler.connect(CombinedChannelDuplexHandler.java:296) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:655) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:632) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:616) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline.connect(DefaultChannelPipeline.java:978) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannel.connect(AbstractChannel.java:265) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.bootstrap.Bootstrap$3.run(Bootstrap.java:264) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:413) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at java.base/java.lang.Thread.run(Thread.java:840) ~[?:?]
[2024-02-13T21:16:06,345] [zio-slf4j-logger] [DEBUG:] - ReadTimeoutException caught
[2024-02-13T21:17:24,314] [<.SimpleClient] [ERROR:] - boom!
[2024-02-13T21:17:24,314] [<.SimpleClient] [DEBUG:] - Fiber zio-fiber-120 did not handle an error
io.netty.channel.AbstractChannel$AnnotatedNoRouteToHostException: null: www.google.com/216.239.38.120:80
Caused by: java.net.NoRouteToHostException
at io.netty.channel.unix.Errors.newConnectException0(Errors.java:158) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.unix.Errors.handleConnectErrno(Errors.java:131) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.unix.Socket.connect(Socket.java:351) ~[netty-transport-native-unix-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel.doConnect0(AbstractEpollChannel.java:773) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.EpollSocketChannel.doConnect0(EpollSocketChannel.java:144) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel.doConnect(AbstractEpollChannel.java:758) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.connect(AbstractEpollChannel.java:600) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.connect(DefaultChannelPipeline.java:1342) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:653) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:632) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.connect(CombinedChannelDuplexHandler.java:495) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.ChannelOutboundHandlerAdapter.connect(ChannelOutboundHandlerAdapter.java:51) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.CombinedChannelDuplexHandler.connect(CombinedChannelDuplexHandler.java:296) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:655) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:632) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:616) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline.connect(DefaultChannelPipeline.java:978) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannel.connect(AbstractChannel.java:265) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.bootstrap.Bootstrap$3.run(Bootstrap.java:264) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:413) ~[netty-transport-classes-epoll-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
at java.base/java.lang.Thread.run(Thread.java:840) ~[?:?]
[2024-02-13T21:12:14,559] [i.n.u.i.l.InternalLoggerFactory] [DEBUG:] - Using SLF4J as the default logging framework
[2024-02-13T21:12:14,602] [i.n.u.i.PlatformDependent0] [DEBUG:] - -Dio.netty.noUnsafe: false
[2024-02-13T21:12:14,604] [i.n.u.i.PlatformDependent0] [DEBUG:] - Java version: 17
[2024-02-13T21:12:14,606] [i.n.u.i.PlatformDependent0] [DEBUG:] - sun.misc.Unsafe.theUnsafe: available
[2024-02-13T21:12:14,607] [i.n.u.i.PlatformDependent0] [DEBUG:] - sun.misc.Unsafe.copyMemory: available
[2024-02-13T21:12:14,608] [i.n.u.i.PlatformDependent0] [DEBUG:] - sun.misc.Unsafe.storeFence: available
[2024-02-13T21:12:14,609] [i.n.u.i.PlatformDependent0] [DEBUG:] - java.nio.Buffer.address: available
[2024-02-13T21:12:14,610] [i.n.u.i.PlatformDependent0] [DEBUG:] - direct buffer constructor: unavailable: Reflective setAccessible(true) disabled
[2024-02-13T21:12:14,611] [i.n.u.i.PlatformDependent0] [DEBUG:] - java.nio.Bits.unaligned: available, true
[2024-02-13T21:12:14,613] [i.n.u.i.PlatformDependent0] [DEBUG:] - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable: class io.netty.util.internal.PlatformDependent0$7 cannot access class jdk.internal.misc.Unsafe (in module java.base) because module java.base does not export jdk.internal.misc to unnamed module @768b0f44
[2024-02-13T21:12:14,615] [i.n.u.i.PlatformDependent0] [DEBUG:] - java.nio.DirectByteBuffer.(long, {int,long}): unavailable
[2024-02-13T21:12:14,615] [i.n.u.i.PlatformDependent] [DEBUG:] - sun.misc.Unsafe: available
[2024-02-13T21:12:14,616] [i.n.u.i.PlatformDependent] [DEBUG:] - -Dio.netty.tmpdir: /tmp (java.io.tmpdir)
[2024-02-13T21:12:14,616] [i.n.u.i.PlatformDependent] [DEBUG:] - -Dio.netty.bitMode: 64 (sun.arch.data.model)
[2024-02-13T21:12:14,621] [i.n.u.i.PlatformDependent] [DEBUG:] - -Dio.netty.maxDirectMemory: -1 bytes
[2024-02-13T21:12:14,623] [i.n.u.i.PlatformDependent] [DEBUG:] - -Dio.netty.uninitializedArrayAllocationThreshold: -1
[2024-02-13T21:12:14,630] [i.n.u.i.CleanerJava9] [DEBUG:] - java.nio.ByteBuffer.cleaner(): available
[2024-02-13T21:12:14,632] [i.n.u.i.PlatformDependent] [DEBUG:] - -Dio.netty.noPreferDirect: false
[2024-02-13T21:12:14,647] [i.n.u.i.NativeLibraryLoader] [DEBUG:] - -Dio.netty.native.workdir: /tmp (io.netty.tmpdir)
[2024-02-13T21:12:14,648] [i.n.u.i.NativeLibraryLoader] [DEBUG:] - -Dio.netty.native.deleteLibAfterLoading: true
[2024-02-13T21:12:14,649] [i.n.u.i.NativeLibraryLoader] [DEBUG:] - -Dio.netty.native.tryPatchShadedId: true
[2024-02-13T21:12:14,650] [i.n.u.i.NativeLibraryLoader] [DEBUG:] - -Dio.netty.native.detectNativeLibraryDuplicates: true
[2024-02-13T21:12:14,665] [i.n.u.i.NativeLibraryLoader] [DEBUG:] - Successfully loaded the library /tmp/libnetty_transport_native_epoll_x86_643484322894985639787.so
[2024-02-13T21:12:14,673] [i.n.u.NetUtil] [DEBUG:] - -Djava.net.preferIPv4Stack: false
[2024-02-13T21:12:14,675] [i.n.u.NetUtil] [DEBUG:] - -Djava.net.preferIPv6Addresses: false
[2024-02-13T21:12:14,682] [i.n.u.NetUtilInitializations] [DEBUG:] - Loopback interface: lo (lo, 0:0:0:0:0:0:0:1%lo)
[2024-02-13T21:12:14,684] [i.n.u.NetUtil] [DEBUG:] - /proc/sys/net/core/somaxconn: 4096
[2024-02-13T21:12:14,703] [i.n.c.MultithreadEventLoopGroup] [DEBUG:] - -Dio.netty.eventLoopThreads: 8
[2024-02-13T21:12:14,726] [i.n.u.c.GlobalEventExecutor] [DEBUG:] - -Dio.netty.globalEventExecutor.quietPeriodSeconds: 1
[2024-02-13T21:12:14,743] [i.n.u.i.InternalThreadLocalMap] [DEBUG:] - -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024
[2024-02-13T21:12:14,745] [i.n.u.i.InternalThreadLocalMap] [DEBUG:] - -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096
[2024-02-13T21:12:14,773] [i.n.u.i.PlatformDependent] [DEBUG:] - org.jctools-core.MpscChunkedArrayQueue: available
[2024-02-13T21:12:15,019] [i.n.c.DefaultChannelId] [DEBUG:] - -Dio.netty.processId: 134982 (auto-detected)
[2024-02-13T21:12:15,026] [i.n.c.DefaultChannelId] [DEBUG:] - -Dio.netty.machineId: 5c:e0:c5:ff:fe:51:f5:ef (auto-detected)
[2024-02-13T21:12:15,048] [i.n.u.ResourceLeakDetector] [DEBUG:] - -Dio.netty.leakDetection.level: simple
[2024-02-13T21:12:15,050] [i.n.u.ResourceLeakDetector] [DEBUG:] - -Dio.netty.leakDetection.targetRecords: 4
[2024-02-13T21:12:15,098] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.numHeapArenas: 8
[2024-02-13T21:12:15,098] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.numDirectArenas: 8
[2024-02-13T21:12:15,099] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.pageSize: 8192
[2024-02-13T21:12:15,099] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.maxOrder: 9
[2024-02-13T21:12:15,100] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.chunkSize: 4194304
[2024-02-13T21:12:15,100] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.smallCacheSize: 256
[2024-02-13T21:12:15,101] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.normalCacheSize: 64
[2024-02-13T21:12:15,102] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.maxCachedBufferCapacity: 32768
[2024-02-13T21:12:15,103] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.cacheTrimInterval: 8192
[2024-02-13T21:12:15,104] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.cacheTrimIntervalMillis: 0
[2024-02-13T21:12:15,107] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.useCacheForAllThreads: false
[2024-02-13T21:12:15,108] [i.n.b.PooledByteBufAllocator] [DEBUG:] - -Dio.netty.allocator.maxCachedByteBuffersPerChunk: 1023
[2024-02-13T21:12:15,133] [i.n.b.ByteBufUtil] [DEBUG:] - -Dio.netty.allocator.type: pooled
[2024-02-13T21:12:15,134] [i.n.b.ByteBufUtil] [DEBUG:] - -Dio.netty.threadLocalDirectBufferSize: 0
[2024-02-13T21:12:15,134] [i.n.b.ByteBufUtil] [DEBUG:] - -Dio.netty.maxThreadLocalCharBufferSize: 16384
[2024-02-13T21:12:15,165] [i.n.b.ChannelInitializerExtensions] [DEBUG:] - -Dio.netty.bootstrap.extensions: null
[2024-02-13T21:12:15,224] [i.n.b.AbstractByteBuf] [DEBUG:] - -Dio.netty.buffer.checkAccessible: true
[2024-02-13T21:12:15,226] [i.n.b.AbstractByteBuf] [DEBUG:] - -Dio.netty.buffer.checkBounds: true
[2024-02-13T21:12:15,228] [i.n.u.ResourceLeakDetectorFactory] [DEBUG:] - Loaded default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@6c06e93
[2024-02-13T21:12:15,350] [i.n.u.Recycler] [DEBUG:] - -Dio.netty.recycler.maxCapacityPerThread: 4096
[2024-02-13T21:12:15,351] [i.n.u.Recycler] [DEBUG:] - -Dio.netty.recycler.ratio: 8
[2024-02-13T21:12:15,351] [i.n.u.Recycler] [DEBUG:] - -Dio.netty.recycler.chunkSize: 32
[2024-02-13T21:12:15,351] [i.n.u.Recycler] [DEBUG:] - -Dio.netty.recycler.blocking: false
[2024-02-13T21:12:15,352] [i.n.u.Recycler] [DEBUG:] - -Dio.netty.recycler.batchFastThreadLocalOnly: true
[2024-02-13T21:12:15,602] [<.SimpleClient] [INFO :] - Got data:
|
@mikail-khan can you try with the latest snapshot (3.0.0-RC4+71-b1da91b6-SNAPSHOT), and the program I provided? The reason I'm asking to use the program I provided is because it uses |
where does it say ZIO.scoped is "meant" to be run how you say? The example I gave is from the ZIO-HTTP docs.... @jdegoes can you confirm @kyri-petrou 's assertion? IMO, @kyri-petrou 's program doesn't seem idiomatic ZIO. |
@mikail-khan I'm not sure whether it's idiomatic or not, but it's the correct way to run it. The Having said that, do we need to have a requirement on Scope? For that I'm not sure. AFAICT its main purpose is so that the caller handles streaming responses properly prior to returning the connection back to the pool, but there might be more UX-friendly (or idiomatic) ways of handling it. Or at the very least the purpose of the scope should be better documented |
I will address this by adding the documentation to explain the purpose and correct usage of scopes and why ZIO.scoped is crucial for proper resource management, particularly in network connection scenarios. Options |
@asr2003: Reminder that in 7 days the bounty will become up for grabs, so please submit a pull request before then 🙏 |
The bounty is up for grabs! Everyone is welcome to |
Fixed by #3008 |
🎉🎈 @kyri-petrou has been awarded $150! 🎈🎊 |
Describe the bug
When a network recovers after a temporary failure, a running ZClient program with a retry schedule policy specified fails to determine that the network connection has recovered and continues retrying with the following error message:
To Reproduce
Steps to reproduce the behaviour:
java.net.NoRouteToHostException
Expected behaviour
On network recovery, the request is retried and succeeds.
The text was updated successfully, but these errors were encountered: