cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Evans (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CASSANDRA-628) java.net.SocketException: Invalid argument / java.net.NoRouteToHostException: Network is unreachable
Date Sun, 23 May 2010 03:00:18 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12870349#action_12870349
] 

Eric Evans commented on CASSANDRA-628:
--------------------------------------

We've at least one user who uses IPv6, and as far as I know, I'm the only one that has run
into this particular problem; I think that setting -Djava.net.preferIPv4Stack=true would be
optimizing for the wrong case. 

Also, this problem and the workarounds for it are pretty well known at this point, so it's
possible that it isn't much of an issue because folks who run Java are already setting IPV6_V6ONLY=0.


I mostly submitted this to document.

> java.net.SocketException: Invalid argument / java.net.NoRouteToHostException: Network
is unreachable
> ----------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-628
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-628
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: Linux, FreeBSD, (possibly others)
>            Reporter: Eric Evans
>
> This manifests as either a SocketException that occurs when starting a cassandra node,
or a NoRouteToHostException which occurs when connecting with a client.
> On Linux systems this is caused by IPV6_V6ONLY being set true. The docs (ipv6(7)) say
that when set this causes sockets to be created IPv6 only, while the previous behavior also
allowed sending and receiving packets using an  IPv4-mapped IPv6 address.
> The quick fix is to either launch applications using the -Djava.net.preferIPv4Stack=true
property, or on Linux systems set net.ipv6.bindv6only=0 (see sysctl(8)).
> My limited understanding is that the previous behavior (IPV6_V6ONLY=0) was always considered
a hack to be used until IPv6 was more mature/had gained traction and that a change in defaults
was always inevitable, so in the long-term a Real Fix will be needed.
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6342561
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560056

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message