[JBoss JIRA] Created: (JBAS-7253) Don't assume Address object available from Channel is an IpAddress
by Brian Stansberry (JIRA)
Don't assume Address object available from Channel is an IpAddress
------------------------------------------------------------------
Key: JBAS-7253
URL: https://jira.jboss.org/jira/browse/JBAS-7253
Project: JBoss Application Server
Issue Type: Task
Security Level: Public (Everyone can see)
Components: Clustering
Reporter: Brian Stansberry
Assignee: Brian Stansberry
Fix For: JBossAS-6.0.0.Alpha1
In JGroups 2.8, the Address type will typically not be IpAddress, so simply casting the Address to IpAddress and passing it to the ClusterNodeImpl ctor is invalid. The calling node needs to find the underlying InetAddress/port from the JGroups channel and pass the values to the constructor. Instead something like this needs to be done to get the IpAddress:
IpAddress physicalAddress = (IpAddress) channel.downcall(new Event(Event.GET_PHYSICAL_ADDRESS, a));
The ClusterNodeImpl.getOriginalJGAddress() method can be removed. It is not part of the ClusterNode interface, which is the API for this class.
It is tempting to remove the ClusterNodeImpl.originalJGAddress field and change the ClusterNodeImpl ctor to take InetAddress + port instead of IpAddress. However, this changes the serialization format of the class. We'd need to have a jboss-dev list discussion before doing that.
Eclipse reports 3 places where the ClusterNodeImpl ctor is called; 2 in ClusterPartition and one in RspFilterAdapter. RspFilterAdapter is called every time an RPC response comes in, so calling channel.downcall each time is clearly not reasonable. I think the thing to do is to find/cache in ClusterPartition the IpAddresses each time a new view comes in. In a ConcurrentMap<Address, IpAddress>. Then add a new IpAddressResolver interface that ClusterPartition implements by doing a map lookup or a channel.downcall is necessary. Probably better to use a separate class for this map/channel.downcall functionality. ClusterPartition will pass a ref to IpAddressResolver to any RspFilterAdapter it creates.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 3 months
[JBoss JIRA] Created: (JBRULES-2376) Parser fails when accessing property/method called 'end'
by Barry Kaplan (JIRA)
Parser fails when accessing property/method called 'end'
--------------------------------------------------------
Key: JBRULES-2376
URL: https://jira.jboss.org/jira/browse/JBRULES-2376
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-compiler-DSL
Affects Versions: 5.1.0.M1
Reporter: Barry Kaplan
Assignee: Mark Proctor
Consider the following:
declare Foo
end : String
end
rule "foo" dialect "java"
when
then
foo = new Foo()
e = foo.end()
end
The compiler fails with the following error: [xx,yy]: [ERR 102] Line xx:yy mismatched input '('
If the rule is changed to (ie, remove the parens on the 'end')
rule "foo" dialect "java"
when
then
foo = new Foo()
e = foo.end
end
The compiler error is: [0,-1]: [ERR 101] Line 0:-1 no viable alternative at input '<eof>'
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 3 months