Vert.x 事件循环线程块 Inet6AddressImpl.lookupAllHostAddr
Vert.x EventLoop Thread Block Inet6AddressImpl.lookupAllHostAddr
我在启动 kafka 生产者时搜索 dns 条目 (?) 时遇到超过 4 秒的非常奇怪的线程块,异常:
2019-02-11 10:00:33,982 WARN [vertx-blocked-thread-checker] io.vertx.core.impl.BlockedThreadChecker - Thread Thread[vert.x-eventloop-thread-0,5,main] has been blocked for 4172 ms, time limit is 1000 ms
io.vertx.core.VertxException: Thread blocked
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress.lookupAllHostAddr(InetAddress.java:929)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324)
at java.net.InetAddress.getAllByName0(InetAddress.java:1277)
at java.net.InetAddress.getAllByName(InetAddress.java:1193)
at java.net.InetAddress.getAllByName(InetAddress.java:1127)
at java.net.InetAddress.getByName(InetAddress.java:1077)
at java.net.InetSocketAddress.<init>(InetSocketAddress.java:220)
at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:53)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:406)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:304)
偶尔出现一次(不是每次)
我可以在 vertx 中以编程方式禁用 ipv6 查找吗?
我怎样才能让这个错误消失?
添加标志“-Djava.net.preferIPv4Stack=true”后,它解决了问题,但打开了 InetAddress.getLocalHost()
returns localhost7.0.0 的一些其他问题。 1 代表 hostname\ip ...
为了解决这个问题,我必须在机器中编辑 /etc/hosts 以:
# This file is automatically generated by our bootstrap script.
<MACHINE_IP> <MACHINE_HOSTNAME> # <-- Ordering ...
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
# ::1 ip6-localhost ip6-loopback <MACHINE_HOSTNAME> <-- IPV6 must be disabled
禁用 /etc/hosts 中的所有 IPv6 部分后,正确的主机名和 ip 得到解析,我的程序正确启动
我在启动 kafka 生产者时搜索 dns 条目 (?) 时遇到超过 4 秒的非常奇怪的线程块,异常:
2019-02-11 10:00:33,982 WARN [vertx-blocked-thread-checker] io.vertx.core.impl.BlockedThreadChecker - Thread Thread[vert.x-eventloop-thread-0,5,main] has been blocked for 4172 ms, time limit is 1000 ms
io.vertx.core.VertxException: Thread blocked
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress.lookupAllHostAddr(InetAddress.java:929)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324)
at java.net.InetAddress.getAllByName0(InetAddress.java:1277)
at java.net.InetAddress.getAllByName(InetAddress.java:1193)
at java.net.InetAddress.getAllByName(InetAddress.java:1127)
at java.net.InetAddress.getByName(InetAddress.java:1077)
at java.net.InetSocketAddress.<init>(InetSocketAddress.java:220)
at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:53)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:406)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:304)
偶尔出现一次(不是每次) 我可以在 vertx 中以编程方式禁用 ipv6 查找吗? 我怎样才能让这个错误消失?
添加标志“-Djava.net.preferIPv4Stack=true”后,它解决了问题,但打开了 InetAddress.getLocalHost()
returns localhost7.0.0 的一些其他问题。 1 代表 hostname\ip ...
为了解决这个问题,我必须在机器中编辑 /etc/hosts 以:
# This file is automatically generated by our bootstrap script.
<MACHINE_IP> <MACHINE_HOSTNAME> # <-- Ordering ...
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
# ::1 ip6-localhost ip6-loopback <MACHINE_HOSTNAME> <-- IPV6 must be disabled
禁用 /etc/hosts 中的所有 IPv6 部分后,正确的主机名和 ip 得到解析,我的程序正确启动