[Rabbit-dev] Request-URI Too Long
mindas at gmail.com
Mon Jan 3 19:38:02 CET 2011
On Mon, Jan 3, 2011 at 6:13 PM, Robert Olofsson
<robert.olofsson at khelekore.org> wrote:
> Seeing network data would be great, but I guess it can be hard to get it.
This occurs rarely enough and the overhead would be big, but if I
wanted to log complete set of headers for every request, what would be
the best way to do this?
>> This error seems to be coming from HttpHeaderReader:144. I can see a
>> TODO around here, but not quite sure if this is a placeholder for a
>> better implementation or just a corner case which is not clear how to
>> handle properly.
> Ops, guess I forgot to remove that TODO when I actually made the
> buffer grow.
So you're saying that buffer should be capable to grow indefinitely?
I haven't debugged this, but is the exception not always thrown (in
HttpHeaderReader::parseBuffer) if isUsingSmallBuffer(buffer) returns
>> I would even be willing to recompile Rabbit myself using larger buffer, but:
>> 1) would it solve the problem?
> Probably not, since rabbit actually does grow the buffer (at least in
> some cases) it is probably a bug in the code.
What I could do is to add some debug code just before the exception is
thrown so this would allow me to avoid logging all headers.
I am just not sure if all necessary information is available at this
point. Do you have any tips on what debugging code could be placed
> It might make the problem occur less often though, so go ahead and try.
> Switching up to 8kB buffers by default should not matter much.
I'd rather leave it as it is and try to get down to the root of the problem.
>> 2) is there only one place where the buffer size is set, or are there more?
> It is set in one class only, in CachingBufferHandler.java.
I can see number 4096 being repeated at least three times in this
class (methods: isLarge, putBuffer, getBuffer). I would assume all of
these would need changing, right?
Thanks for your response Robo.
More information about the Rabbit-dev