Forum Discussion

The_Mentalist_1's avatar
The_Mentalist_1
Icon for Nimbostratus rankNimbostratus
Oct 19, 2011

JsessionID cookie flush persist table

Hi guys

 

 

 

i use JsessionID iRule ,

 

 

 

but when a pool member is down , F5 take a few second (8-9) to redirect to other server.

 

 

 

i have a monitor configure in 2-3 second......

 

 

 

i think f5 take this time because in the persist table still appears the record of the pool member down.

 

 

 

so

 

 

 

How i can delete this record whit the iRule.?

 

 

 

thanks!

 

 

 

  • The delay that you are seeing should just be the Timeout Value Time in the Health Monitor.

     

     

    Interval: 5 seconds

     

    Timeout: 16 seconds

     

     

    The Health monitor has to timeout before it will mark the node down.

     

     

    If you are wanting to rush things you could add another event in your iRule LB_FAILED Event and then use LB::down, persist none, and LB::reslect

     

     

    http://devcentral.f5.com/wiki/iRules.LB__down.ashx

     

    http://devcentral.f5.com/wiki/iRules.persist.ashx

     

    http://devcentral.f5.com/wiki/iRules.LB__reselect.ashx

     

     

    Hope this helps.
  • is irule logging helpful to see what is going on?

    e.g.

    [root@iris:Active] config  b virtual bar list
    virtual bar {
       snat automap
       pool foo
       destination 172.28.17.33:http
       ip protocol tcp
       rules myrule
       profiles {
          http {}
          tcp {}
       }
    }
    [root@iris:Active] config  b pool foo list
    pool foo {
       members {
          10.10.70.110:http {}
          74.125.235.50:http {}
       }
    }
    [root@iris:Active] config  b rule myrule list
    rule myrule {
       when CLIENT_ACCEPTED {
            log local0. "[IP::client_addr]:[TCP::client_port]"
    }
    
    when HTTP_REQUEST {
            log local0. "[IP::client_addr]:[TCP::client_port]|[HTTP::uri]"
    }
    
    when LB_SELECTED {
            log local0. "[IP::client_addr]:[TCP::client_port]|[HTTP::uri]|[LB::server addr]"
    }
    
    when LB_FAILED {
            log local0. "[IP::client_addr]:[TCP::client_port]|[HTTP::uri]|[LB::server addr]"
    
            LB::down
            LB::reselect
    }
    
    when HTTP_RESPONSE {
            log local0. "[IP::client_addr]:[TCP::client_port]|[IP::remote_addr]:[TCP::remote_port]"
    }
    }
    
    Oct 21 18:25:45 local/tmm info tmm[17220]: Rule myrule : 172.28.17.30:56297
    Oct 21 18:25:45 local/tmm info tmm[17220]: Rule myrule : 172.28.17.30:56297|/
    Oct 21 18:25:45 local/tmm info tmm[17220]: Rule myrule : 172.28.17.30:56297|/|10.10.70.110
    Oct 21 18:25:45 local/tmm info tmm[17220]: Rule myrule : 172.28.17.30:56297|/|10.10.70.110
    Oct 21 18:25:45 local/tmm info tmm[17220]: Rule myrule : 172.28.17.30:56297|/|74.125.235.50
    Oct 21 18:25:45 local/iris err mcpd[15514]: 01070809:3: iRule has marked pool member 10.10.70.110:80 down, no monitor to mark up.
    Oct 21 18:25:45 local/iris notice mcpd[15514]: 01070638:5: Pool member 10.10.70.110:80 monitor status iRule down.
    Oct 21 18:25:45 local/tmm info tmm[17220]: Rule myrule : 172.28.17.30:56297|74.125.235.50:80