InetAddress should utilize networkaddress.cache.ttl for getLocalHost() too

Michael McMahon michael.x.mcmahon at oracle.com
Wed Jul 25 08:19:31 PDT 2012


On 24/07/12 07:17, Deven You wrote:
> Hi Alan and Michael,
>
> I add a java doc[1] for the new networkaddress.cache.localhost.ttl 
> property. Please take a look when you have time.
>

The change looks fine to me. There is a typo in the apidoc in InetAddress.
"as as" should be "as an". Might as well correct the same mistake in the 
previous
paragraph also.

Since this is a spec change, it will need a CCC request. Is there a bug 
id for this issue?
> Again, I don't know how to set 
> cachePolicyPropFallback/negativeCachePolicyPropFallback. Any 
> suggestion please tell me.
>

These are system properties. So, they are normally set on the command 
line with java -Dsun.net.inetaddr.ttl=X ....

- Michael.

> [1] http://cr.openjdk.java.net/~youdwei/ojdk-527/webrev.01/ 
> <http://cr.openjdk.java.net/%7Eyoudwei/ojdk-527/webrev.01/>
> Thanks a lot!
>
> On 07/12/2012 02:59 PM, Deven You wrote:
>> Hi Alan and Michael,
>>
>> Thanks very much for your kind suggestions.
>>
>> I agree that local host shouldn't follow the default caching 
>> mechanism because the IP may change frequently. And I also think 
>> making the cache time configurable is a better solution.
>>
>> I am willing to make these changes including adding the local host 
>> caching mechanism into the java doc.
>>
>> I have gone through the related code for InetAddress.java and 
>> InetAddressCachePolicy.java. And I think we could add a new security 
>> property networkaddress.cache.localhost.ttl to achieve the goal.
>>
>> As far as I know, to add networkaddress.cache.localhost.ttl I need 
>> change jdk/src/share/lib/security/java.security*(include 
>> java.security, java.security-solaris, java.security-macosx and 
>> java.security-windows). Please correct me if I have any misunderstanding.
>>
>> Here I have one question need your help:
>>     the static block in InetAddressCachePolicy.java will first try to 
>> get cachePolicyProp/negativeCachePolicyProp from System properties. 
>> If one of the cache values is null then the value of 
>> cachePolicyPropFallback/negativeCachePolicyProp would be got from 
>> System properties.
>>    I don't know where we declare these fallback properties so I have 
>> no idea where I can do the same thing for 
>> networkaddress.cache.localhost.ttl.
>>
>> Please take a look.
>>
>> Thanks a lot!
>>
>>
>> On 07/11/2012 06:55 PM, Michael McMahon wrote:
>>> On 11/07/12 08:00, Alan Bateman wrote:
>>>> On 05/07/2012 07:10, Deven You wrote:
>>>>> Hi All,
>>>>>
>>>>> I noticed that InetAddress.getLocalHost() uses cache to improve 
>>>>> the performance. However the default implementation is caching 
>>>>> local host within 5 seconds.
>>>>>
>>>>> From the spec, networkaddress.cache.ttl should be used to control 
>>>>> the cache behaviour and I think it is a better solution.
>>>>>
>>>>> For example, if the networkaddress.cache.ttl is set to -1 which 
>>>>> means always cache the local host then we can avoid unnecessary 
>>>>> operations on getAddressesFromNameService to improve the performance.
>>>>>
>>>>> I have made a patch for this solution, so anyone would like to 
>>>>> take a look?
>>>>>
>>>>> [1] http://cr.openjdk.java.net/~littlee/OJDK-527/webrev.00/ 
>>>>> <http://cr.openjdk.java.net/%7Elittlee/OJDK-527/webrev.00/>
>>>>> Thanks a lot!
>>>>> -- 
>>>>> Best Regards,
>>>>>
>>>>> Deven
>>>> I'm not sure about this one as I suspect it will cause problems in 
>>>> DHCP or any environments where the host addresses changes, say 
>>>> moving to a different wireless network or waking up a machine after 
>>>> hibernation.
>>>>
>>>> -Alan
>>>
>>> That's true. We updated the spec for the caching behavior a while 
>>> back, and probably should have included this exception
>>> for the local host. I agree that we shouldn't change the behavior. 
>>> Perhaps, the 5 seconds could be configurable itself,
>>> but I think it should be kept separate from the main caching behavior.
>>>
>>> - Michael.
>>>
>>
>>
>> -- 
>> Best Regards,
>>
>> Deven
>
>
> -- 
> Best Regards,
>
> Deven

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/net-dev/attachments/20120725/45c04a68/attachment.html 


More information about the net-dev mailing list