On 03/07/2006 07:19 PM, Mladen Turk wrote: > Plüm wrote: > >> >> >> First: I am the author. >> > > Cool. Did someone ever told you to that you > need to fix your mail client ;). > I hate your AW:AW:AW...
Sorry I forgot to remove. Stupid Outlook at work. I don't use it outside as you may notice. > >>> >>> I would love that we remove the FLUSHING_BANDAID from the code >>> because it concept breaks the AJP protocol specification. >> >> >> I do not understand how this breaks the spec. There might be reasons >> to handle this differently, but I see no violation of the specs. > > > AJP is packet based, so you can not depend on the fact that the > flush will happen only when the server is busy, and that is what > your patch is doing. Sorry for being persistent on this point. I admit that it does not always do the right thing because it needs to 'guess' that a server that sends no further data wanted to flush it. OTH the server may send data continously and may want to flush it more often. This is all admitted, but I still see no break of the spec. Please point to the part of spec where it gets violated and I will never get back on this point :-). Don't get me wrong: If I do not understand the spec correctly I want to know where to have a better understanding of it in the future. > > We need explicit packet flushing until we extend the AJP > protocol with something like 'FLUSH'. > > Further more, your patch slows down the mod_proxy_ajp by 10%. Really that much? Astonishing, given the fact that it only adds a apr_poll after each processed SEND_BODY_CHUNK. I wasn't aware that apr_poll is that expensive. > >> The flushing bandaid simply tries to detect whether it needs to add >> a flush bucket or not after the data of *one* packet has been added >> to the brigade. > > > That's wrong. We don't have flush for AJP, and the only solution is > to eaither flush on each packet, or never. I still do not see why this is wrong, but if you like, feel free to remove the bandaid. Don't get me wrong: Its not that I try to divert work in this case, but I do not know if I have time to adjust the code until the weekend or on the weekend. But if you remove the code please add the flush=on option for the worker as you have proposed, such that mod_proxy_ajp flushes after each AJP message. People really rely on the possiblity to have some sort of 'early' flushing, whether its after each packet or the flushing bandaid. Regards Rüdiger