Vert.x EventLoop Thread Block Inet6AddressImpl.lookupAllHostAddr - PullRequest
0 голосов
/ 13 февраля 2019

При поиске записи dns (?) Во время инициации производителя kafka я наблюдаю очень странную блокировку потока длительностью более 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$2.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)

Это происходит один раз (не каждый раз)Можно ли программно отключить поиск ipv6 в vertx?Как я могу заставить эту ошибку исчезнуть?

1 Ответ

0 голосов
/ 18 февраля 2019

После добавления флага "-Djava.net.preferIPv4Stack = true" проблема была исправлена, но были открыты некоторые другие проблемы с InetAddress.getLocalHost(), который возвращает localhost \ 127.0.0.1 для имени хоста \ 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

после отключения всех разделов IPv6 из / etc / hosts было решено правильное имя хоста и ip, и моя программа была запущена правильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...