[Design of Messaging on JBoss (Messaging/JBoss)] - Re: Client failover redeliveries discussion (Repost)
by clebert.suconic@jboss.com
"timfox" wrote : "clebert.suconic(a)jboss.com" wrote : I already have consumers seamlessly reconnecting to a new server during a HA event.
| |
| | Basically what I do on failover is to create a new consumer on the new server, replace IDs and re-register the Callback handler.
| |
|
| Sounds about right. But what do you mean by "replace ids"?
|
Take an example of recreating the connection.
On the HA experiment Branch, look at ConnectionAspect::handleFailoever:
failoever receives a new ClientConnectionDelegate as the parameter. The idea is to get a new connection, but keep the actual delegates we are using.
Creating a new connection on the new server will create a new server Object, consequently a new ServerId.
The method State.failoever and Delegate transferHAState will be both responsible on making the delegates on the old connection assuming new IDs coming from the new server.
| ClientConnectionDelegate otherConnection = (ClientConnectionDelegate)((MethodInvocation)invocation).getArguments()[0];
| ConnectionState newConnectionState = (ConnectionState)((ClientConnectionDelegate)otherConnection).getState();
|
| currentConnectionState.failOver(newConnectionState);
|
| if (currentConnectionState.getClientID()!=null)
| {
| otherConnection.setClientID(currentConnectionState.getClientID());
| }
|
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3978878#3978878
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3978878
19 years, 5 months
[Design of Messaging on JBoss (Messaging/JBoss)] - Re: Client failover redeliveries discussion
by timfox
"clebert.suconic(a)jboss.com" wrote : I already have consumers seamlessly reconnecting to a new server during a HA event.
|
| Basically what I do on failover is to create a new consumer on the new server, replace IDs and re-register the Callback handler.
|
Sounds about right. But what do you mean by "replace ids"?
anonymous wrote :
|
| There are some issues that I would like to discuss now:
|
| If the consumer receives a message from CallBack but if it didn't send an ACK yet, after the failover, the server not knowing the message might throw an exception (messageId not known).
|
| There are a couple of use cases we have to consider.
| - Persistent Messages. (how to treat a redelivery).
| - Should we send the list of previously ACKs to the server?
|
|
Yes - we should send the ids of every persistent message as part of the failover protocol - the server then repopulates the delivery list in the server consumer endpoint
anonymous wrote :
| - Should we ignore ACKs for non existent messages on the server?
|
Non existent messages on the server will be non persistent messages that didn't survive the failover.
They should be removed from the client side list on failover so the acks will never get sent.
anonymous wrote :
| Second point also:
|
| What to do when a durable subscriber gets the queue refilled?
| - The client will probably receive the message again. I would just ignore redeliveries.
|
|
I don't understand the issue here. Can you explain more?
anonymous wrote :
| I'm considering having a conference call with developers about these possibilities.
|
| Clebert Suconic
Yes, let's do that
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3978864#3978864
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3978864
19 years, 5 months
[Design of Messaging on JBoss (Messaging/JBoss)] - Client failover redeliveries discussion
by clebert.suconic@jboss.com
I already have consumers seamlessly reconnecting to a new server during a HA event.
Basically what I do on failover is to create a new consumer on the new server, replace IDs and re-register the Callback handler. The server at this point will think it's a new client coming. In case of durable subscribers/queues and persistent messages you will have the queue refilled
There are some issues that I would like to discuss now:
If the consumer receives a message from CallBack but if it didn't send an ACK yet, after the failover, the server not knowing the message might throw an exception (messageId not known).
There are a couple of use cases we have to consider.
- Persistent Messages. (how to treat a redelivery).
- Should we send the list of previously ACKs to the server?
- Should we ignore ACKs for non existent messages on the server?
Second point also:
What to do when a durable subscriber gets the queue refilled?
- The client will probably receive the message again. I would just ignore redeliveries.
I'm considering having a conference call with developers about these possibilities.
Clebert Suconic
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3978860#3978860
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3978860
19 years, 5 months
[Design of JBoss Portal] - Re: WANTED: Input from administrators & developers
by roy.russo@jboss.com
"mmontoni" wrote : 1) to order the tabs in the portal. Right now, if the first letter of the page name is in caps, the order is automatically alphabetical.
|
I added this to 2.6, but we changed the nav portlet, so it had to be removed. It allowed for explicit ordering of tabs. We'll try to add it back in for 2.6.
"mmontoni" wrote :
| 2) to choose a layout in a drop down list. For example: 2 collumns (left 40%, right 60%), 2 collumns (left 50%, right 50%) and so on. This would enhance the personalization features of the portal.
|
Planned for 2.6 dashboards.
"mmontoni" wrote :
| 3) to upload a company logo whithin the themes offered. By this I mean that I could maintain the theme and layout offered but change the JBoss Portal Logo to my company logo without having to create a new theme and hard core the new reference to the logo. This would even give me flexibilty to create my own theme and re use it within my company.
|
Sorry, right now you don't have to create a new theme, but package your company logo with our sar and reference it in the css.
"mmontoni" wrote :
| 1) I haven't explore that feature yet in Jboss but I didn't notice in the administration page a feature where I can set a group of users to see, edit or configure a portlet. I am suggesting that perhaps the granulatiry of the security could be in pages or portlets too.
|
The seeing of portlets is configured under the admin ui. To edit/configure a portlet as a user, the security checks must be done inside the portlet code proper.
"mmontoni" wrote :
| 2) It would be interesting to add in the documentation, if it doesn't exist, a topic on how to conifigure the portal to SSO.
|
Just like you would for any other webapp. It encompasses enabling the tomact sso valve.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3978859#3978859
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3978859
19 years, 5 months