Re: JK Removing local_worker and local_worker_only directives
Morning Mladen, I have build with newest patch and the redirect working well. Thanks :-) But the same szenario with domains don't work workers.properties: worker.list=lb,status worker.node1.port=9012 worker.node1.host=localhost worker.node1.type=ajp13 worker.node1.disabled=true worker.node1.domain=A #worker.node1.redirect=node2 worker.node2.port=9022 worker.node2.host=localhost worker.node2.type=ajp13 worker.node2.disabled=false worker.node2.domain=A #worker.node2.redirect=node1 worker.node3.port=9032 worker.node3.host=localhost worker.node3.type=ajp13 worker.node3.disabled=false worker.node3.domain=A worker.lb.balance_workers=node1,node2,node3 worker.lb.type=lb worker.status.type=status szenarios: node1 is disabled node2 is active node3 is active start only node1 start firefox Request failed with Internal Error szenario 2 node1 is disabled node2 is active start node1, node2 request successfull stop node2 request failed Start a new Browser (mozilla) request failed again with Internat Error Peter Mladen Turk schrieb: Peter Rossbach wrote: Well, It works only for old requests, but new request get an Internal Server Error! Yes, seems that my test case was broken. It should work now. Can you check? Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JK Removing local_worker and local_worker_only directives
Peter Rossbach wrote: Morning Mladen, I have build with newest patch and the redirect working well. Thanks :-) Great. But the same szenario with domains don't work You will still need the redirect for hot-standby to work. It's just like for workers, except that instead worker name the domain is used, so you can have multiple failover boxes. worker.node1.domain=A worker.node1.redirect=B worker.node2.domain=A worker.node2.redirect=B worker.node3.domain=B Tell me if it's work. Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JK Removing local_worker and local_worker_only directives
Hello Mladen, no, the redirect domain feature don't work for me. Here my configuration: worker.list=lb,status worker.node1.port=9012 worker.node1.host=localhost worker.node1.type=ajp13 worker.node1.disabled=true worker.node1.domain=B worker.node2.port=9022 worker.node2.host=localhost worker.node2.type=ajp13 worker.node2.disabled=false worker.node2.domain=A worker.node2.redirect=B worker.node3.port=9032 worker.node3.host=localhost worker.node3.type=ajp13 worker.node3.disabled=false worker.node3.domain=A worker.node3.redirect=B worker.lb.balance_workers=node1,node2,node3 worker.lb.type=lb worker.status.type=status Both described szenarios (last email) don't work with the domain redirect config. Peter Mladen Turk schrieb: Peter Rossbach wrote: Morning Mladen, I have build with newest patch and the redirect working well. Thanks :-) Great. But the same szenario with domains don't work You will still need the redirect for hot-standby to work. It's just like for workers, except that instead worker name the domain is used, so you can have multiple failover boxes. worker.node1.domain=A worker.node1.redirect=B worker.node2.domain=A worker.node2.redirect=B worker.node3.domain=B Tell me if it's work. Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JK Removing local_worker and local_worker_only directives
Mladen Turk wrote: You will still need the redirect for hot-standby to work. It's just like for workers, except that instead worker name the domain is used, so you can have multiple failover boxes. Sorry, It won't failover to domain, so: worker.node1.domain=A worker.node1.redirect=node3 worker.node2.domain=A worker.node2.redirect=node3 worker.node3.domain=A worker.node3.disabled=True I'll see if and how a failover redirection for hot standby can be made to a group of workers. Not sure if this will have any real world usage, but it can be made. Convince me why would someone need 5 boxes not doing anything just in case. I mean, a single one should be enough ;). Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JK Removing local_worker and local_worker_only directives
Hello Mladen, Great, now my cluster hot standby works as aspected. Thanks for your quick help! Current support of redirect is enough for me. http://dict.leo.org/se?lp=endep=/Mn4k.search=enoughThe domain redirect use case to startup very save a next software generation is working with the existing domain concept. You have two tomcat cluster domains. Two Apaches and three tomcat instances at every cluster domain. worker.nodeA01.domain=A0 worker.nodeA02.domain=A0 worker.nodeA03.domain=A0 worker.nodeB01.domain=B0 worker.nodeB02.domain=B0 worker.nodeB03.domain=B0 worker.list=lb,status worker.lb.balance_workers=nodeA01,nodeA02,nodeA03,nodeB01,nodeB02,nodeB03 worker.lb.type=lb worker.status.type=status Now you want start a new software generation under high load Start the new Instance A1x, B1x change the workers.properties at apache A and B gracefull restart the apaches. worker.nodeA01.domain=A0 worker.nodeA01.disabled=True worker.nodeA02.domain=A0 worker.nodeA02.disabled=True worker.nodeA03.domain=A0 worker.nodeA03.disabled=True worker.nodeB01.domain=B0 worker.nodeB01.disabled=True worker.nodeB02.domain=B0 worker.nodeB02.disabled=True worker.nodeB03.domain=B0 worker.nodeB03.disabled=True worker.nodeA11.domain=A1 worker.nodeA12.domain=A1 worker.nodeA13.domain=A1 worker.nodeB11.domain=B1 worker.nodeB12.domain=B1 worker.nodeB13.domain=B1 worker.list=lb,status worker.lb.balance_workers=nodeA11,nodeA12,nodeA13,nodeB11,nodeB12,nodeB13,nodeA01,nodeA02,nodeA03,nodeB01,nodeB02,nodeB03 worker.lb.type=lb worker.status.type=status Old Session A0x, B0x working very well for old existing session and replicated backup. All new sessions goes to A1x,B1x nodes After a some times, the admin can drop the old nodes (A0x, B0x) with zero sessions active and than remove the A0x and B0x workers. How can I force a autoreloading with update the workers.properties, without gracefull restart the apache? Thanks very much, Peter Mladen Turk schrieb: Mladen Turk wrote: You will still need the redirect for hot-standby to work. It's just like for workers, except that instead worker name the domain is used, so you can have multiple failover boxes. Sorry, It won't failover to domain, so: worker.node1.domain=A worker.node1.redirect=node3 worker.node2.domain=A worker.node2.redirect=node3 worker.node3.domain=A worker.node3.disabled=True I'll see if and how a failover redirection for hot standby can be made to a group of workers. Not sure if this will have any real world usage, but it can be made. Convince me why would someone need 5 boxes not doing anything just in case. I mean, a single one should be enough ;). Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JK Removing local_worker and local_worker_only directives
Peter Rossbach wrote: Hello Mladen, Great, now my cluster hot standby works as aspected. Thanks for your quick help! Well, AFAICT you are commiter too, so, feel free to commit any changes that will fit better ;). How can I force a autoreloading with update the workers.properties, without gracefull restart the apache? Can not. Only JkMountFile can be reloaded at runtime. For such a feature we will need AJP14 and something completely different then mod_jk. If you wish to add new worker at runtime, you will either have to predict that, and add disabled worker in config or restart the apache. Regards, Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JK Removing local_worker and local_worker_only directives
Hello Mladen, after a very long thinking I have missing a hot Standby feature, when we remove local_work flag. Example two tomcat instance with local_worker=true and domain=A one tomcat instance with local_worker=false and domain=B New session only generate to domain A tomcat instance After complete disable all domain A instance, the new sessions fork to tomcat instances at domain B ( hot standby) After complete domain A instances failure all requests forward to domain B instances. How I can configure this without local_work flag? I thing we can rename the flag to preferred_worker. Peter Mladen Turk schrieb: Hi, I would like to deprecate the local_worker and local_worker_only directives. The reason is that we have now shared memory, and thus more powerful ways to accomplish it's use. Now, we two new directives 'redirect' and 'domain' that are more powerful then exiting ones. Here is how it works: 1. If there is a session the request is routed to the worker. 2. If there is no session and the worker is disabled, meaning not accepting new connections then the request is redirected to the 'redirect' router if present or 'domain' if not. 3. If there is a session and the worker is in error state and the 'sticky_session_force' is not set then the 'redirect' and 'domain' are checked. 4. If there is a session and the worker is in error state and the 'sticky_session_force' is set the 500 is returned. Here is the simple state table: ('x' means don't care, '-' means not set) | worker | session | route | domain | force | err | dis | result | | w1 | w1 | x | x| x | 0 | x | w1 | | w1 | w1 | x | x| 1 | 1 | x | 500| | w1 | w1 | w2 | x| 0 | 1 | x | w2 | | w1 | w1 | - | grp | 0 | 1 | x | grp| | w1 | - | - | -| x | 0 | 0 | any| | w1 | - | - | grp | x | 0 | 0 | grp| | w1 | - | - | -| x | 0 | 1 | !w1| So, basically the local_worker_only will become 'sticky_session_force', that is more descriptive meaning of the actual usage. Regards, Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JK Removing local_worker and local_worker_only directives
Peter Rossbach wrote: Hello Mladen, after a very long thinking I have missing a hot Standby feature, when we remove local_work flag. How I can configure this without local_work flag? I thing we can rename the flag to preferred_worker. OK. Worker B used as hot standby: worker.A.redirect=B worker.B.disabled=True worker.LB.sticky_session=True worker.LB.balance_workers=A,B If you wish to have a hot-standby tomcat cluster group, then use domains. For single workers use worker names. So worker B is initially disabled. Worker A has redirect of 'failover' to B. Worker B will not receive any requests unless worker A gets in error state or disabled. If worker A gets disabled existing sessions will be still served, new one will go to B. Later you can use jkstatus, and switch their roles. Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JK Removing local_worker and local_worker_only directives
Hello Mladen, hmm, with your example I got a Internal Server Error after I disable or drop active node2 and start a new session request! :-( All request with active node2 session work properly when node2 shutdown! What I want is that after a failure, the node1 got all requests. This szenario work very well with old local_worker mode. Here my test confguration: worker.list=lb,status worker.node1.port=9012 worker.node1.host=localhost worker.node1.type=ajp13 worker.node1.disabled=true worker.node2.port=9022 worker.node2.host=localhost worker.node2.type=ajp13 worker.node2.disabled=false worker.node2.redirect=node1 worker.lb.balance_workers=node1,node2 worker.lb.type=lb worker.status.type=status Peter Mladen Turk schrieb: Peter Rossbach wrote: Hello Mladen, after a very long thinking I have missing a hot Standby feature, when we remove local_work flag. How I can configure this without local_work flag? I thing we can rename the flag to preferred_worker. OK. Worker B used as hot standby: worker.A.redirect=B worker.B.disabled=True worker.LB.sticky_session=True worker.LB.balance_workers=A,B If you wish to have a hot-standby tomcat cluster group, then use domains. For single workers use worker names. So worker B is initially disabled. Worker A has redirect of 'failover' to B. Worker B will not receive any requests unless worker A gets in error state or disabled. If worker A gets disabled existing sessions will be still served, new one will go to B. Later you can use jkstatus, and switch their roles. Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JK Removing local_worker and local_worker_only directives
Peter Rossbach wrote: Hello Mladen, hmm, with your example I got a Internal Server Error after I disable or drop active node2 and start a new session request! :-( All request with active node2 session work properly when node2 shutdown! What I want is that after a failure, the node1 got all requests. Sorry, but this works well and as expected. 1. Node2:in_error - redirect to node1 2. Node2:disabled - exiting sessions to node2 if Node1 disabled too - 500 3. Enable Node1 - new sessions to Node1 So you will need to enable node1 then disable node2 if you are doing maintenance. Other thing is if Node2 breaks, then Node1 will take old and new requests. Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JK Removing local_worker and local_worker_only directives
Well, but at my test following is not the case: Other thing is if Node2 breaks, then Node1 will take old and new requests. It works only for old requests, but new request get an Internal Server Error! Test with Apache 2.053, Windows XP, mod_jk CVS Head, Tomcat 5.5.8, JDK 1.5.0 Peter Mladen Turk schrieb: Peter Rossbach wrote: Hello Mladen, hmm, with your example I got a Internal Server Error after I disable or drop active node2 and start a new session request! :-( All request with active node2 session work properly when node2 shutdown! What I want is that after a failure, the node1 got all requests. Sorry, but this works well and as expected. 1. Node2:in_error - redirect to node1 2. Node2:disabled - exiting sessions to node2 if Node1 disabled too - 500 3. Enable Node1 - new sessions to Node1 So you will need to enable node1 then disable node2 if you are doing maintenance. Other thing is if Node2 breaks, then Node1 will take old and new requests. Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JK Removing local_worker and local_worker_only directives
Peter Rossbach wrote: Well, It works only for old requests, but new request get an Internal Server Error! Yes, seems that my test case was broken. It should work now. Can you check? Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JK Removing local_worker and local_worker_only directives
+1, I was unconfortable to explain these. Simpler the better On Tue, 15 Feb 2005 08:58:11 +0100, Mladen Turk [EMAIL PROTECTED] wrote: Hi, I would like to deprecate the local_worker and local_worker_only directives. The reason is that we have now shared memory, and thus more powerful ways to accomplish it's use. Now, we two new directives 'redirect' and 'domain' that are more powerful then exiting ones. Here is how it works: 1. If there is a session the request is routed to the worker. 2. If there is no session and the worker is disabled, meaning not accepting new connections then the request is redirected to the 'redirect' router if present or 'domain' if not. 3. If there is a session and the worker is in error state and the 'sticky_session_force' is not set then the 'redirect' and 'domain' are checked. 4. If there is a session and the worker is in error state and the 'sticky_session_force' is set the 500 is returned. Here is the simple state table: ('x' means don't care, '-' means not set) | worker | session | route | domain | force | err | dis | result | | w1 | w1 | x | x| x | 0 | x | w1 | | w1 | w1 | x | x| 1 | 1 | x | 500| | w1 | w1 | w2 | x| 0 | 1 | x | w2 | | w1 | w1 | - | grp | 0 | 1 | x | grp| | w1 | - | - | -| x | 0 | 0 | any| | w1 | - | - | grp | x | 0 | 0 | grp| | w1 | - | - | -| x | 0 | 1 | !w1| So, basically the local_worker_only will become 'sticky_session_force', that is more descriptive meaning of the actual usage. Regards, Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JK Removing local_worker and local_worker_only directives
PLEASE STOP SENDING US YOUR E-MAILSSatalogue --- Henri Gomez [EMAIL PROTECTED] wrote: +1, I was unconfortable to explain these. Simpler the better On Tue, 15 Feb 2005 08:58:11 +0100, Mladen Turk [EMAIL PROTECTED] wrote: Hi, I would like to deprecate the local_worker and local_worker_only directives. The reason is that we have now shared memory, and thus more powerful ways to accomplish it's use. Now, we two new directives 'redirect' and 'domain' that are more powerful then exiting ones. Here is how it works: 1. If there is a session the request is routed to the worker. 2. If there is no session and the worker is disabled, meaning not accepting new connections then the request is redirected to the 'redirect' router if present or 'domain' if not. 3. If there is a session and the worker is in error state and the 'sticky_session_force' is not set then the 'redirect' and 'domain' are checked. 4. If there is a session and the worker is in error state and the 'sticky_session_force' is set the 500 is returned. Here is the simple state table: ('x' means don't care, '-' means not set) | worker | session | route | domain | force | err | dis | result | | w1 | w1 | x | x| x | 0 | x | w1 | | w1 | w1 | x | x| 1 | 1 | x | 500| | w1 | w1 | w2 | x| 0 | 1 | x | w2 | | w1 | w1 | - | grp | 0 | 1 | x | grp| | w1 | - | - | -| x | 0 | 0 | any| | w1 | - | - | grp | x | 0 | 0 | grp| | w1 | - | - | -| x | 0 | 1 | !w1| So, basically the local_worker_only will become 'sticky_session_force', that is more descriptive meaning of the actual usage. Regards, Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] = FROM SATALOGUE TECHNICAL DEPARTMENT...WE HAVE READ YOUR E-MAIL... Please call our Duty Engineer on 01332 811564 - for a proper 'one to one' answer as further information and / or clarification is required from you in order to answer your question properly . He is available from 10am until 5pm Monday to Friday inclusive. TO RETURN TO SATALOGUE WEBSITE: Click on to link below. http://www.satalogue.com/about.htm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
JK Removing local_worker and local_worker_only directives
Hi, I would like to deprecate the local_worker and local_worker_only directives. The reason is that we have now shared memory, and thus more powerful ways to accomplish it's use. Now, we two new directives 'redirect' and 'domain' that are more powerful then exiting ones. Here is how it works: 1. If there is a session the request is routed to the worker. 2. If there is no session and the worker is disabled, meaning not accepting new connections then the request is redirected to the 'redirect' router if present or 'domain' if not. 3. If there is a session and the worker is in error state and the 'sticky_session_force' is not set then the 'redirect' and 'domain' are checked. 4. If there is a session and the worker is in error state and the 'sticky_session_force' is set the 500 is returned. Here is the simple state table: ('x' means don't care, '-' means not set) | worker | session | route | domain | force | err | dis | result | | w1 | w1 | x | x| x | 0 | x | w1 | | w1 | w1 | x | x| 1 | 1 | x | 500| | w1 | w1 | w2 | x| 0 | 1 | x | w2 | | w1 | w1 | - | grp | 0 | 1 | x | grp| | w1 | - | - | -| x | 0 | 0 | any| | w1 | - | - | grp | x | 0 | 0 | grp| | w1 | - | - | -| x | 0 | 1 | !w1| So, basically the local_worker_only will become 'sticky_session_force', that is more descriptive meaning of the actual usage. Regards, Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]