What's the status with mod_proxy ?

It seems this kind of change would break backward compatibility, and if this
happens - maybe it's better to fix the protocol marshalling limitations or
change it completely.
I hate the idea of patching an old and mostly broken marshalling model.

The only thing we still need is the alternating client/server role using a
single tcp connection. For the actual marshalling, there are plenty of
better choices - with more extensibility,  self-describing, easy and fast to
parse, etc.
Examples:
- json
- http://www.caucho.com/resin-3.0/protocols/hessian-1.0-spec.xtp
- yaml.org
- wbxml if we want very compact representation

( every time someone is discussing extending AJP I feel the need to point
that ajp is a very old and not so well designed protocol, it was not
supposed to live that longer and there is no need for a proprietary,
tomcat-specific marshalling mechanism )

I realize that replacing the serialization code would be a large effort, but
I think using a proper format, with existing implementations ( to allow easy
testing ) is far simpler than patching ajp and having all kind of
workarounds and tricks.

Costin

On 7/9/06, Mladen Turk <[EMAIL PROTECTED]> wrote:

You see how desperate I am when writing this on Sunday :)

Anyhow, we are pretty close to the new JK release that I
hope will be the most usable and stable whatsoever.

The things we agreed so many times before, but having
obviously too little resources to actually create are
the 1.3 branch (aka JK3) and the AJP protocol stuff.

Now there is the problem with that. Henri even created
a AJP1.4 protocol enhancements with all that login,
discovery etc... (never implement but thats another story).
Although we got close to the AJP 1.4 protocol conclusion
last year, nowadays all that looks strange to me.
All those things might be implemented, but IMHO only
as a AJP1.5 protocol.

What we desperately need right now are 3 things:
1. Allowing to have +8K headers
2. Allowing to have +0x9999 single header limit
3. Mechanism to tell the Tomcat to gracefully close
    the connection.

Now, the number 3 is very easy. A simple message
like we have for SHUTDOW, but instead shutting down
the entire Tomcat instance, closing down the socket/channel.

OTOH first two are little bit tricky :)
I have some ideas:
1. Larger headers can be treated as we handle the POST data.
    If there are more headers then 8K, then a servlet container
    should send GIVE_ME_MORE_HEADERS message.
2. If the single header is larger then 39321 bytes, then it
    should be send as POST data, with servlet container requesting
    8K packets. Those headers would be treated as multiple POST
    sequences, after the initial header(s) packet(s) have been
    read and before the actual POST data is read.

Any comments?

Regards,
Mladen.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to