Forum Discussion

Andy_Herrman_22's avatar
Andy_Herrman_22
Icon for Nimbostratus rankNimbostratus
Jun 21, 2006

Problem with persistence

I have a setup with a BIG-IP load balancer with 2 servers in a pool being load balanced. The URI that the user is connecting with contains a query parameter that is used for the persistence value. According to our logging the iRule is correctly extracting the value and setting the persistence, but requests with the same value don't always go to the same machine.

The iRule is pretty simple:


when HTTP_REQUEST {
  set fulluri [HTTP::uri]
  set uid [findstr [HTTP::uri] "uid=" 5 "&"]
  if { $uid != "" } {
    log local0. "Set persist value to uid: $uid  | $fulluri"
    persist uie $uid
  }
  else {
    log local0. "No uid found in HTTP REQUEST  | $fulluri"
  }
}

The logging that displays always shows the correct uid value. However, I get logging on both servers showing that they've gotten requests, and those logs show the same uid. BIG-IP stats also show that it's sending requests to both servers, thought the persistence table seems correct.

Has anyone run into anything like this before? I can't find anything wrong with the iRule, and the requests are happening fast enough that the persistence values wouldn't be timing out.

14 Replies