Ситуация довольно проста: для воспроизведения сбоев, которые произошли во время недавнего отключения, я бы хотели бы намеренно отказать в разрешении DNS в JVM в:
Caused by: java.net.UnknownHostException: ...domain.name...
at java.net.InetAddress.getAllByName0(InetAddress.java:1280)
at java.net.InetAddress.getAllByName(InetAddress.java:1192)
at java.net.InetAddress.getAllByName(InetAddress.java:1126)
at java.net.InetAddress.getByName(InetAddress.java:1076)
имеет ли смысл сделать это напрямую через настройки DNS Linux или на уровне JVM. Как это можно было сделать?
SloDNS - это сервер пересылки, специально созданный для тестирования режимов отказа DNS: https://github.com/brennentsmith/slodns
Вы можете добавить любое количество задержки, джиттера и потерь ко всем отправляемым запросам и прозрачно перенаправлять запросы на любой вышестоящий сервер. Он не искажает дейтаграмму UDP, поэтому работает с проприетарными расширениями протокола DNS.
В вашем случае вы можете запустить его и установить для аргумента - loss
высокое значение,или установите - delay
и - jitter
на значение, превышающее тайм-аут JVM.
Также справедливое раскрытие, я написал это :)