Hi, I fixed the issue within https://issues.apache.org/bugzilla/show_bug.cgi?id=56160.
Your reviews and tests are really welcome as this part of JMeter is complex and changes could introduce regressions. I added 2 Junit tests to ensure previously fixed bugs were still fixed. More Junit test cases would be great. By the way I fixed an issue in existing JUnit of TestIfController where initialize was not called on Root Controller. Regards Philippe On Sat, Oct 11, 2014 at 11:48 PM, Philippe Mouawad < [email protected]> wrote: > Hello, > I think there is currently a big issue in the way IfController works. > The issue is located in GenericController#reInitializeSubController (only > called by IfController). > > This method was introduced to fix : > > - https://issues.apache.org/bugzilla/show_bug.cgi?id=50032 > > The Algorithm currently iterates of test elements following the next() > (used by regular sampling ) to get Controllers and reset them. > > The algorithm has many issues: > > - Stackoverflow whenever first child of IfController is a > LoopControler, a While Controller, even SimpleController provided it > contains somewhere a WhileController or LoopControler.... > - It triggers notifications of Listener (which was workaround by > introducing ThreadContext#isReinitializingSubControllers) breaking > TransactionController > - It also hold a performance issue as we in fact need to iterated on > children of Controller to find Controllers and call > reInitializeSubController() on it > > > Related bugs are the following: > > - https://issues.apache.org/bugzilla/show_bug.cgi?id=50032 > - https://issues.apache.org/bugzilla/show_bug.cgi?id=56160 > - https://issues.apache.org/bugzilla/show_bug.cgi?id=52496 > - https://issues.apache.org/bugzilla/show_bug.cgi?id=53768 > > > > -- > Regards. > Philippe M. > @phimdot > -- Cordialement. Philippe Mouawad. Ubik-Ingénierie UBIK LOAD PACK Web Site <http://www.ubikloadpack.com/> UBIK LOAD PACK on TWITTER <https://twitter.com/ubikloadpack>
