Forum Discussion

engtmk's avatar
engtmk
Icon for Nimbostratus rankNimbostratus
Apr 12, 2008

Problem

moved here to continue the problem

 

 

I have persistance over the VS so I think that might be the problem cause even after I used detach and rr it still select the same node .

 

 

I have searched the forum for a way to disable the persistance but it all show how to create persistance .

 

 

so how can I overcome the persistance problem

4 Replies

  • The original post was in the config forum (Click here). You should be able to use 'persist none' to disable persistence. If the application requires persistence, you'd want to re-enable it in a subsequent event using the persist command (Click here) again.

     

     

    Aaron
  • That looks okay. Can you try that as you have it?

     

     

    If it still doesn't work and the same node is still specified, could you try setting a variable in HTTP_RESPONSE_DATA to 0 initially and to 1 if you're using HTTP::retry? Then check to see if that variable is set in HTTP_REQUEST. If it's set to 1, use the persist command to specify the persistence profile type and options.

     

     

    Aaron
  • engtmk's avatar
    engtmk
    Icon for Nimbostratus rankNimbostratus
    when RULE_INIT {

     

    set retries 0

     

    }

     

    when CLIENT_ACCEPTED {

     

    set retries 0

     

    set userip [IP::client_addr]

     

    log local0. "the user ip is $userip"

     

    if { [IP::addr [IP::remote_addr] equals "10.10.10.224"] } {

     

    log local0. "==================================================="

     

    log local0. "step no 1"

     

     

    }

     

     

    }

     

    when HTTP_REQUEST {

     

    set request [HTTP::request]

     

    set url [HTTP::uri]

     

    set hmethod [HTTP::method]

     

    set retries 0

     

    log local0. "HTTP request: $request"

     

     

    if { [IP::addr [IP::remote_addr] equals "10.10.10.224"] } {

     

    log local0. "===================Request Start ================================"

     

    log local0. "$request"

     

    log local0. "step no 2 new"

     

    log local0. "HTTP request: $request"

     

    }

     

    }

     

     

    when LB_SELECTED {

     

    persist none

     

     

    if { [IP::addr [IP::client_addr] equals "10.10.10.224"] } {

     

    log local0. "step no 3 new"

     

    log local0.alert "start server ip is $[LB::server] and the clientis $userip"

     

    }

     

     

    if { $retries >= 1 } {

     

    log local0. "befor is [LB::server addr]"

     

    LB::reselect pool pol_http_test

     

    log local0. "after is [LB::server addr]"

     

     

    if { [IP::addr [IP::remote_addr] equals "10.10.10.224"] } {

     

    log local0.alert "end server ip is [LB::server] and the clientis $userip"

     

    }

     

    }

     

    persist cookie

     

    }

     

     

    when LB_FAILED {

     

    HTTP::redirect "someurl"

     

    }

     

     

     

    when HTTP_RESPONSE {

     

    if { [IP::addr [IP::client_addr] equals "10.10.10.224"] } {

     

     

    log local0. "step no 4 new"

     

    log local0. "staus code is [HTTP::status]"

     

    log local0. "**********Request Response************************"

     

     

    }

     

     

    if {([HTTP::status] starts_with "5") or([HTTP::status] starts_with "4")}{

     

    log local0. "$url"

     

    incr retries

     

    log local0. "no of retries now is $retries"

     

    log "4xx error caught: retry $retries out of [active_members [LB::server pool]]"

     

    log "the uri is $request"

     

    check to see if the no of you have tried all the servers in the pool

     

    if { $retries < [active_members [LB::server pool]]} {

     

    log local0. $hmethod

     

    if { [IP::addr [IP::client_addr] equals "10.10.10.224"] } {

     

     

    log local0. "step no 5 optional"

     

    log local0. "staus code is [HTTP::status]"

     

    log local0. "$request"

     

    log local0. "*UUUUUUUUUUUUUUU Retrying Request UUUUUUUUUUUUUUUUUUUUUUUUUU"

     

     

    }

     

     

     

    HTTP::retry $request

     

     

    all server are down then go and serve the page of error

     

    } elseif {not ($url starts_with "/chat")} {

     

     

    HTTP::redirect "someurls"

     

    log local0. "$url"

     

    log local0. "$url"

     

    log local0. "the page couldnt be found on any of the servers $request"

     

    }

     

    }

     

    }

     

     

    not working as it still selecting the same node over and over agian

     

    and once it reached to the max no of retires = no of nodes in pool it stop and direct the user to the error page

     

     

    why i have used the persist none so it should work