Forum Discussion

dimka___104021's avatar
dimka___104021
Icon for Nimbostratus rankNimbostratus
May 21, 2008

universal persistence is not persistent?

Hi,

 

 

I'm using custom universal persistency, which is assigned to VS. If in request specific string found in URL, it persists this request.

 

But strange thing is happens in persistency table. Why "b persist all show all" shows for same VS and same "Value" different nodes?

 

 

Mode: universal Value: -1398177477

 

Virtual: 192.168.80.205:https Node: 172.28.252.42:9300 Age: 0sec

 

 

Mode: universal Value: -1398177477

 

Virtual: 192.168.80.205:https Node: 172.28.252.165:9081 Age: 0sec

 

 

Mode: universal Value: -1398177477

 

Virtual: 192.168.80.205:https Node: 172.28.252.166:9303 Age: 0sec

 

 

 

This weird thing have been noticed on 9.4.3 & 9.1.3.

4 Replies

  • Do you see duplicate persistence entries for all requests? Can you post the iRule which you're testing?

     

     

    Aaron
  • here you go:

     

     

    pers_vs12 persistency profile assigned to VS

     

     

    profile persist pers_vs12 {

     

    defaults from universal

     

    mode universal

     

    mirror enable

     

    timeout 3600

     

    rule pers_vs12

     

    }

     

     

     

    rule pers_vs12 {

     

    when HTTP_RESPONSE {

     

    if { [HTTP::header exists "jsessionid"] } {

     

    set jsess_resp [findstr [HTTP::header "jsessionid"] "!" 1 "!"]

     

    if { $jsess_resp != "" } {

     

    persist add uie $jsess_resp

     

    }

     

    }

     

    }

     

     

     

    This is irule i use for persistency:

     

     

    when HTTP_REQUEST {

     

    if { [HTTP::uri] starts_with "/app12" } {

     

    set jsess [findstr [HTTP::uri] "!" 1 "?"]

     

    if { $jsess != "" } {

     

    HTTP::header insert X-WebLogic-Force-JVMID $jsess

     

    persist universal $jsess

     

    }

     

    pool app12_dyn_be

     

    }

     

    }

     

     

  • Duplicates are for some requests:

     

     

    Mode: universal Value: 1835648582

     

    Virtual: 192.168.80.205:webcache Node: 172.28.252.150:9080 Age: 349sec

     

     

    Mode: universal Value: 1835648582

     

    Virtual: 192.168.80.205:webcache Node: 172.28.252.156:9201 Age: 216sec

     

     

     

    If i persist by URL string part (1835648582 in this case), which node is used and why?
  • So you see multiple persistence records for the same value intermittently (not on every request)?

     

     

    I'm not sure what would cause this. Here's a stab in the dark...

     

     

    If you change the pers_vs12 rule's line from

     

     

    persist add uie $jsess_resp

     

     

    to

     

     

    persist add uie $jsess_resp 3600

     

     

    and then remove the universal persistence profile from the VIP, do you still see the issue occur?

     

     

    Aaron