For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

hoolio's avatar
hoolio
Icon for Cirrostratus rankCirrostratus
Jun 28, 2010

Datagroup access during a datagroup update

Hi,

We're testing updates to a relatively large datagroup while accessing the datagroup from an iRule. With an internal datagroup on 10.2.0 containing ~5000 entries, we run apachebench against the VS and log a debug line if the number of class entries changes:


when HTTP_REQUEST {
   if {[class size my_class]] != 5000}{
     log local0. "size: [class size my_class]"
   }
}

When clicking update on the GUI's datagroup page for this test class, we see ~3000 instances of varying counts in the course of sending 100 concurrent requests for a total of 100,000. It looks like the class length count starts to drop and then increments back up to the correct total. The reason we tried testing this count was we were seeing class lookups fail for entries which should have existed in the class.

I thought a datagroup update was an atomic operation where the class would continue to exist in it's past configuration state for an existing TCP connection and wouldn't be updated until a new TCP connection was established after the datagroup update was complete.

Can anyone clarify whether this variation in class entries is expected behavior? If so, has F5 done any performance testing that would give a rough idea of when you might start to see a service affecting issue while updating a datagroup on the various platforms? As it is, it's looking like we'd need to suggest to customers that they only update datagroups during low traffic periods or maintenance windows.

Also, would it have less impact on live traffic to do a diff between the old/new class contents and then use 'b class CLASS_NAME add|delete' to modify the datagroup?

Thanks, Aaron

17 Replies

  • FYI, Finally got around to opening a case on this, I referenced ID222648. Hopefully they will fix it in 11.

     

     

    I noticed this one day we had people makeing changes all day long constantly to a large datagroup, we had calls for some failures..
  • hoolio's avatar
    hoolio
    Icon for Cirrostratus rankCirrostratus
    Thanks for that. Do you mind posting your case number so I can read the notes?

     

     

    Thanks, Aaron
  • Sure, C855775.

     

     

    Not much else than I posted above.. I didn't take the time to run a nifty irule catching when class size went below 5000 :) I just put 2 and 2 together with what was going on during the day and what the users were complaining about..

     

     

  • hoolio's avatar
    hoolio
    Icon for Cirrostratus rankCirrostratus
    As 11.0 is in beta already and a fix isn't coded for this, I don't think it's likely anything will happen for 11.0. But hopefully we'll get some traction for a subsequent release. I'll see what I can do to escalate this issue internally as well.

     

     

    Aaron
  • hoolio's avatar
    hoolio
    Icon for Cirrostratus rankCirrostratus
    Hi Arie,

     

     

    There's a related bug noted in BZ381100. If you've been affected by this, could you open a case with F5 Support and ask to have your case attached to raise the visibility of the issue?

     

     

    Thanks, Aaron

     

  • Dears,

     

    Any Idea whether Bug 222648 or BZ381100 has been fixed yet or not?

     

    Regards,

     

    Mohammed Shiraz