-
1. Re: Handling soft versus hard pooledInvoker exceptions in JR
galder.zamarreno Sep 9, 2008 10:07 AM (in response to smarlow)https://jira.jboss.org/jira/browse/JBAS-4963
I created this JIRA a while back to look into the differences between JRMP and Unified invoker proxies in terms of whether failover would be allowed. You could probably add your stuff in there? Feel free to assign it to yourself :) -
2. Re: Handling soft versus hard pooledInvoker exceptions in JR
brian.stansberry Sep 9, 2008 11:22 AM (in response to smarlow)Yes, please group this with JBAS-4963, either as a subtask or as a separate issue that JBAS-4963 depends on.
In general, this pooled code looks hacky. PooledInvokerProxy catching any exception and throwing it as a java.rmi.ConnectException? Basically that seems like a manifestation of a decision to not create a full separate set of classes for the Pooled invokers vs. JRMP, so you end up w/ pooled pretending to be JRMP.
I'm concerned about your fix, because it extends that problem, by introducing a workaround for the pooled case into a class that's also meant to support JRMP. Looking at JRMPInvokerProxyHA, it's probably OK, but I'd like your thoughts on that. -
3. Re: Handling soft versus hard pooledInvoker exceptions in JR
smarlow Sep 9, 2008 4:58 PM (in response to smarlow)I agree that the pooled code looks hacky in the exception handling. I would like to explore what the better fix might be and then we can consider if that is safe enough (I don't want to break fail-over for anyone :-).
On the other hand, a hack fix might be safer for fixing earlier releases (creating a proper full set of classes for the Pooled invokers.) -
4. Re: Handling soft versus hard pooledInvoker exceptions in JR
smarlow Sep 9, 2008 5:00 PM (in response to smarlow)On the other hand, a hack fix might be safer for fixing earlier releases (creating a proper full set of classes for the Pooled invokers.)
I meant to say that a hack fix might be safer for fixing earlier releases (than creating a proper full set of classes for the Pooled invokers.) -
5. Re: Handling soft versus hard pooledInvoker exceptions in JR
brian.stansberry Sep 9, 2008 6:36 PM (in response to smarlow)Agreed about safety in the 4.x releases. These are client-side classes and 4.x is in micro-release mode with possibly older releases trying to communicate with any 4.2.4 this would go into. Adding new classes would break such clients.
It's probably about too late to add new classes to 5.x as well, as the CR2 is about to go out.
I think what you propose looks OK; it basically mimics the behavior of the finally "catch (Exception e)" block in JRMPInvokerProxyHA.invoke(). AFAICT, only side effect it would have would be to prevent failover if java.rmi.ConnectException(cause EOFException) were returned from the server side. And if that happened, preventing failover is probably the right thing to do anyway. -
6. Re: Handling soft versus hard pooledInvoker exceptions in JR
smarlow Sep 10, 2008 9:46 AM (in response to smarlow)I created JBAS-5943 and linked it to JBAS-4963. It looks like Jira has been tightened up to not let me assign JBAS-5943 to myself.
-
7. Re: Handling soft versus hard pooledInvoker exceptions in JR
brian.stansberry Sep 10, 2008 10:05 AM (in response to smarlow)You have two accounts, one is you @ less recent employer, other is you @ more recent employer. You filed it under you @ less recent. I just assigned it to you @ more recent. I'll change it to the other if you like.
-
8. Re: Handling soft versus hard pooledInvoker exceptions in JR
smarlow Sep 10, 2008 10:08 AM (in response to smarlow)No, that is good. Thanks. Someday I'll go from three userids, down to one. :-)
-
9. Re: Handling soft versus hard pooledInvoker exceptions in JR
smarlow Sep 11, 2008 10:08 AM (in response to smarlow)I'm having difficulties running the clustered unit tests on my Windows laptop. I added two virtual network (loopback) adapters and can run the JGroups draw program with those but the app servers launched from the clustered unit test don't see each other.
I want to run the unit tests before my change and again with my changes. I've reviewed the various tips for running on Windows (disable media sense, adding virtual ip addresses).
I'll continue to work through this (unless someone can suggest a shorter path?)
In local.properties, I specified the virtual ip addresses:
node0=169.254.25.130
node1=169.254.25.129 -
10. Re: Handling soft versus hard pooledInvoker exceptions in JR
galder.zamarreno Sep 11, 2008 10:27 AM (in response to smarlow)"ScottMarlowNovell" wrote:
... but the app servers launched from the clustered unit test don't see each other.
How are you launching them the AS instances from the clustered unit test? DId you check one-cluster-test target in testsuite? -
11. Re: Handling soft versus hard pooledInvoker exceptions in JR
brian.stansberry Sep 11, 2008 4:40 PM (in response to smarlow)For testing on Windows, I always ended up assigning two static IPs to one of my regular NICs.
Odd, though, that Draw works while the AS doesn't. -
12. Re: Handling soft versus hard pooledInvoker exceptions in JR
smarlow Sep 15, 2008 10:48 AM (in response to smarlow)Brian,
Assigning two static IPs to my regular NIC, did the trick!
Thanks for the tip.
Scott -
13. Re: Handling soft versus hard pooledInvoker exceptions in JR
smarlow Sep 15, 2008 1:17 PM (in response to smarlow)The clustered unit tests passed. I'll merge the change to trunk + 4_2.
-
14. Re: Handling soft versus hard pooledInvoker exceptions in JR
brian.stansberry Sep 15, 2008 1:21 PM (in response to smarlow)There's a code freeze in effect for trunk; please wait on that. Dimitris will send out a notice on jboss-development@lists.jboss.org when lifted (probably 24 to 48 hours).