[jboss-jira] [JBoss JIRA] Updated: (JBAS-8710) HASingleton PreferredMasterElectionPolicy failing with IPv6 addresses

Richard Achmatowicz (JIRA) jira-events at lists.jboss.org
Fri Dec 3 11:35:47 EST 2010


     [ https://jira.jboss.org/browse/JBAS-8710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard Achmatowicz updated JBAS-8710:
--------------------------------------

    Description: 
The bean org.jboss.ha.singleton.PreferredMasterElectionPolicy has an attribute preferredMaster which identified a process in a cluster which should be the master node in a clustered partition.

The preferred master attriubute is specified in the form host:port.
This format works fine for IPv4 addresses, but breaks down for IPv6 addresses unless the host part is surrounded with square brackets, according to rfc2732.

There are two places which above class may break:
(i) in setting the preferred master attribute
(ii) in comparing ClusterNode instances using PreferredMasterElectionPolicy.find() to check if a given preferred master is in the current cluster.


 
 
 


  was:
org.jboss.test.cluster.defaultcfg.web.test.CleanShutdownTestCase checks the behaviour of HTTP requests to a server which in the process of shutting down.
As part of its processing, it uses a method 

Cookie findCookie(int serverIndex, String name)

to find a cookie with a given name on a given server (usually indexed by 0 or 1).
Cookies are matched when they have the same domain and name.

Cookie domains can be represented as hostnames, or IP address literals. 

Our version of HttpClient (which I hacked about one year ago) will always use enclosing brackets when presented with an IPv6 address literal.
HttpClient 3.0.1 and 3.1 did not support IPv6 address literals at the time. 

I may have to reinvestigate what the correct standard is, but for the time being, the above test is failing because findCookie does not wrap IPv6 address literals 
in square brackets before trying to match. As a result, we get assertion failures in the test, even though we have the correct cookies being returned:

Error Message
null

Stacktrace
junit.framework.AssertionFailedError: null
	at org.jboss.test.cluster.defaultcfg.web.test.CleanShutdownTestCase.testShutdown(CleanShutdownTestCase.java:164)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
	at junit.extensions.TestSetup.run(TestSetup.java:27)

Standard Output
After initial request
[fec0:0:a16:ffff::d]	JSESSIONID	/http-sr	Eiq93h0lJFU7W6Y7YDNnXw__.cluster-udp-DIST-0
After request initiated prior to shutdown
[fec0:0:a16:ffff::d]	JSESSIONID	/http-sr	Eiq93h0lJFU7W6Y7YDNnXw__.cluster-udp-DIST-0
[fec0:0:a16:ffff::d]	sleep	/http-sr	0

findCookie(0, "0") is trying to match on the pair ("fec0:0:a16:ffff::d", "0")

 




> HASingleton PreferredMasterElectionPolicy failing with IPv6 addresses
> ---------------------------------------------------------------------
>
>                 Key: JBAS-8710
>                 URL: https://jira.jboss.org/browse/JBAS-8710
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Clustering, Test Suite
>    Affects Versions: 6.0.0.CR1
>            Reporter: Richard Achmatowicz
>            Assignee: Paul Ferraro
>             Fix For: 6.0.0.Final
>
>
> The bean org.jboss.ha.singleton.PreferredMasterElectionPolicy has an attribute preferredMaster which identified a process in a cluster which should be the master node in a clustered partition.
> The preferred master attriubute is specified in the form host:port.
> This format works fine for IPv4 addresses, but breaks down for IPv6 addresses unless the host part is surrounded with square brackets, according to rfc2732.
> There are two places which above class may break:
> (i) in setting the preferred master attribute
> (ii) in comparing ClusterNode instances using PreferredMasterElectionPolicy.find() to check if a given preferred master is in the current cluster.
>  
>  
>  

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list