Thanks for your comments. *networkaddress.cache.ttl *would be more appropriate. It's not the failure we want to cache but the successful resolutions. Using this via worker.childopts could have side effects on the workers : some of my bolts fetch webpages, other do IP resolution. Storing the localhost info in a String once and for all would be cleaner I think.
I know nothing of Clojure so submitting a patch would be an issue. Will play with networkaddress.cache.ttl as a short term solution. Thanks On 31 March 2014 23:10, David Miller <[email protected]> wrote: > > Wouldn’t the JVM property “networkaddress.cache.negative.ttl” do this > already ? > > http://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html > > > On 1 Apr 2014, at 7:07 am, Bobby Evans <[email protected]> wrote: > > > It should be possible to store/cache it. Please file a JIRA on it. No > > guarantee on when it would get fixed, unless you want to submit a patch > > with it too. > > > > ‹Bobby > > > > On 3/27/14, 9:17 AM, "Julien Nioche" <[email protected]> > wrote: > > > >> Hi, > >> > >> I am getting loads of exceptions such as : > >> > >> java.lang.RuntimeException: java.net.UnknownHostException: $MYSERVER: > >> $MYSERVER > >> at > >> > backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.ja > >> va:107) > >> at > >> backtype.storm.utils.DisruptorQueue.consumeBatch(DisruptorQueue.java:66) > >> at backtype.storm.disruptor$consume_batch.invoke(disruptor.clj:74) > >> at > >> > backtype.storm.daemon.executor$eval3848$fn__3849$fn__3864$fn__3893.invoke( > >> executor.clj:539) > >> at backtype.storm.util$async_loop$fn__384.invoke(util.clj:433) > >> at clojure.lang.AFn.run(AFn.java:24) > >> at java.lang.Thread.run(Thread.java:744) > >> Caused by: java.net.UnknownHostException: $MYSERVER: $MYSERVER > >> > >> at java.net.InetAddress.getLocalHost(InetAddress.java:1473) > >> at > backtype.storm.daemon.executor$metrics_tick.invoke(executor.clj:279) > >> at > >> > backtype.storm.daemon.executor$eval3848$fn__3849$tuple_action_fn__3855.inv > >> oke(executor.clj:435) > >> at > >> > backtype.storm.daemon.executor$mk_task_receiver$fn__3839.invoke(executor.c > >> lj:401) > >> at > >> > backtype.storm.disruptor$clojure_handler$reify__1560.onEvent(disruptor.clj > >> :58) > >> at > >> > backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.ja > >> va:104) > >> ... 6 more > >> Caused by: java.net.UnknownHostException: ns316721.ip-37-187-131.eu > >> at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method) > >> at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901) > >> at > >> java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293) > >> at java.net.InetAddress.getLocalHost(InetAddress.java:1469) > >> ... 11 more > >> > >> where $MYSERVER is the hostname of the machine where Storm is running. > >> These exceptions happen at random and could be due to an issue with > Bind, > >> which for some reason fails to return the information about the > localhost. > >> > >> > >> From what I understand from the code in [1], this happens when > processing > >> the metrics-ticks. Would there be a way to store the information about > the > >> localhost once and for all instead of asking for it every time and if > so, > >> how would you do that in Clojure? > >> > >> Thanks > >> > >> Julien > >> > >> > >> [1] > >> > https://github.com/apache/incubator-storm/blob/master/storm-core/src/clj/b > >> acktype/storm/daemon/executor.clj#L278 > >> > >> > >> > >> > >> -- > >> > >> Open Source Solutions for Text Engineering > >> > >> http://digitalpebble.blogspot.com/ > >> http://www.digitalpebble.com > >> http://twitter.com/digitalpebble > > > > -- Open Source Solutions for Text Engineering http://digitalpebble.blogspot.com/ http://www.digitalpebble.com http://twitter.com/digitalpebble
